Will AI Replace Developers?
A.I.-driven development is starting to emerge with tools like GitHub’s Copilot and Google’s DeepMind AlphaCode. These tools produce functioning programming code, causing many developers to question whether their jobs will be replaced by artificial intelligence.
Will developers be replaced by artificial intelligence? No. A.I. will change how development is done though.
Are Developer Jobs Really Safe?
Most companies hire developers to solve problems. Currently, most solutions require someone to write custom programming code.
A.I. can generate code. Consider how AlphaCode works. Given a problem statement, code is generated.
The question every developer should be asking is “who writes the problem statement?”.
Most would assume business users are the ones who write a problem statement, but that rarely works in business. Companies — especially larger ones — are organized into departments and teams. Those teams often present conflicting statements that don’t integrate well into a bigger picture.
Experienced developers recognize most of the job isn’t about coding. It’s about thinking. It’s about organizing thoughts and concepts into a logical structures. The hard work is creating blueprints for software. The rest, as developers call it, are “implementation details”.
Even in a world where A.I. writes all code for us, real intelligence is still necessary to sort through behavioral complexities. It’s similar to teaching the importance of precise instructions. Remember the man who intentionally follows the peanut butter and jelly sandwich instructions word for word?
Even if A.I. were able to perform all coding tasks for us, the code produced will only be as good as the problem statement. In data engineering/analytics, this is known as “garbage in, garbage out”. Bad instructions will produce bad programs.
Developers (particularly software engineers) are trained to think about problems in great detail. There will always be roles for great thinkers.
Development Jobs Will Change
Instead of worrying about job deprecation, developers should consider and embrace the advantages A.I. has to offer.
If you’re a developer, ask yourself if you really want to be writing code all the time. Wouldn’t it be nice to never have to write another getter/setter? Do you really want to write that “for” loop? Most developers care more about the interesting logic of a problem, not the words they type on a screen.
A.I. presents a possible solution for all of the boilerplate work developers encounter. For senior level developers, it’s slightly comparable to having a team of junior developers to do the work you don’t really want to do. For junior developers, it’s a great way to learn how to manage development, not just do development.
Artificial intelligence is still artificial. The code it produces still needs to be reviewed. Remember artificial intelligence mimics how human brains make decisions, which isn’t always accurate. In other words, A.I. is still subject to making errors. A.I. also derives its programming logic from prior human work, which may not suit every use case. Artificially generated code may still require modification.
Some developers may feel a prejudice against artificial intelligence. After all, the robots are taking over, no?
Robots mow our yards, vacuum our carpets, and organize our packages. Some even deliver them. The landscaping and service companies still exist though. The services may now be performed by robots, but human beings still need to buy, manage, and maintain them. Services changed from “doing” to “managing”.
This process already exists in development. Most developers eventually move into management. A.I. may speed up the process for that, but it won’t change the process.
What Else Won’t Change?
A.I. may produce code for us, but that code still needs to be deployed and maintained. This practice, i.e. DevOps, is complicated.
The world already has many tools for automating code deployment, maintenance, and management. Yet, there is still enormous demand for DevOps engineers. These tools need to be orchestrated into unique workflows that support businesses. There is no single DevOps practice that works for every organization.
Someday, A.I. may be able to assist with DevOps. However; it will still be subject to the same challenges it faces with programming code. There will still need to be reviews.
It’s Still Early
If you’re concerned that A.I. will replace your job, start preparing now. A.I. still isn’t mature enough to replace most programmers. There is time.
The AlphaCode tool currently only writes “average” code. It has only been tested in coding competitions. Coding competitions tend to focus more on computer science than behavioral science. In other words, competitions lack the human element that matters in business.
Systems like GitHub Copilot are modeled after code found in the open source community. That’s an extensive amount of code, but it isn’t a complete set. Private code can vary significantly from the average open source project. This is where the warts and blemishes live. It’s where developers take shortcuts to meet deadlines. It’s where “clever” code is used to achieve something unique. Clever code is usually difficult to understand. A.I. systems are not trained on code people care enough about to keep private. If the A.I. cannot access the stuff that material, it’s reasonable to question how well it will fit those needs.
A.I. in code is still growing with significant promise, but it’s not replacing jobs anytime soon.
It is an exciting time to be a developer. By embracing A.I., developers can position themselves as thought leaders in a world where A.I. helps. Anytime there is change, there is opportunity. A.I. is worth keeping an eye on.