Karlos wrote:
Anybody can learn the features of a language, design patterns and a myriad of other techniques and paradigms. Knowing when and where to use them is what makes the difference between a bad developer and a good one.
Not quite, it's what makes the difference between a manager and a good developer ;-)