As a freelance contractor I interact a lot with recruiters and others who are trying to attract more software engineers to their organisation. The most frequent comment I keep hearing is that there is a huge shortage of developers in most fields. This has been stated so much that it is now considered a fact. I want to challenge this, and I wish you would do the same.
While I agree that there is a huge demand for more developers, it is not the same thing as a real shortage. The problem isn't that we have too few developers, but how organisations will always grow and create more work for themselves. This phenomenon even has its own name called Parkinson's Law. The demand for more workers will always increase, but the actual need for more workers in an organisation doesn't.
The solution to the perceived lack of developers is not to try to hire more, but instead to reduce the size of your organisation and become more focused. Let's see why this is and what this would mean for us working in software development today.
The multiplication of subordinates and work
In November 19th, 1955, C. Northcote Parkinson wrote an article for The Economist named Parkinson's Law (I highly recommend everyone to read this, regardless of what you work with.). He noted that work tends to expand to fill the time available for its completion, and referred to the increasing numbers of civil servants in public administration. Parkinson expanded on this and described two main factors to describe why organisations keep growing;
- An official wants to multiply subordinates, not rivals; and
- Officials make work for each other.
This was in 1955, long before we entered the digital age with tech companies becoming the most valuable companies on the planet. His "law" has also been supported in later studies, all showing that every organisation tends to grow regardless of their actual need for more workers.
"It is a commonplace observation that work expands so as to fill the time available for its completion."" - C. Northcote Parkinson
If we apply these factors to the tech companies of today we can quickly explain why a company like Spotify requires more than 4000 employees for running a music streaming service (there are plenty of competitors and companies with similar solutions with much smaller organisations). If you look at the popular tech startups and their employee count, you will likely see similar figures for services that would only need a fraction of that amount of workers they actually need.
In 2016, SCB (the official statistics bureau of Sweden) published numbers (article in Swedish) that showed that IT was the most common type of job in the wider Stockholm area. We have more people working in IT than there are nurses.
Parkinson's Law is useful to describe why there isn't a real lack of software developers today but still a growing demand. The illusion that we lack developers and that companies keep increasing their tech workforce is a problem, and eventually we will have to deal with this. The sooner we can kill this myth the better it is for everyone, and as a bonus we can start working more efficiently and produce better products.
The real problem with growing organisations
In 2008 I started working at Sony Ericsson as software engineer on the Java ME SDK. At that time we were several thousand employees writing software for the phones we were building. Soon after I started, I switched to a new team that worked on the new Android platform. We kept growing and more people were hired every day. But we never really succeeded in becoming a major Android manufacturer. Sony Mobile (Sony later acquired the other half from Ericsson and renamed the company) struggled with profits and performed several cuts in the workforce. I left in 2013, and today there are only a few hundred employees left in the offices in Lund.
This is not something unique and much larger layoffs have been done by other tech companies worldwide. With a few exceptions, large companies will keep growing until it is not economically viable anymore and they will start cutting down the workforce. When the companies have huge offices, as they usually do, it has a enormous effect on the community where they are based. A very large office in a small or medium sized city can cause drastic and really severe effects when it closes down, as it eventually will do.
Imagine the effect it would have if Google would drastically reduce the number of employees in Mountain View, or if Apple would do the same in Cupertino. Even Spotify, with maybe 2000 employees (I couldn't find the exact numbers) in Stockholm, would cause a significant disruption if they would drastically reduce their workforce here.
Compare this to smaller companies with at most a few hundred employees. These allow room for more companies in the same area. Some of these will fail, but that won't have the same drastic effect on the area. It's basically a practical example of the saying "Don't put all the eggs in the same basket.".
Large companies that keep growing is a bad thing. It stifles the possibilities of new businesses in the same area and it keeps worker from being productive.
As developers, who are in constant demand, we need to question these growing organisation which we belong to. Unfortunately, Parkinson's Law is not something we can easily solve. However, the sooner we all realise that we don't need thousands of developers to build most of the IT systems, the sooner we can start building more relevant software elsewhere.