I’ve been in the software business my whole career, so I’ve spent a lot of time recruiting software engineers. Good ones are hard to find.
This supply-demand problem has, predictably, led to the rise of outsourcing firms specializing in selling offshore software coders by the metric ton, and to “code academies” springing up everywhere, claiming to be able to turn an unemployed factory worker into a highly-employable coder overnight.
But I think we’ve reached peak code. From this point forward, coders will be in decline. We’re now entering the era of the Stack Stitcher.
Today, building powerful software applications is less about writing new code and more about stitching a technology stack together using the incredibly powerful code libraries and services that already exist. A gifted Stack Stitcher can create powerful applications that involve deep technology such as AI, machine learning, voice, and image recognition, all by stitching together powerful services from AWS, Google Cloud, and Azure, etc. This dramatically improves time-to-market and reduces the coding team required to build and launch a comprehensive new software product.
In the year 2000 I founded a company to develop a niche-market enterprise software product. I hired thirty expensive software engineers, I hired a few very expensive software engineering managers, some assorted SysAdmins and database administrators, and we bought $1 million worth of servers. The team churned out millions of lines of Java code over the next couple years and then — after two years and $5 million invested—we released our first enterprise software product.
Today, I could literally build that same product in a week. A few clicks on AWSand $100/month would create the same server infrastructure we paid a million dollars for 18 years ago. Another couple clicks and I could add Amazon RDS, replacing the need for database administrators and ad hoc SQL queries. Elasticsearch would provide 100x the power of the custom search we built back then. A simple free CDN would reduce media latency across the globe. We could connect TensorFlow and suddenly have AI and machine learning in our new software. Rekognition API’s would add image recognition into our product, and maybe we’ll even toss in the ability for people to operate our software using their natural voice, using the Alexa API and libraries.
I’d end up with a comprehensive technology stack for my new software application, leveraging millions of lines of code written by experts who are not on my payroll – and I wouldn’t have to write a single line of code myself. I’d just need to be good at stitching together the stack. Today I need to be a Stack Stitcher, not a coder.
A whole new paradigm has arrived.
Perhaps most profoundly, this new paradigm will lead to new ways of structuring teams. Since the dawn of computers, the software development model has been around teams with a few domain experts and a big crew of coding engineers. So, for example, if you wanted to develop accounting software, you might need 5 accounting experts and 50 software engineers.
Today a working application can be built with one domain expert and a brilliant stack stitcher or two. That’s a step change. A big one.
The demand for good software engineers won’t be going away, of course. Someone still needs to write and maintain all those code libraries and AWS services that we’re now harnessing.
But in application development, the individual who can bring the most value will be the Stack Stitcher, not the coder. We’re entering a whole new era.