Thursday, August 09, 2007

Getters and Non-Getters, blah-de-blah blah

A while back, I wrote a response to a Scott Hanselman post about 6 things I learned about programming during and after college.  It was late at night, I was rambling on (those of you who know me must be SHOCKED), and I hit the old "Post" button without so much as a cursory re-read of the post.  In hindsight, it turned out to have much more of a negative tone than I would have liked.  I kept returning to the theme that there are programmers who "get it" and those who don't, and even more cynically, that those who don't get it never WILL get it.  It's not so much that I think the root idea is incorrect - I am not the only person to suggest this - it's that I came off sounding pretty grumpy and elitist.  While I do think there are a lot of people that have the job title "programmer" but really aren't cut out for it, as Atwood suggests above, I don't think you can polarize programmers into two distinct categories and declare that they shall never cross boundaries!  Everyone knows that there are two kinds of people in the world:  those who think there are two kinds of people in the world, and those who don't.  I'd much rather be in the latter camp. 

I got to thinking about this again recently when I came across a series of posts by Fred George about skill levels in programming, particularly grouping programmers into Apprentice, Journeyman, and Master categories.  The key point was that to move up the skill ladder you have to learn from someone above you.  And if all the Journeyman and Masters have it in their heads that they just "get it" and the Apprentices "never will" then opportunities to create the next Masters will be missed.  I think that most Journeyman and Masters realize that they have learned the most from people that are better programmers than they are, and that life is a lot easier if they can help other programmers around them become better programmers.

Update:  I guess Steve and I have similar blogrolls.