Artificial intelligence and the future of programming

Artificial intelligence is here. It’s in our homes, our pockets and handbags, and it’s creeping into our workplaces. It’s been able to best humans at board games since the 90s, and it’s not half bad at quiz shows, either. As AI continues to grow, the limitations on what it can do are shrinking.

Recently, AI has grown capable of more creative pursuits, such as drawing pictures and composing music. It’s completing increasingly difficult tasks, and every advancement sees it encroaching further into the roles of human employees. Now, not even the programmers of this very AI are safe from automation anxiety. AI isn’t just getting better at recognising a photo of Susan from HR, it’s writing basic code, too.

But does this mean that AI will replace programmers completely?

An anxiety, not the truth

Artificial intelligence and automation have been causing anxiety in the workplace for a long time. The continued advancement of artificial intelligence and automation hasn’t done anything to quell these fears, either. Instead, advancements in the field have caused more and more workers to fall foul of automation anxiety – the fear that we humans will soon be replaced with robots.

The fear is understandable enough. After all, AI has steadily worked its way into our job responsibilities and business processes. From artificially intelligent chatbots supporting customer service teams, to automation powering tedious day-to-day processes, AI is integrating itself into more businesses across more roles.

And it’s not just administrative areas that AI is tackling. With AI rapidly learning to write code over recent years, programming jobs are also primed for disruption.  

A programmer, not a human?

The notion that coding is exclusive to humans is expiring. Today, increasingly clever AI programs are being developed that specialise in writing code. One of the most notable of these is DeepCoder, an AI program developed by Microsoft and Cambridge University. DeepCoder is not only capable of coding by harvesting code from a vast database, but it is capable of learning, too.

This leads to the classic, fear-driven question: if AI can code already, what’s to stop it from taking over from its creators? It’s been predicted that computers will be capable of replacing programmers by 2040. In fact, the fear that AI will replace programmers is one of the top worries in the profession, with 29% of programmers citing it as their biggest concern in 2016.

So, does this mean that AI will one day replace programmers? Will we see AI coding new AI, while humankind is suppressed by our new robot overlords? Unlikely.

A tool, not a replacement

As with many instances of AI and automation so far, the capabilities of the technology have been blown wildly out of proportion. AI simply isn’t something that you can install, turn on, and leave to its own devices. Just look at Microsoft’s Tay, the AI bot that quickly turned offensive when left to learn on its own, for example.

Behind every great technical innovation, there’s a team of great programmers. These programmers might be assisted by AI, but only as a helpful tool that speeds up their work – like test automation, or an open source library.  Current AI is no more capable of replacing programmers than a calculator is capable of replacing a mathematician. It assists, but it needs input and direction.

The hand that feeds AI

Any kind of automated function needs a real employee behind it, monitoring progress, fine-tuning processes and handling the decision-making. For AI systems to be capable of ‘thinking’, they need to be continually trained, and continually fed with huge banks of data.

Programmers are the hand that feeds AI.  It’s improbable that they’ll get bitten anytime soon. Although AI can write code, it hasn’t got the capacity to ensure that the code it’s writing is the right code. It doesn’t understand the business value of features, and it isn’t struck by late night inspiration to remove a pointless interface element. In the case of programming, AI needs people to tell it what to create.

The future of programming and AI is one of integration; a symbiosis between human and computer.  Far from replacing programmers (or anyone else), AI is becoming ready to reimagine a developer’s workload through integration and controlled use.

Redefining rather than replacing

Just as it will countless other jobs, AI isn’t looking to replace programmers, but to redefine their workload. It’s set to rejuvenate our idea of what it means to be a programmer. It will relieve us of the tedious, repetitive tasks that distract us from the important work we want focus on. Like, for instance, inventing the next great product , or deciding what new features to include.

In other words, AI will improve efficiency. Developers won’t be forced to robotically wade through a to-do list of busywork (we can leave that to the actual robots). Instead, focus will only be placed on the tasks that are most important.

For example, a Zurich-based AI program called DeepCode is available as a tool for programmers that’s like a spellchecker for writers. It’s not replacing anyone, but it is helping make their job a little bit easier, and less time consuming.

Still in control

It’s easy to forget that AI only ever does as we tell it. Yes, in the future, artificial intelligence like DeepCoder could handle a programming job. But, human input will always be essential.

It’s far more likely that AI will continue to be a tool to optimise workflows across jobs, including programming. As it advances, it’ll become more useful to us, not a science-fiction bogeyman waiting to take our jobs before we are willing to give them up.

Please note: we originally published this article here: