Jobs
Is AI Coming For Coders’ Jobs? It’s Much More Interesting Than That
Is AI going to eliminate a lot of developers’ jobs? There is a gulf between developers and the general population when it comes to answering that question.
If you were to ask developers if they think their jobs are in danger in the near term, most of them will quickly tell you that there is no imminent threat. In fact, according to Atlassian’s latest State of Developer Experience Report, 62% of developers think that today’s AI either doesn’t improve their productivity or improves it only slightly. So, while we are seeing some great new AI technology out there, the industry is still working towards broader adoption and more useful developer-oriented capabilities.
However, among the general public there is a misconception that developer jobs are a prime target for AI replacement. I can understand this perception when anyone can go to an AI website, ask for some code and it just comes back to you. But after looking deeper at current and future product roadmaps for major software vendors, I have reached two conclusions. First, developers will continue to be valued resources for some time to come—years, at least. Second, we are entering a second generation of developer-assistance technologies that greatly enhance developer jobs—without threatening to replace them.
Human Developers Will Remain Valued For Some Time To Come
Why do I say this? Because of all the ground that developers must cover in doing their work, and the limitations of any AI tool or set of tools that would try to cover that ground. Three major factors stand out to me.
- Developers do a lot more than writing code — When you try to foresee the jobs that may be in danger of becoming obsolete in the age of AI, you need to consider two things. First, the role has to be somewhat static and repeatable such that the benefits from AI can kick in at scale. This is why we hear so much about AI in the context of customer service: the workflows are pretty static in the majority of cases, there are relatively few exceptions that need to be handled by humans and bots can work 24/7. Second, any job that requires genuine creativity will not do well with current generative AI or machine learning models. In today’s AI, the goal is to find the best answer based upon many sources of generalized knowledge. Yet creativity and innovation are not generally born of commonly held information. Both of these qualifiers protect developers as a target for AI replacement. Devs live in a very dynamic job space marked by constant change, lots of ambiguity and high creative requirements. So, sure, AI can help developers. But in the absence of some new type of AI we haven’t seen yet, current AI tools would make poor developers on their own.
- Today’s AI can help, if you know how to drive it — Prompt-based assistants perform relatively simple tasks very quickly based on human-generated requests. But, to get more advanced, you may require better tooling and some new skills. For instance, how the AI request is made has a major impact on how much the AI will help you. This is a field of study called prompt engineering, and to get the best from AI you need a bit (not a lot) of expertise in this area. Here’s a great blog post from Ethan Mollick on the topic. That said, we are also seeing advances in developer toolsets to help create good prompts. For example, Microsoft recently deployed a new developer portal for OpenAI to help simplify the task of creating AI-based applications.
- Generative AI is very task-based — Today’s applications are far more complex than a single coded program file. AI today is not smart enough to completely understand the nature of an application which is composed of thousands of files spread across many systems and locations. A developer could fully train an AI to do this, but given the current state of prompt engineering and how GenAI processes the data, it would be somewhat hard to do. More than that, AIs today lack the agency to do much with that knowledge.
The Next Age Of AI Agency In Developer Assistance Will Be Great For Developers
Now, the next easy question would be about future AI technology and developer impact. Maybe there is some innovation down the road that would make human developers obsolete. While I would never say never, I can say that this scenario is not imminent. When looking at the roadmaps for the major vendors in this space, the mission across the board is to improve developer productivity. This is a very broad goal, but there are some common themes that fall under this productivity umbrella.
- Improving the efficacy of the developer experience — Today, AI vendors such as IBM, Microsoft and Oracle are trying to estimate how much faster a developer can code with AI assistance. While the data is compelling, it’s also clear that faster is not always better. One thing that Amazon Web Services does is measure how effective the AI assistance is by how many AI recommendations a developer actually uses. This is an interesting way to look at productivity, because “help” that doesn’t actually help you is not very productive.
- Delegation of low-value yet complex tasks — While first-generation AI coding assistance appears powerful, it is still pretty limited in terms of the tasks it can handle. Vendors are now trying to build features that increase the level of complexity—and in fact the agency—of the assistant. A good example of this is tooling AI assistants to handle upgrades to underlying software. Sometime this year, IBM, Oracle, SAP and AWS will all have the ability to easily update Java programs to the latest version. This is a high-effort, low-value task that takes developer time away from building innovative new applications. AIs that can take on this type of work may not improve individual productivity, which is the main benefit for first-gen assistance, but offloading these tasks from skilled and expensive developers will improve overall team performance.
- Ensuring that the code meets security, ethical and company standards — There is a lot of talk about responsible AI, but much of the discussion to date has been centered on ensuring that a large language model issues responses that are not dangerous or unethical. To be clear, that has been a great place to start. However, I think the idea of responsible AI can be extended into other aspects of application development. For one thing, building secure applications is hard to do, and the best time to catch errors that would make a program insecure is during development. There are also constant changes to both regulatory and corporate standards for development. Even something as simple as a consistent way to deliver comments into an application can be improved with policies that could be managed alongside responsible AI guardrails. These are all important aspects of great applications that are sometimes overshadowed by deadlines or developers who may not be up to speed. Therefore, any of these could be good candidate areas for AI involvement.
So the short answer is still that developer jobs are safe. As technology evolves, so will the developer role. It’s always important to remember that developers are a resilient bunch of people who enjoy trying new things. Twenty years ago terms like DevOps, Agile and cloud-native did not exist, but developers adopted and adapted all of those ideas to great effect. My prevailing thought is that the more developers get their hands on AI, the better chance we all have of seeing even more innovations.