Thursday, April 12, 2007

Economics of a Software Developer

This is all obvious stuff, but it's interesting to break it down into basic principles. As a software developer, I make money by supplying a product or service in exchange for cash. I build someone a website, they pay me money. I'm able to do this because there are plenty of companies who want websites, which creates demand for my skills. Demand increases when there are more companies and fewer developers, then I can become a scarce resource and charge proportionately more for my services.

It's a standard way to make money in a competitive free market. I studied software engineering partly because it was a growing industry with increasing demand for skills. So did lots of other people, for similar reasons, which increases supply to meet new demand. Now there are loads of companies wanting websites, and developers willing to build them, so lots get built, mostly at a fair market price. It's a mutually beneficial arrangement (note for middle managers: "win-win situation").

The market controls what developers can earn, and there's not too much we can do about it. That is, unless someone upsets the equilibrium by either creating more demand or reducing supply. Hmmm...

One option would be to artificially shift the web market into a new apparent niche. Someone could create an new generation of products and services that are available from only a few specialized providers. Business managers can read the press releases (carefully reworked as objective articles by trade magazine journalists) and the hype would be convincing. Customers don't need to completely understand the niche - SOA, Web 2.0, OOP, XML, WAP - but they're now too frightened their competitors will get in first. All you need is to repackage and rebrand existing trends and technologies, and present them as something new. The result is that some developers can now charge much more because everyone wants new generation products, and not many suppliers can yet provide them.

Looking at it from the other angle, another slightly sneaky option is to throttle supply. Maybe by persuading other developers in a particular market to specialise in other technology. If my competition is saturated by, say, .NET developers, then I could try convincing them that .NET is becoming obsolete and they should move into something else. If someone were particularly Machiavellian enterprising then they might post fictional competing job adverts with large salaries, alongside some comparable .NET jobs with stingy pay. Propaganda pushes competitors out of the market and demand goes up again.

1 comment:

Chris said...

It's a type of Prisoner's Dilemma for the two companies wondering whether to advertise or not (although they're not technically allowed to both choose the cooperate option). Intriguing how often this actually turns up in real life, considering how theoretical its study starts out.

Watch Martin Nowak's Why We Cooperate lecture here if you're interested in finding out more on this: