Jim Fawcette, president of Fawcette Technical Publications, talked in his most recent blog entry about the decline in programming jobs and wages, which he attributes to a combination of offshoring and the increasing productivity of developer tools. He goes on to cite productivity improvements in Visual Studio as a bad thing, based on the idea that if one programmer can do what five programmers used to do, that four programmers are going to be sent packing without jobs.
I think that he’s wrong. He’s basing his argument on the assumption that there’s a fixed amount of programming to be done, and that we’re at capacity. That assumption doesn’t make any sense.
There is a crisis in the software industry, and has been for a long time, which is that we can’t develop software fast enough. There are all kinds of problems we still need to solve where all of the pieces of the infrastructure except the software are in place, and we’re just waiting on having sufficient development capacity to create the software.
Let me give you a few examples:
There is no shortage of potential software projects that could solve real world problems, with real payoff, that would be worth more than enough to pay good employee salaries to every reasonably skilled programmer in the world.
Increasing the worldwide capacity for developing software is a good thing. Increasing it by increasing the number of skilled engineers in the world is good; increasing it by increasing the productivity of each of those software engineers is good. We are a very, very long way from a world in which a dollar invested in software development won’t generate a return of many times more than a dollar. We are not at capacity. And I, for one, am thrilled that we’re starting to make progress on breaking through the bottleneck.