Almost a decade has passed since the famous venture capitalist Marc Andreessen famously declared that “software is eating the world.” Subsequent years have proved that his observation was a retrospective one, and the software developers driving this phenomenon have risen to the top of the proverbial food chain.
Now, though, it’s becoming increasingly clear that they’re on the menu, too. Will evolution eventually make itself obsolete?
an Inconvenient Truth
The ever-increasing technological capacity has forced workers in nearly every industry and sector – engineering, government, insurance, manufacturing, and many others – to grapple with the possibility that they may soon become obsolete.
As the technology landscape continues to change (thanks to constant innovations and advancements in areas such as cloud computing and the spread of the DevOps movement), tech companies have historically struggled to fill the human workforce that is increasingly being automated. Huh.
Applications that used to require a plethora of hardware servers – and people to monitor and maintain them – can now run entirely in the cloud. It used to take a whole team of programmers and testers to build, test and deploy a new application.
Now, cloud service providers like Amazon Web Services have adopted the DevOps approach and automate a large part of the process with infrastructure in the form of code – or IaC. A deployment process only needs to upload a configuration file to the platform. The file can be customized to be deployed in a specific environment with all its dependencies to function seamlessly.
Programmers may continue to debate the merits of cloud development versus traditional software development, but those debates are likely to lose relevance soon.
With the advancements made by cloud providers, coding in the future will look very different than it did in the past. As cloud providers continue to struggle for market share by making the cloud more accessible.
More convenient for users, rather than programmers having historically required programs with more functions will demonstrate programming expertise.
Coder as an Architect
Software developers still play an integral role in the development of applications – for now. But the development of cloud computing offers a glimpse of what is to come. The nature of development is changing. It is still focused on writing applications, but the need for new applications is decreasing, and it will change coding in the future.
Soon, the developer’s role will no longer be to build applications anew.
Instead, developers will be primarily responsible for streamlining calls between various pre-existing services, writing code that ties them together to build custom applications.
Already, cloud platforms have removed the need for developers to build routing functions into their programs. For example, Amazon API Gateway is a service that lets you create a secure REST API that allows your application to access any amount of data with a simple GET request from anywhere, anytime, on the web. provides. The cloud provider handles all the routing and related logic.
As companies continue to invest heavily in machine learning – and they do – they are able to build intelligent routing processes that eliminate even more developer work. So what does this mean for the future of developers?
a glimpse of what’s to come
Artificial intelligence-powered coding programs are already in development at places like Stanford University, and programmers around the world are looking for ways to create software that does what they can — only better.
For example, the computer scientists behind the Bayou program have used a process called neural sketch learning to create an AI that can read massive amounts of human-generated code and discover the intention behind each line. .
Software will continue to replace hardware processes, and technology workers – especially coders – will have to adapt to interact effectively with an intelligent web of cloud-based services.
Today, developers identify themselves very closely with the practice and process of coding.
However, within the next five to 10 years, their identity will become more focused on building solutions from various different services written by software systems. Developers will no longer write code – they will put together pieces already written to create solutions and solve problems.
Today’s software developers have to learn to be the solution developers of tomorrow. As machines become more and more intelligent, writing code and programming will continue to be a commoditized skill set.
But the ability to solve problems is (and always will be) valuable. The future of developers depends on their ability to think beyond the code. Knowing which services to write to get answers would mean less while knowing what questions to ask to find solutions would mean more.