To me it seems ridiculous that employers can require such an amount of breadth and depth of knowledge. I think this is a fascinating question regarding the pursuit of software engineering. But to hold yourself to the standard of having this in order for career advancement, I think there are easier ways.
Maybe that, or I am simply naive.
As my distributed systems teacher used to say: don't be scared by new terms of concepts in computer science. When you think fundamentally about what things are, you will realize that, most of the time, it's a concept that is similar to something you have learned before, if not entirely the same.
> To me it seems ridiculous that employers can require such an amount of breadth and depth of knowledge.
To be quite honest, those are generally nice-to-haves instead of must-haves.
Yet, if within a pool of 20 candidates there are 2 or 3 which fulfill the nice-to-haves, obviously they are going to stand out among their competitors.
If you need to fill in positions and you stumble on a candidate that meets all your requirements, are you going to pass him over to pick the inexperienced candidate who has zero experience with your tech stack?
Maybe that, or I am simply naive.
As my distributed systems teacher used to say: don't be scared by new terms of concepts in computer science. When you think fundamentally about what things are, you will realize that, most of the time, it's a concept that is similar to something you have learned before, if not entirely the same.