Sounds silly, right?
But it is interesting looking at something like the Dreyfus model of skill acquisition and pulling that through to software development and what I have experienced over the years. Now whenever there is a paradigm shift one inevitably goes back to the Novice level. The fact that one has been doing something A for 10 years may not count for much when I move to something B. I say may not because A and B may be related, so I may not end up way back on the Novice level.
I think the fact that software development is such an immensely broad field makes it terribly difficult to guage who fits in where. Coupled to this is the fact that software development is only a means to an end. That end is the automation of some domain that, in most cases, have absolutely nothing to do with software development: e.g. Accounting, Inventory, Steel Sheet Cutting, Medicine, Asset Management, etc.
It is also extremely difficult to convince someone that they are on the wrong path. Hopefully, you yourself are on the correct path, that is, at a higher level of skill.
Another obstacle is open-mindedness. Sometimes folks are set in their ways. They have no intentions to learn anything new since what they have gets the job done just fine. So maybe that is why like-minded individuals are required in very small teams to get the job done.