Joel Spolsky sure kicked open an anthill with his article on The Perils of JavaSchools. Most of the reactions that I have seen think the article is about Java vs. C++, which means that people are missing the point entirely.
Joel is writing about how he interviews developers, and how the starting point has changed. He likes to hire developers who have an excellent understanding of how the computer works, not just how to connect the dots. I whole-heartedly agree with him on this point. When I’ve interviewed developers, very few grasp the basic concepts of *WHY* programs work the way they do. They know lots of buzzwords, but very little substance. It’s always a challenge figuring out ‘what someone knows’ vs. ‘what someone can talk about’. A couple of jobs ago, I worked with someone who really could talk about coding and the technologies involved. From our conversations, he *REALLY* understood it. But, when he actually tried to do any work, he couldn’t code to save his life. How do you weed out those people?
On a different tangent, there are a couple of EXCELLENT links in Joel’s article. The link to the textbook Abelson & Sussman’s Structure and Interpretation of Computer Programs and the accompanying video lectures are AMAZING! Last night I watched just the intro. Super cool. I really ‘got’ what was being talked about. I look very forward to going through the entire course…