The robots are coming for web programming. And coding schools will soon be obsolete. Even an engineer admits: with increasing automation, technology will soon replace the majority of tech jobs themselves.
I have a friend who can see the future. We were talking a few years ago about how far tooling and automation had come along in software engineering. He suggested that, in the very near future, there would be only two jobs in application development: user experience design (UX) and data science. Everything between would be automated. I was a bit skeptical at the time, but I have since come around to his point of view.
Since the first dot-com boom, there have been three specialized roles in web development: engineering, product management and UX. Engineers tended to be responsible for the data and functional layers while UX roles built the user interface. Coordination between them, and responsibility for the business overall, was managed by product managers. Students graduating from coding schools have been taught to think in these terms, and build apps that reflect this architecture.
Today, we see a different picture. We’ve reached the point at which most web application programming is configuration. You configure tools, infrastructure and, frameworks, all mostly through the browser or in source control. What we used to build by hand is all available in package form now. Essentially, the job of today's developer is simply tying everything together. But how did we get here?
Sometime in the last five years, web architecture began to change. APIs, which even non-techies are coming to appreciate as the glue that binds the Internet, have enabled data sharing and application ecosystems on an unprecedented scale. Modern applications are now designed explicitly to share data with other systems, or to be extended in ways the API authors never intended. This is really “Open Source,” evolved to its next logical and glorious level.
Cloud services like Amazon Web Services (AWS) make it possible for any development team to build and customize their own IT infrastructure. DevOps (a mash-up of Development and Operations that is basically shorthand for "We do our own Ops now") is quickly erasing the need for a dedicated IT Operations department. The bearded wizards, who in the past spent their days crawling under desks, playing with network cabling or racking servers, are rapidly disappearing. They were gatekeepers to the application developers, controlling when and how our code would be deployed to production. Now, we can control everything through the AWS console.
As an engineer, it’s not difficult to envision a future in which I can build an application in minutes, essentially with drag and drop, plugging components together in a browser-based configuration system. (Think IFTTT or Zapier, but for application development.) In such a world, there isn’t a market for the old custom web application developer anymore.
Since the beginning of modern computing, each wave of engineering innovation has automated low-level tasks. Over time, high level and manual intensive tasks eventually become low-level tasks and modules. We moved from programming in assembly to the general programming language, from procedural programming to object-oriented programming, from hand-built servers to virtualization and cloud computing.
Now, we’re moving a level up again. The only jobs in application development soon will be data science and customer experience design. Everything between them will be commodified.
(Top photo: Courtesy Getty Images.)
Sam McAfee is a cofounder of Blackwillow Studios, which builds popup incubators for enterprises undergoing digital transformation.
All views expressed are those of the author.