Ah, yes… The age old debate of whether to specialize in a specific technology or skillset or to be a generalist who has a superficial understanding of many different technologies…
Honestly, I don’t think there’s even a debate. For real-world problems, you need someone who can have a deep understanding of how to architect a solution while still being able to have a big-picture understanding of the underlying problem being solved. In other words, you need someone with specialized knowledge/skills AND a general background in other overlapping areas as well.
For me, most of my ‘depth’ is (currently) in .NET and SQL, while the ‘breadth’ of my knowledge also encompasses IT operations and security.
I do occasionally see job postings for people seeking ‘generalists’, but I usually assume it’s a small understaffed company. But do they really need someone with a general understanding and familiarity with the technology stack or would they be better served by a specialist in one or two of the core technologies, with enough adaptability to work on the others as well? My instincts tell me it would be the latter and they either don’t realize it or don’t think they’ll find it. In either case, those positions also tend to mention being on-call, doing first-tier IT support, and all sorts of other red-flags that make me stay far, far, far away from them…