I recently witnessed a debate about “agile development” and the fact that you need more generalists than on “waterfall projects”.
Such generalisations make me always angry. My impression over the last years is that it’s mostly the people with the broadest knowledge, who are also familiar in depth with the technologies they are using. While the so-called specialists are mostly people, who only know a single trick (recently met a “build specialist”, who used VB-script and didn’t know that there’s a debugger for it).
I think there is more of a good engineer vs. idiot divide.