A few months ago I was talking to an executive from a consulting company I respect. We were talking about doing business together. The executive pointed out that his company was known for across-the-board development, from concept to production, but they also wants to start more specialized practices, like security, big data, cloud operations, and project rescue.
Later in the summer, I read the same ideas as part of IBM’s new strategy in Cringley’s book, The Decline and Fall of IBM. It made me wonder – why does everyone want to get out of writing code?
It could be that IBM is taking a page from its own play book, exiting markets that are no longer profitable, just like it did with mainframes, PC’s, and laptops.
What does that mean for the rest of us?
Programmers as commodities
As products become more mature, they become more standard. Eventually, the only different between product A and product B is price, so you might as well buy the cheapest. We call this becoming a ‘commodity’, and it is the commodities market that allows free and easy trade of corn, sugar, rice and silver.
Thirty years ago a CS degree was rare; most people had entered the workforce before they ever saw a computer. Today things have changed – anyone can become a programmer over a weekend by taking a few cheap courses from uDemy, or Coursera. The developing nations – China, Pakistan, India, Vietnam, and others are churning out qualified programmers, while some European nations like Ireland and Estonia are trying to make custom software development an item of national pride.
That means more competition. More supply. Excess supply pushes down prices. Unless some innovation comes to intervene, the push becomes a price war, settling, eventually, to zero profit. It’s actually a bit worse than that: there will be negative profit for a bit, which will force some companies out of the market, reducing supply. Then we get to zero.
Circling The Drain – And A Way Out
I hope all the readers here agree that there is a drastic difference between a serious programmer, who considers the work a craft, a the hack doing the minimum to get by. Software developers aren’t actually commodities; they just look that way to institutions that have lost discernment.
IBM does have a problem, but, like Cringley, I’m not sure if they have a capability or credibility to compete and win in their “new” niches.
Forget about IBM for a moment. What about you?
One way out of the programmer career dilemma is to make the serious investment in life energy to be a full-stack developer. Another is to find ways to focus on solving problems, possibly for fixed cost, instead of titles and pay grades. Stop trying to be Software Developer IV; start solving problems in half the time with a tenth the staff. A third might be to expand into those niche areas that IBM is going after, perhaps inventing your own niche.
Whatever way you pursue, take heart: the ‘dime a dozen’ problem is not reality, it is perception, and perception can be fixed with education and outreach.
I do my education and outreach here, and at conferences and user groups.
What are you doing to change your corner of the world?