Artificial intelligence is coming to take people’s jobs.
According to one Oxford study, 47% of all jobs in the USA is likely to be automated by 2030. Even programmers – the people who actually build intelligent algorithms – can be replaced by the very technology they created. If AI can generate music, create art, and play chess, what stops it from writing code as well?
In fact, it’s already doing that.
What AI applications can write code?
Bayou is an AI application that uses deep learning to generate code by itself. It has been trained on open source Java code from Github. In a similar to Google search way, Bayou uses a few keywords to predict what program a software developer is writing and suggests the specific steps needed to complete it. The project is funded by Google and DARPA.
DeepCoder is another project in this area. Developed by Microsoft and Cambridge University researches, this AI app searches through a large code database to help programmers solve simple coding problems. For now, though, it can only build programs that consist of a few lines of code.
Ubisoft, a French game development company has also built a system that simplifies developers’ work. It’s called Commit Assistant and it’s an AI tool that helps programmers prevent mistakes in their code. It uses a huge software library to learn where in code mistakes have historically been made and how they were corrected. And then it detects a potential bug even before a developer makes it. According to Ubisoft, the effort that goes into fixing bugs in the process of game development takes up to 70% of project costs. Commit Assistant can save all that money that goes into fixing software errors.
Software development is expensive. And if technology can make it cheaper and faster there is no reason why AI code shouldn’t happen.
Well, there is one.
Evans Data Corporation conducted a survey of 550 programmers and found out that being replaced by artificial intelligence is the most worrisome thing in the software programmer’s career.
AI is there to help programmers, rather than replace them
Programmers very rarely build code from scratch. To write a program is a lot like to assemble a house from building blocks packaged as libraries and frameworks. To bond these blocks together developers use application programming interfaces (APIs). APIs help one software system interact with a specific operating system, database, hardware platform, or another software system.
A lot of computer systems today contain millions of lines of code and are way beyond a single person’s comprehension. Developers need better tools to navigate this complex and growing collection of APIs. And this is something artificial intelligence can help programmers do.
“AI will become much better at exploring problems and generating code that connects multiple APIs to solve these problems,” said Hebda. “Unlike people, computers are not driven by emotions. They don’t make syntactic or logical errors. They just need to be told what problem needs to be solved and that’s where we need developers.”
AI apps like Bayou, DeepCoder, and Commit Assistant automate some tedious parts of coding. They can produce a few lines of code but they can’t yet write programs on their own, nor can they interpret business value and prioritize features.
Converting design mockups into HTML and CSS code seems to be the easiest task in programming soon-to-be-replaced with AI.
Airbnb has recently introduced Sketch2Code – a new tool that lets you convert your hand-drawn design into an HTML code with the help of AI. But even this product of neural networks doesn’t generate any code on its own. It’s simply picking the right components created by humans.
What most people understand by artificial intelligence is that this technology can think and reason just like a human being. This type of AI is called AGI (Artificial General Intelligence), and it’s not something humans can build yet.
With all those advanced artificial intelligence technologies appearing, the question that programmers must be asking themselves is: Does the future really look so dark for software programmers? Hardly so.