Can we recognize that your bachelor's degree is just a starting point, that leaves you fundamentally unqualified for many tasks, and you'll have learn (via painful experience, apprenticeship [if that is emotionally possible for Gen Y/Z], or self study) many things to become a journeyman software expert?
Do you need to understand the basics of algorithmic complexity? Yes. Do you need to be able to write a compiler? No. (It's useful, but unless it is your major, no, and you can learn it later.) I would trade off compiler design for a software configuration management course. Should you understand some crypto basics? Yes. But I'd rather employ someone who understands TLS and PKI than someone who has written a toy project to implement a cipher.