I’ve often been struck by how developers are keen to pigeonhole themselves. I guess it’s human nature to want to specialize in some arcane area and then become the resident expert. If I had a dollar for every programmer who has told me he’s a "GUI specialist" or a "database guy," I’d have retired long ago!
Is it a good idea for a developer to specialize? Here’s my theory: Specializing is a good idea, if it’s done in the right way. This question is actually part of a bigger issue—that of moving up the value chain.
My Digital Short Cut eBook Moving Up the Value Chain deals in depth with the general topic of moving your career up the value chain. But in this article I want to explore a little how the issue of moving up the value chain is relevant to all of us as technologists. (The eBook also applies to non-technical workers, but this article is just about us technical folk.) This topic is particularly relevant now that skill sets have a much shorter shelf life than they did 5–10 years ago.
What Is a "Value Chain"?
We all interact with many value chains, pretty much effortlessly. When you go to your local or online bank, you’re using well-established services that are provided by a range of complex systems and policies. Organizations such as banks are excellent at screening the underlying complexity of their operations—in other words, their value chains. All organizations achieve their aims using a range of more or less visible value chains. In any given organization, the sum of all the value chains represents the overall total of all the skills and jobs required to create the output. Typically it isn’t a simple chain, because jobs and other activities overlap and interact. So it’s useful to think of organizations as consisting of multiple value chains.
For a number of reasons, you might think that you don’t need to move up the value chain in your organization:
- You hold a key development position in a successful organization.
- You’re extremely busy just trying to get through each day.
- You have special knowledge of some technology (BPEL, web services, C#, etc.).
- Your boss has told you that you’re indispensable.
I discuss the above points in Moving Up the Value Chain, along with the general argument that the world is rapidly transitioning to a global economy. This process is driven largely by corporations, which are happy to cut costs wherever possible in order to keep prices down. (Naturally, we consumers also play a role in pushing prices down; by demanding lower and lower prices, we contribute to the race for globalization.) Many companies reduce prices by downsizing, so it’s a good idea not to become complacent about your skills.
Let’s look at what constitutes the programming value chain.