Another thought on recruitment
Following up the agencies rant - in the knowledge professions, as software design/development/architecture undoubtedly is - I find attitude more important than the hard technical knowledge.
If you hire a guy which really want’s to learn and allow you to mould him in what you want him to be for the organisation - he’s much more valuable than even the best specialist, but sticking to His Own Ways.
I’m not saying that the experts’ Own Ways are in any way bad or anything - this is the lack of flexibility that I’m talking about - and the willingness to adapt.
My point is - having a guy keen to do “cool stuff”, who doesn’t know (for example) the thinking behind OO paradigm might pay off. After all, it should be sufficient to actually demonstrate to him what’s that about and go through some real life examples together - any smart guy should grasp that knowledge in a short time, and imagine what - that investment not only increases his knowledge, but also motivation to work!
You can’t just “get people to do stuff”, you have to give them opportunities to say: “I can do better!” - and then to actually achieve that.
That achievement takes time and space - but you end up in a win-win situation, having people who want to push forward - and have the know-how.