Saturday, December 31, 2005

Educated Plumbers

Joel Spolsky just released one of his excellent piece of wisdom, this one explaining how the great bargain of IT courses makes his life difficult when trying to select smart recruits. He is of course fully right but I feel like adding a few words.

First, the sabotage of education is not limited to IT: my wife being a math teacher, I can tell you that the level of what she is teaching is constantly on the down curve. It is like the attention span of young generations has narrowed so much that it is not an option anymore to dare exposing them to problems that need several minutes of reflection to be solved.

Second, it is certainly not wise to focus on a particular language when teaching the fundamentals of software development. In fact, when I recruit someone, I do not particularly care about what language she studied at school, the courses is more important: evaluating if the candidate has learnt to learn is the key point. Then I focus on language and frameworks only for particular projects.

Then, yes Joel, Java can be learnt in two days (like C#): what takes a lot of time is mastering the whole SDK, dealing correctly with multi-threaded environment and thinking object oriented. This takes years to learn, even for a master of C.

Finally, nowadays 90% of the programmers will spend their day on plumbing jobs: connecting beans to cryptic frameworks and deploying them on fussy application servers. They will not deal with writing core algorithms, so the average mind will show some convincing signs of success, until confronted to some serious problem. Then the difference between an educated plumber and a seasoned craftsman will show.