With ChatGPT exploding into the national conscience this year, everyone wants to know what it means for the future of jobs. As one of CompTIA's experts on software development, one of the questions I get asked the most is if artificial intelligence (AI) will replace software developers.
What Is Generative AI?
Let's start with generative AI. Generative AI can create text, images or other media types. These systems can create pictures, poems, songs or essays and write code from a prompt. Examples include programs like ChatGPT and DALL-E that have taken the world by storm.
ChatGPT, developed by OpenAI, is a language model that generates content based on the input it receives. It uses machine learning techniques, specifically a variant of the Transformer model, to understand and generate human-like text. The model is trained on a diverse range of text from the internet, but it only knows specifics about which documents were in its training set. ChatGPT generates a response when given a prompt by predicting what comes next in the text based on its training. It doesn't generate content from a pre-written response database but dynamically creates it based on the user's input and learned patterns.
Related Blog: How to Think About ChatGPT and the New Wave of AI
What Challenges Does Generative AI Present?
While generative AI holds immense potential, it also presents significant challenges. One of the primary challenges is the quality and reliability of the generated content. AI models can sometimes produce nonsensical or inappropriate outputs because they lack the deep understanding of context and nuance humans possess.
Another challenge is the ethical and legal implications of AI-generated content. For instance, issues related to copyright infringement, misinformation and deepfakes are emerging with the rise of generative AI.
Furthermore, training these models requires large amounts of data and computational resources, which can be a barrier for smaller organizations or researchers. Lastly, there's the challenge of "mode collapse," where the AI fails to generate diverse outputs, instead repeatedly generating the same or very similar outputs. These challenges underscore the need for ongoing research, careful implementation and thoughtful regulation as generative AI advances.
Can Generative AI Replace Software Engineers?
As impressive as these systems are, they do have limitations. For example, they need a human to type in a prompt to tell them what to do, such as telling them what code to write.
Generative AI cannot create large software projects on its own. If you ask ChatGPT to create a search engine, it can only make a basic search engine: Nothing close to a functional search engine like Google. Furthermore, generative AI often produces code that is incorrect or contains bugs, so a human needs to review it to ensure it is correct.
Given the limitations of generative AI, it could not replace software engineers at this time. However, it could reduce the number of available software engineering jobs. For example, per the Wall Street Journal, "Jonathan Burket, a senior engineering manager at language-learning app maker Duolingo Inc., estimated he is 25% more efficient with his time since using Copilot because he no longer needs to write code documentation and test cases, or look up certain information."1
Companies may hire fewer engineers if all the software engineers in the United States become 25% more productive. On the other hand, if software engineers are 25% more effective, companies may pursue more ambitious projects, which might not affect the number of software engineering jobs.
Existing AI tools do not fully understand abstract concepts, context and the nuances of human language and requirements. They also cannot make ethical decisions, consider the societal implications of a piece of software or innovate in the way humans can. Therefore, while generative AI can be a powerful tool in a software engineer's toolkit, helping to automate specific tasks and improving productivity, it is not likely to replace software engineers entirely. Instead, the role of software engineers might evolve, with a greater focus on tasks that require a high level of creativity, critical thinking and human judgment.
What Could Replace Software Engineers?
To replace software engineers, you need artificial intelligence with creativity and problem-solving skills equal to or surpassing a human. In other words, software engineers will only get replaced once we have artificial general intelligence (AGI). According to IBM, artificial general intelligence is defined as "intelligent machines that are indistinguishable from the human mind."
However, artificial general intelligence is theoretical: No one knows if it is even possible to create. But many experts think it is possible. Ourworldindata.org surveyed 352 experts in artificial intelligence and asked what date they think there will be a 50% chance we have AGI. Half of the experts surveyed said before 2061, and 90% chose a date within the next 100 years. When looking at predictions like these, however, it is important to remember that experts have been predicting AGI since the 1960s.
While the prospect of creating machines that match or surpass human intelligence is exciting, it raises many ethical, societal and technical questions. For instance, how do we ensure that AGI aligns with human values and ethics? How do we prevent the misuse of such powerful technology?
On the technical front, creating AGI is a monumental task that requires breakthroughs in understanding and replicating the complexities of the human mind. Moreover, the timeline for achieving AGI remains speculative. Despite the predictions of many experts, the development of AGI has proven to be a formidable challenge, and progress has been slower than initially anticipated. As we strive towards AGI, it's crucial to approach it with a balanced perspective, acknowledging its potential benefits and the challenges that lie ahead.
Generative AI: Not a Replacement for Humans, Yet
At its core, computer science is about problem-solving and logical reasoning, with coding being just one of the tools in a software engineer's arsenal. However, there is no denying that new developments in artificial intelligence have changed how software engineers write code by introducing a level of automation and efficiency that was previously unimaginable.
Despite these advancements in AI, the role of a software engineer remains secure in the foreseeable future. Currently, AI cannot replicate the human element of software engineering: The ability to understand, innovate and adapt. Therefore, while AI will undoubtedly continue to influence the field of software engineering until AGI comes along, AI is not a replacement for humans but a tool we can use to enhance productivity and innovation.
While it's prudent to stay informed about advancements in AI, there's no need to abandon a rewarding career in software engineering just yet. However, future generations may witness a different landscape, shaped by the evolution of AI and its potential realization of artificial general intelligence.
Get the in-demand skills you need with CompTIA certifications and training solutions. Download the exam objectives to get started.