I often hear people talking about how they look for software “generalists”. I tend to think the term is somewhat misleading. I think it’s mostly used to contrast with “specialists”. The old breadth vs depth thing.
But you don’t want people who will only have shallow(er) knowledge of lots of areas. A bunch of people like that will only increase dependents on actually having specialists around. No, the people you want are the ones that can become specialists on demand. And those who are willing to, once acquiring a specialist’s level of knowledge, put it aside and go dive into a totally different problem.
The pluripotent stem cell of a developer, if you will. Sure, sometimes it’s inefficient, but with things always changing so quickly, it’s rare for anyone to be working on the same problem for any long period of time anyways.
You can have a giant cannon that shoots precisely and does lots of damage. But if the thing can’t turn quickly, then it’s never going to hit a moving target.