Specialists Need Not Apply
This job posting from Nat Friedman got me to thinking, along the lines of my previous post. Here’s the bit that got my mind working:
Keep in mind that we’re not looking for specialists: we’re a small team, and we need people who are willing and happy to shift gears whenever necessary.
It was implied in my previous post, but I didn’t overtly state it: The worst thing that can happen to you as a programmer is to become a specialist. There are very few things you can do that will do more to damage your career potential than to only have expertise in a very narrow set of skills
Becoming a specialist could take many forms. It could mean being tied to a specific language, a framework, a part of the application stack, or a specific tool. I often see it in people who have only done the server component of web applications – they’ve never really coded a user interface. Sometimes it’s .NET developers, who know how to develop web applications, but only using the Microsoft “Drag and Drop” toolset. If you handed them Notepad and told them to code something, they would stare at you blankly.
One of the best things you can do for your career is to be a generalist. Develop a broad set of skills in a wide variety of tools. Become adept at picking up any technology you are handed and becoming proficient at it quickly. Learn as much about as many things as you can. This makes you rare, and very valuable.

