AI and robots, OMG!! Does it tinker a bell in your mind? You might be able to recollect few of the Hollywood movies where the AIs go rogue and wreak havoc on the world. Well, that may not be not quite adjacent to reality for most of us, but few of the software developers have started to have sleepless nights owing to the fear that the AIs may replace them in the near future. Further to add to the confusion, there are mixed opinions wherein few experts feel that AIs pose threat to the coders, while there is a large chunk of experts who believe that AIs will only support the developers as partners and not take away their jobs per se. So, in this article, we will try to discuss the topic to see where we stand in the argument.
FEW ACHIEVEMENTS OF AI THUS FAR
There is no doubt that AIs are now performing many tasks that were previously done by humans. The prime example is the ChatBot that has replaced the customer service representatives – browse any website and instantly you will see a pop-up asking “How may I help you today?” If we move further, the AIs have also excelled in other fields as well, such as medical diagnostics wherein 2013, an AI was trained to detect breast cancer using a neural network. Not just it mastered the diagnosis; rather it also made a breakthrough discovery to help the detection of early signs before the deterioration of the tumor cells starts.
If we move to quizzes and board games, there also AIs have got the better of human beings. In 1997, the IBM computer Deep Blue defeated Garry Kasparov to win a chess match. In 2011, another IBM computer Watson participated in a television quiz show “Jeopardy” and defeated the former winners to win prize money worth $1million.In March 2016, a computer program created by Google DeepMind – AlphaGo- played the board game Go to defeat the World Champion, Lee Sedol, who went down four games to one (4-1) in a five-match tournament. So, there are several such feats achieved by AIs, but the point here is that they have been able to humble mankind. So, the fear of software developers is not very surprising.
AI IN THE FIELD OF CODING
So, the question again – will AIs take away developer’s job? Well, maybe they won’t take away the jobs, but they are making giant strides in the field of coding. The AIs have taken over the jobs that involve writing HTML and CSS codes. They are also capable of writing complicated codes which is evident from the following fact – In 2015, Andrej Karpathy, Director of AI and Autopilot Vision at Tesla, took a Linux repository and used it to train a Recurrent Neural Network to generate code. Surprisingly, the AI learned the code overnight and then a generated code that included functions, declarations, variables, parameters, loops and correct indents complemented by comments. Although the program had few mistakes, Karpathy was mighty pleased with the outcome.
Diffblue, a company founded by two computer science professors from Oxford University, has developed a system that will read the source code, then it will analyze it and will generate tests to fill in the gaps. The AI has just automated the tedious job of writing tests by programmers. In another example, Ubisoft has developed an AI named, Commit Assistant AI, that helps a developer to examine the code for bugs. It is said that the AI is capable of detecting 60% of the bugs with 30% chances of type I error (false positive), which eventually helps a developer to save 20% of their time. But what is more interesting is that in all the cases human intervention can’t be ruled out.
AI NOT THE SILVER BULLET FOR DEVLOPERS
So, based on the above examples we can imagine a situation where you identify the client need, then decide on the program and then start writing the code. Now, based on your style of coding and high-level predictive analysis technique, your highly advanced AI partner will write the remaining code for you. However, you as a developer will have the final say because even till date no AI has been successful to write a complicated code that is ready for compilation. So, effectively the machine writes the rest of the code for you and then you approve it. So, it is quite obvious that AIs won’t be able to replace the developers in the near future at least. But AIs will surely learn how to create a code of more than a few lines, which are good for production.
Let us look at how AI may be able to prove its worth in the field of software development based on present advancement.
- AI will expedite the coding stage and help the developers in understanding their options. The developers will then take it from there and work on complicated programming sections that may be beyond an AI’s understanding.
- AI will help in extracting meaningful patterns from a wide range of data to offer relevant feedback.
- AI can study historical codes in a chronological manner to understand how a specific software has been developed over a period of time and then help in the improvisation of the software.
- AI may be used by a software developer as a Coding Partner to write better software.
- Developers will remain relevant because they have the knowledge of what exactly needs to be built while the AI will support in building the program.
Therefore, it can be concluded that anybody with the basic understanding of artificial intelligence doesn’t expect it to replace the developers, but they believe that AI will become a powerful tool that will enable programmers to enhance their productivity. Despite all the advances in the field of AI, which is appreciable, the need for human developers can’t be subsided in the current scenario. As such; AIs should be seen as more of an advantage than a threat. With the dawn of the AI age, the efficiency of developers will improve as they will be able to collect real-time feedback on their code issues, design, duplication errors and the importance of all their issues.