It’s been well over a year since ChatGPT exploded onto the scene and started the great AI awakening, but there’s still a lot of uncertainty about the role and impact of AI tools in the coding industry. When it comes to words, people are letting ChatGPT write whole letters, essays, and articles for them—so are programmers doing the same with their code? Will AI replace software engineers?
The short answer is no. Developers aren’t just sitting back and letting ChatGPT or GitHub Copilot generate entire programs for them—the tech just isn’t capable of that yet. However, for better or worse, people are definitely starting to use these tools daily, which is causing changes.
In this article, we’ll go into all the messy details about what these tools do, what they can’t do, what programmers are actually using them for, and the impact they’re creating on jobs and the industry as a whole.
How Will AI Impact the Software Engineering Industry?
Let’s start this off with a massive spoiler—AI isn’t going to replace programmers. Not now and not within our lifetimes.
You might hear many people saying the opposite, like Elon Musk, who once said, “There will come a point where no job is needed,” — but these kinds of quotes should be taken with a grain of salt.
When you’re not an expert yourself, it can be hard to figure out who you should listen to and who you shouldn’t. But there is one easy trick to filter out the least useful information: the most extreme positions are always the least likely to be accurate. So, those who say AI will end the world? They’re likely not the right person to listen to. Similarly, anyone who says AI will have zero effect on the world probably isn’t a reliable source of information either.
Here’s an example of a more grounded opinion. Sam Altman, CEO of OpenAI, says AI will “change the world much less than we all think, and it will change jobs much less than we all think.” Instead, he calls AI products like ChatGPT an “incredible tool for productivity.”
If you consider AI as just another tool, it seems less scary. The tools we use to do our jobs change all the time, and that’s especially true for programmers. The computers we were using 30 years ago were nothing like what we use now, and the things we make with them are on a whole other level. But the job only grows stronger because the products and services programmers deliver are essential to our way of life.
Respected software engineer John Carmack (initially known for his work on Doom) says something similar:
“Keep your eyes on the delivered value, and don’t over-focus on the specifics of the tools.”
To succeed in the software industry, you just need to become a person who knows what makes a good product and can use whatever tools necessary to develop it.
How Has AI Changed Software Engineering Hiring?
Even if our ultimate belief is that AI won’t replace programmers, that doesn’t mean we can ignore the current changes. Standard hiring practices, for example, are becoming less effective. The application process for a programming job often includes at-home coding tests, and for entry-level roles, it’s now possible to pass these tests using AI coding tools. So, some say this makes hiring a little more complex.
The fix is relatively straightforward, though. Many programmers already think that at-home tests and boilerplate coding tasks aren’t a good way to filter candidates. Instead, you just need to set up a call or an in-person interview and have your candidate talk to one of your engineers. They can discuss different problems and the proper ways to approach them, and by the end of a short conversation, your engineer will know with absolute certainty whether that candidate has good programming knowledge and problem-solving skills.
Right now, this is what AI coding tools are best at—giving you the most common solutions to the most common tasks and problems. But as it improves over the coming years, it’s reasonable to assume that it will improve at more complex coding tasks—for example, the CEO of GitHub predicts that Copilot will be writing 80% of code “sooner rather than later.” If that’s the case, web developers and other lower-level “code writers” might find that much of their work can be automated.
These are the people who get told what to write, and they simply complete the tasks that they’re given. But again, this doesn’t mean they’re out of a job. It just means their job will change. Instead of writing the code from scratch, they’ll need to know how to prompt the AI tools to give them accurate and relevant code. And then they’ll spend much more time reading, appraising, and editing the code generated by those tools. It’s also possible that this role will become less valuable and salaries will decrease—though we don’t know that for sure (they already tend to be the lowest-paid coding jobs anyway.)
What we do know, however, is that the demand for solution architects will grow. These are the people who know what needs to be done to achieve the goals of their client—what kind of technology is required and how to implement it. They’re still programmers, but they’re good ones. They have a lot of knowledge and a lot of opinions, and they have the drive to lead initiatives. Of course, these people are already better valued and better paid than lower-level programmers, so as Sam Altman hinted, it’s not that much of a change.
How Will AI Shape Coding Careers In the Future?
This is a complex question, so let’s break it down into sections.
Education
AI will likely change how programmers work, but it won’t change the fundamentals of what they need to know. Computer science degrees, software engineering bootcamps, and other educational resources will likely still teach the same things because only someone who could write the program themselves will be able to prompt the AI accurately and edit the result. In other words, the AI tool is only as valuable as the person using it.
There will be a few extra things to learn, though. Special AI prompt engineering modules are already appearing in software engineering courses that teach students how to write effective prompts and make the most of current AI tools.
Entry-level roles
Once you’re in your first role, your two main tasks will be contributing to projects and developing your skills. While contributing, you’ll probably use your fancy prompt engineering skills because this will help you match the productivity levels of everyone else on the team. However, you might find that a lot of manual code-writing is still involved in skill development. Programmers will always need to keep their core skills updated, because the more complex your tasks get, the less the AI tools can help.
Because the AI tools will help you automate the lower-level elements of your work, giving you more time to focus on the problems that matter—the ones that take a lot of brain power to solve. And, unsurprisingly, the more prominent problems you solve, the better and more knowledgeable you’ll become. So, in an authentic way, AI tools may be able to help you develop your skills and progress your career more quickly.
As you can see from the below job listing for a full-stack software engineering role, companies are beginning to ask applicants for familiarity with AI tools.
Senior roles
As you climb the professional ladder, you might end up working on developing new technologies. If this is the case, your AI tools won’t be so necessary anymore because, let’s not forget, current AI tools can only reproduce things we humans have already made a million times over. If there are no existing examples to train them on, they can’t help.
Of course, if you’re reading this as a student or someone who hasn’t started their journey into tech yet, by the time you earn the title of “senior software engineer,” there might be whole new AI tools available that are even useful at this level. For example, an AI that’s aware of a company’s entire codebase and capable of answering questions about it could save engineers a lot of time.
Usually, there’s a lot of tribal knowledge within a company—only certain people know certain things—so if you have a question about the way something works, you have to find the right engineer to ask them directly. This can take a lot of time in some cases—you might not ask the right person at first, people are busy, and global companies working in different time zones can result in messages that won’t get answered for many hours. However, if an AI tool could comprehend your natural language inquiries and find accurate answers, it would be handy.
What Are Current AI Coding Tools, and What Can They Do?
Getting back to current technology, if you’re researching software engineering as a potential career and don’t know much about it yet, you might not have much of an idea about what AI coding tools are all about. Let’s have a look at the most popular tool getting used at the moment and what programmers use it for.
GitHub Copilot
Copilot describes itself as “your pair programmer.” Its primary function is to suggest code as you type or write comments. The most common way to use Copilot is to have it generate “code snippets.” These are small, reusable bits of code that complete a simple job—they’re easy for an AI to generate, but it takes human knowledge and experience to incorporate them into large programming modules. When people are writing new code and using lots of boilerplate snippets, Copilot can help them get more done in less time.
People also use Copilot to generate comments for their code. Code comments are little notes sharing relevant information, highlighting a problem, asking a question, or—and this is what Copilot can help with—explaining what a particular element of the code is doing. It’s not the most impressive feature in the world, but it can help save time, especially if you don’t enjoy crafting written explanations.
ChatGPT
As a side note, some companies also use ChatGPT to help with their coding. Professionals use it essentially the same as Copilot—generating small snippets and speeding up the most simple tasks. Individuals can also use it to practice coding, ask questions, and request explanations of pasted code. Here’s an article on Medium covering someone’s learning journey to code with ChatGPT.
What AI Coding Tools Definitely Can’t Do
Now, let’s talk about how wonderful and creative humans are and how AI tools could never compare!
Coding proficiency
As mentioned, AI tools right now are best used to generate small snippets of code to insert into a program you’re writing. If you ask it to do more than that, things will quickly start to go wrong.
If you don’t know anything about programming and just ask Copilot to make you an app that counts calories, it won’t be able to do it. If you ask it to make you an app that counts calories and give it a lot of detail about the specific features and settings you want, it won’t be able to do it. In short, if you don’t know how to make an app, you won’t be able to. Check out this guide on how to make an app with Copilot to get an idea of just how much knowledge and experience you need to have to use the tool.
Right now, this fact is the only fact we need to know: that programmers aren’t going anywhere anytime soon. If you deleted your engineering team and just asked the non-technical product team to make your software product using AI, you would fail. You wouldn’t just end up with a worse product, you’d end up with no product because neither your product managers nor your AI tools are capable of making one.
The full scope of the job
But it’s not only about what coding tasks they can and can’t do. Being a programmer is about more than just writing code. It’s about ideas, collaboration, project planning, designing large systems, understanding the problem space, and asking the right questions. Programmers can check, edit, and debug code with understanding of the intended finished product. AI tools have no idea what you’re trying to make, and if you try to communicate it to them it’s only going to confuse them.
Even if they improve and people start generating much larger and more complex code with them, they will never be able to create new methods of doing things. If you’re working on new tech, it has to be humans doing the work.
So: Will AI Take Our Coding Jobs?
If you’re thinking of getting into the programming business, you’re probably interested in the changes to the career we’ve discussed, but the more pressing question is: are jobs going to disappear?
We don’t think so. And, more convincingly, the US Bureau of Labor Statistics doesn’t think so either. The BLS publishes “job outlook” information on every kind of job you can think of. It projects how much the career will grow over the next ten years in terms of how many people will be employed in this profession a decade from now compared to today. The average projected growth across all occupations—everything from cleaners to astronauts—is 3%.
For software developers, the current growth projection is 26%. This is classified as “much faster than average” and predicts a perfectly healthy future for coding careers. Predictions aren’t always correct, sure. But the BLS has far more resources and data behind it than any of those articles saying programming is dead, and that does matter.
Coding careers are more fulfilling, creative, well-paid, and accessible than ever. As long as you’re willing to stay on top of the trends, use whatever tools you need, and always carry on learning, plenty of jobs will be available to you.