Philip Greenspun…
…is someone I hadn’t heard of until I read this very amusing post: Ruby on Rails and the importance of being stupid. The comments are every bit as interesting as the article.
I like his economic thinking too, with obligatory reference to the excellent The Forgotten Man, which I am now “reading” (ie, glancing at, half-finished, on my desk).
I was a physics major, not a computer science guy. Turns out physics is great training for the problem-solving that programmers do. I was surprised by what Philip had to say about computer science, not least that most CS graduates are not good programmers and that MIT apparently doesn’t offer a course on databases?
Having not taken CS, I’ve wondered what they teach. Is it low-level how-does-RAM-work type stuff? Because most of the practicable skills I see in programmers come from experience, even if they have the degree. Seems to me a person with a technical mind, motivation, and a grounding in math could become a very good programmer in about two focused years.
To be a great programmer, s/he would also have to be a linguist. :)