The world is moving at a faster pace than it used to. Okay, technically the velocity with which the earth revolves around its own axis hasn’t changed much. However, life on that moving spheroid keeps speeding up. It was normal to wait weeks or months before your mail arrived by horse and carriage. Now, we get annoyed if there is a delay of one hour when we expect a package.
Remember how long it used to take to fully download a picture with a dial-up connection? Maybe you know from experience how much longer a journey took after one wrong turn without a navigation system. Or just imagine the hassle of filling out your taxes manually, with pen and paper. Yes, humankind spends a significant amount of time on innovations that make things simpler, faster, and more convenient.
This increase in the speed of everyday things is directly reflected in the demand for programmers. We want things automated and this requires software. Nowadays, in the mind of most managers, only programmers are able to create software.
These programmers convert all the manual processes that we want to automate, and the demand is much higher than the supply. Programmers just can’t keep up. To put this in numbers: The demand for custom-made software has increased by 25% each year, in the past five years.
Luckily, there are more programmers in the making. In 2020, it is expected that in the US alone, there will be 400.000 newly graduated software engineers. Quite a number, right? When we look at the expected job openings in the programming field however, this number is quickly put in perspective. Why? Because in 2020 it is expected that the US alone has about 1.4 million job openings for software engineers.
These numbers are daunting. It means that the ever increasing pace of progression that we have become accustomed to, comes to a halt. Simply put: We don’t have enough programmers to further automate our lives.
We are not the first ones to signal this. To tackle the problem, IT strategists came up with several ways to be more effective. They thought up so-called agile methods like Extreme Programming (XP), Scrum, Crystal, Dynamic Systems Development Method (DSDM), Lean Development, and Feature-Driven Development. But let’s be honest, it was and is just not effective enough to fulfill the demand.
Then came code accelerating platforms. They claim to be the solution for the IT shortage because by using them, you code faster. So now you have a programmer, using a difficult program, to speed up programming.
Same as the iterative and incremental software development methodologies, code accelerating is a drop in the ocean. It will never be sufficient and therefore a complete waste of time.
What is the harm in needing to wait a bit before a new project is finished? Think of a world where there are plenty of disruptive initiatives. Ones that have already proven themselves to the point of scaling up. Those cool companies will be limited in their growth by the number of programmers they can afford or even find.
This means stagnation in innovations and growth of companies or programs like WhatsApp, Facebook or even Angry Birds. And these are just for fun. There are countless initiatives that contribute to a better environment or education that can only grow because creating software is affordable.
So needing to wait is a disaster for progress. Cool and disrupting innovations will stop rapidly succeeding one another. The only companies that can afford qualified programmers, will use this to keep their market share, rather than starting fresh.
I stated that we should stop increasing programming speed because it’s a waste of time. This does not mean that we should stop finding new ways to increase the production of software. It just requires a different mindset. When you look at the problem, it’s easy to put one and one together: There are not enough programmers so we need to make these programmers more effective. The thing is that just speeding up coding, will never meet the before-mentioned, enormous, demand.
The answer to this shortage, however, is not within the field of the developers. There is another, better and more sustainable solution: we need to make not only software, but also the creation of software a true commodity. Ensure that programmers are not necessary for every step of every software project. When you allow the business to create their necessary applications themselves, they can innovate fast.
Start with smaller automation projects that save both time and money and quickly prove their value. This way, making applications becomes fun and for everyone. Then, programmers can innovate with more in-depth and time consuming projects.
As with many solutions, while the result might be simple, the road to this solution is difficult, long and in the end, completely worth it.