Steve Taplin is the CEO and cofounder of Sonatafy Technologyproviding experienced nearshore software developers and engineers.
The growth of generative AI tools has already had an impact on the job market in many industries, and there are some who are wondering whether AI could replace software engineers. A report by Grand View Research predicts that the AI market will grow at a rate of 36.6% per year between 2024 and 2030 and that AI in software development is an area that will see significant investment.
As CEO of a software development company, I often hear people joke that I could replace my team with ChatGPT. But I disagree for reasons that I will elaborate on below.
Could AI Replace Software Developers?
AI is already being used by many software developers to help them write code more quickly. According to a survey conducted by GitHub, 70% of developers use AI tools to make their work easier.
However, AI-assisted coding is a vastly different thing from using AI to write code. While the current generation of AI tools can write code that will run and could be useful as a starting point for a simple CRUD application, it is not up to the level of writing complex, secure and human-readable code.
According to a study produced by Stanford University, programmers who used AI tools wrote code that was less secure than those who did not. Researchers at Bilkent University evaluated the quality of code produced by GitHub’s co-pilot and found around 30.5% of it had issues. Not only do these tools get things wrong frequently, but some of the mistakes they make are dangerous, such as using outdated libraries or producing code with security vulnerabilities.
AI tools are trained on publicly available code, so they will have outdated code in their training databases and lack true “understanding.” This means they do not have any context to evaluate whether the code they are looking at is valid or not.
So, skilled software developers can feel confident there is still a need for people with their talents. AI tools have limits. But that does not mean they are useless.
AI Is Empowering Developers
The way we code has been evolving for decades. The earliest developers used punched cards and could not afford to make any mistakes. More modern computers required developers to type out code line by line, with some primitive languages having only “go-to” statements instead of subroutines and functions.
By the ’90s, syntax highlighting was commonplace, and in the 2000s, version control software became accessible to all. Today’s developers would find going back to a world without tab-completion, version control and modern debuggers almost impossible. AI tools are simply an extension of that.
Skilled developers who understand AI prompts and who can read and understand AI-written code can use generative AI tools to their advantage to increase their productivity. For example, a developer could use ChatGPT to ask for an example of how to do something in their chosen language and then review and improve that code before using it.
The keywords there are, of course, review and improve. ChatGPT and other generative AI tools are good at producing syntactically correct code that looks impressive at first glance, but that has multiple errors and vulnerabilities.
The Best Developers Make AI Work For Them
A lot of the hype today centers on the idea of developers using AI “to write their code.” This is not practical, at least not for complex tasks. However, AI does have some strengths:
• Producing first drafts of code.
• Minor code updates.
• Automating repetitive tasks.
• Producing code summaries.
• Improving cycle times.
AI code generation tools can help with prototyping, QA tests and even just banishing mental blocks. If you have been staring at a debugger for hours on end and cannot see what is wrong with your code, asking an AI assistant could provide a “fresh pair of eyes.”
AI can also help non-developers get involved with software development. It offers more power and flexibility than traditional low- or no-code software development tools, so process owners can create prototypes that show the developers what they are trying to achieve.
The challenge for CIOs is preventing these tools from creating a whole new world of Shadow IT. If non-developers start using AI tools for internet-facing systems that handle customer data, this could create serious security risks. That is why it is critical that the tools are used as an aid and with the support of skilled developers who understand industry regulations, coding standards and the security risks associated with the project at hand.
It Is Time To Invest In AI Skills
The AI skills gap makes it difficult for smaller organizations to recruit developers who have AI skills, both in terms of developing AI applications and using AI tools to augment their existing job activities. The organizations that come out of this technological revolution as market leaders will be the ones that invest in talent development.
It is also crucial for development teams to have AI policies that clearly lay out what these tools should and should not be used for. Taking a pragmatic approach to adopting innovative technologies helps reduce liability and avoid the pitfalls that could come from blind trust in an algorithm.
Used correctly, I passionately believe that AI can supercharge software development by speeding up prototyping, reducing error rates and freeing developers from repetitive tasks so they can focus on more complex problems. However, it is important to tread carefully. My hiring and training practices reflect that, ensuring everyone in my organization uses AI as an aid rather than a crutch.
Forbes Technology Council is an invitation-only community for world-class CIOs, CTOs and technology executives. Do I qualify?