AI's Impact on Software Development Jobs

Explore how AI tools like Codex are transforming software development, raising questions about job security for programmers.

AI’s Impact on Software Development Jobs

Artificial intelligence is sweeping through all industries, and some sectors are experiencing rapid job shrinkage. Can the computer industry, the birthplace of AI, escape this trend? A natural question arises: will programmers, who are heavily invested in AI development, worry about being replaced by the AI they create?

In 2021, OpenAI launched Codex, an AI-assisted programming tool that predates the more widely known ChatGPT (released in 2022). Codex is based on the GPT-3 model and is trained on a vast amount of programming code, giving it a significant edge in code writing.

Image 1

Codex can help developers with many coding tasks. For instance, it can understand parts of code you’ve already written and automatically complete the remaining content, or it can generate complete functional code based on a simple prompt. For example, if you input a line like, “Given an array, calculate the average within a sliding window,” Codex can immediately write the code to implement this functionality.

Initially, AI code writing was merely a “helper” for developers, mainly handling tedious and repetitive code snippets. However, as model capabilities rapidly improved and ChatGPT gained popularity, more companies began to see new opportunities—AI was not just an assistant but could potentially open up a whole new market: AI software development.

As a result, numerous AI software development startups have emerged, such as ClaudeCode, Cursor, Devin, and Windsurf. Major domestic companies like ByteDance, Alibaba, and Tencent have also launched similar products.

Compared to Codex from four years ago, today’s AI programming tools have made remarkable progress. OpenAI’s latest o3 model scored 2727 points on the programming competition site Codeforces, surpassing 99.8% of human participants. Anthropic’s Claude4 can autonomously run for up to seven hours, completing thousands of steps and continuously attempting until it achieves its goal.

These breakthroughs have introduced a new way of programming—developers no longer need to write code line by line; they can simply describe their requirements in natural language, and AI will automatically generate and iteratively modify the code based on feedback. The collaboration between humans and AI has thus become more of a “dialogue” than mere “commands.” This new programming approach has a romantic name—“vibe coding”—suggesting that programming is gradually evolving from a specialized skill for a few into a creative tool for everyone.

Dramatically, AI’s capabilities have now extended into the realm of software development job interviews.

Typically, professional software development interviews include coding assessments, requiring candidates to write correct and efficient programs within a limited time. A student from Columbia University developed an “AI interview assistant” that can automatically read questions during video interviews and use AI programming tools to generate compliant code in real-time. He claims this tool helped him successfully pass interviews with companies like TikTok, Meta, and Amazon, earning job offers. He even recorded and uploaded the entire process of using AI during his Amazon interview, sparking widespread discussion.

These rapid advancements have occurred in just a few years, surprising many. But can we definitively say that AI will completely take over human programming jobs?

Finding an Assistant, Becoming a Threat

Not necessarily.

Compared to humans, AI’s “errors” in programming are often unpredictable. Even if its accuracy reaches 90%, which sounds high, it also means that it will make an error once every ten attempts. For software development, such an error rate is significant—human developers must check and correct each mistake, often resulting in more effort than writing the code themselves.

In July 2025, the well-known programming community StackOverflow released the results of a survey conducted in May this year. Among 50,000 respondents, about 80% were using AI programming tools. However, the proportion of users who “distrust AI” (46%) was significantly higher than those who “trust AI” (33%). Compared to 2024, positive evaluations of AI dropped from over 70% to 60%; trust in AI for handling complex development tasks also fell from 35% to 29%.

AI-generated code often contains subtle errors that require human inspection and correction. Despite AI achieving remarkable results in programming competitions, it often fails to correctly and completely implement all functionalities in real-world software development scenarios, sometimes even executing dangerous operations incorrectly.

A serious incident occurred on the AI development collaboration platform Replit. Despite users explicitly requesting not to modify the code, Replit deleted the entire production environment’s database. Worse, it claimed the data was “irrecoverable.” However, the user ultimately managed to restore the database through manual operations.

This incident sparked widespread discussion about the reliability of AI programming tools. Public information indicates that similar situations are not isolated—some users even reported that their databases or code repositories were entirely wiped by AI.

Can You Just Ask AI to Build a Website Like Taobao?

Software development typically follows a complete process: first, requirements analysis, then technical design, followed by development, integration, testing, and finally deployment. To pursue faster iterations, most internet companies now use “agile development,” which streamlines the process, but the basic framework remains unchanged.

Requirements analysis is a crucial first step that requires a clear and complete description of the functionalities the software should implement. For example, it should specify how the system should respond when a user performs a certain action. Excellent requirement documents are as detailed as possible about every operational detail, rather than vague requests like, “Build me a website like Taobao.”

Next comes the technical design phase. This step involves breaking down the requirements into software modules that can be developed independently, considering architecture design, resource consumption, exception handling, and other detailed issues.

Finally, there is development and testing. This phase almost inevitably encounters various unforeseen problems, requiring developers to conduct repeated testing to ensure the correct implementation of functionalities. In actual projects, it is often found that the requirements or the design itself has flaws, necessitating a complete overhaul, which is commonplace.

In addition to the cumbersome development process, the complexity of the program itself poses a significant challenge. For example, an ordinary iPhone application has about 40,000 lines of code on average, the Chrome browser contains about 6 million lines of code, and the Linux kernel code exceeds 40 million lines, which would require 700,000 pages if printed.

Faced with such complex projects, excellent human developer teams can often pinpoint the functionality of each module and quickly locate specific lines of code for fixes when issues arise. However, for AI, such tasks are challenging. Limited by input length, it often can only “see” partial segments, making it difficult to establish a comprehensive understanding of the entire project like humans do.

Researchers at Princeton University developed a benchmark to assess AI software development capabilities (SWE-bench), which includes dozens of software projects from the open-source site Github. Thanks to Github’s detailed records of code changes, researchers compiled over 2,000 functional requirements correctly completed by human developers. They asked AI development tools to fulfill the same requirements on existing software projects. The experimental results showed that even the strongest AI could complete only about three-quarters of the tasks.

In contrast, researchers from Stanford University and Anthropic created a more challenging benchmark (Terminal-bench): they designed 80 software development requirements, asking AI development tools to start from scratch. The experimental results indicated that current AI could complete at most half of the development tasks.

In stark contrast, excellent human developers can consistently complete these development tasks with nearly 100% accuracy. Researchers at New York University, in collaboration with several informatics Olympiad competitors, established a high-quality programming competition evaluation benchmark (LiveCodeBenchPro), with assessment problems sourced from the latest programming competitions, ensuring a lack of solutions online to avoid AI “cheating.” Ironically, all existing large models scored a ridiculous 0 on the difficult problems in this benchmark.

Will AI Replace Human Developers?

So, returning to the initial question, will AI replace human developers?

Undoubtedly, AI will be an excellent tool. For professional developers, AI serves as a highly effective assistant. Before the widespread adoption of AI development tools, developers had to manually implement many tedious and uninteresting code tasks. Even with development documentation or similar code available online, developers still needed to understand and modify it themselves. With AI, this work will be greatly simplified. For users without a development background, AI can accurately implement relatively simple software functionalities. With this capability, ordinary users can transform their daily repetitive tasks into code written by AI, significantly enhancing work efficiency.

As for completely replacing human developers with AI, it seems premature at this point.

Today’s large language models are based on digital data from the internet and knowledge written by humans in books and articles. Especially in software development, large language models have only seen the results produced by human developers (software code) and have little understanding of the intricacies of the development process. DeepMind scientists David Silver and Richard S. Sutton point out that current AI is based on data generated by humans over thousands of years, but this does not encompass all human knowledge. Humans have accumulated a wealth of experience through interactions with the real world. AI lacks this experience, making it unlikely to surpass humans. Teaching AI to learn this experience remains a significant challenge.

People often discuss the so-called “35-year-old crisis.” However, in reality, technology is more crushing than age. In software development, AI can already handle many foundational and repetitive tasks, such as simple code generation, common functionality implementation, and some debugging phases. Yet, the aspects that remain irreplaceable include understanding requirements, architectural design, complex system analysis, and team collaboration—these involve abstract thinking, interdisciplinary knowledge, and human judgment, which are the true core values of programmers.

As a programmer, consider this question: if you handed over all the work you completed in the past week to AI, how much could it accomplish? If your work merely involves repetitively building single-function software systems, such as implementing a questionnaire form to record ten user questions or calculating averages from a table—if that’s all there is, you must consider the possibility of being replaced by AI. However, if your work is filled with challenges, such as implementing a new software architecture, designing unique algorithms tailored to business characteristics, or abstracting specific development tasks from vague customer requirements, then AI will only be your powerful assistant.

This applies not only to the software industry but also to other fields: rather than worrying about being replaced by AI, consider how to position yourself effectively in this era of human-machine collaboration. The aforementioned question is equally applicable to other industries: try letting AI complete your work. If it can manage, then it’s both bad news and good news for you. The bad news is that your job may soon be taken over by AI; the good news is that you’ve discovered a way to harness AI to accomplish tasks, and you might try to take on a leadership role, managing more AI to do more work.

Instead of letting AI take your job, consider stepping out of your current position and think about how to use AI to solve problems in your industry. As AI begins to decide how tasks are broken down and how processes are arranged, if individuals merely complain about their impending fate of being crushed, they will lose the space for proactive choices, ultimately becoming either tools of tools or mere data that nourishes and lubricates those tools.

Was this helpful?

Likes and saves are stored in your browser on this device only (local storage) and are not uploaded to our servers.

Comments

Discussion is powered by Giscus (GitHub Discussions). Add repo, repoID, category, and categoryID under [params.comments.giscus] in hugo.toml using the values from the Giscus setup tool.