A few years ago I joked with a friend that she should be in marketing because she had never read Lord of the Rings. I was joking as she's actually a pretty accomplished architect and developer, but it's been in the back of my mind for a while. When I was a youth, all the good programmers I knew were 2600-buying, RPG-playing (pen and paper, Nintendo, pc and mud), David Eddings-reading, Star Trek quoting nerds. These aren't your new fashionable nerds who go to the gym and know how to remove DRM from iTunes songs. These were real "afraid of girls" kind of nerds. The kind of guys who would come in over a week-end and re-write the entire app so it would be cooler (of course this is still the late 80s and early 90s so I'm not talking real programmers).

So as a youth I always equated technical prowess with nerdiness. Here's a very basic chart (showing elvish before the movies came out, so it was much, much worse). I got to grow up around pc shops when they were run by super nerds who built their own boxes out of computer shopper and let you borrow civ1.

But as I entered the work force, I started coming across programmers who were doing it for the money, not because it seemed so cool in an Arthur C. Clarke or William Gibson book. Now there are more competent programmers who wouldn't know Star Wars from Star Trek and don't remember Legos back when they were really cool and castle walls came in 50 pieces not one.

I guess this trend is a good thing. If you've ever tried to discuss design or functional testing with someone who hasn't bathed in 3 days and responds in Klingon you know how unpleasant it can be. I still think that someone who loves programming will outperform someone who just is in it for the money, but I guess you can now love programming and not be a nerd.