I founded a test prep platform for software engineers. AI can’t replace them, whatever the hype
Software engineers have nothing to fear career-wise from code-generating AI tools, says LeetCode founder Winston Tang.
If you aspire to be a software engineer for a tech giant or big bank, you first must pass a coding test. To practice for such technical interviews, millions of job candidates turn to LeetCode, a test prep site I founded 13 years ago.
Some industry insiders, citing the growing capacity of tools like OpenAI’s GPT-4 to generate code, have expressed doubts about the future of software engineering as a career path. But artificial intelligence will never replace software engineers, however powerfully it might complement their work.
AI excels at automating repetitive tasks and processing vast amounts of data. It can even generate high-quality code snippets, which might suggest a potential to replace software engineers. But software engineering goes beyond mere coding. It involves creativity, problem-solving, and innovation—qualities AI cannot fully replicate.
A software engineer career
When I moved from Malaysia to the U.S. in 2005, I was determined to become a software engineer, but my nontraditional background, lack of connections in established computer science circles, and inadequate preparation led to multiple failed interviews with top tech companies. Based on these experiences—and a desire to help others facing similar struggles—I founded LeetCode.
Even after I landed positions at Amazon and Google, I kept expanding and improving LeetCode, transforming it into a leading force in the industry in under three years. LeetCode today offers a wealth of resources, including mock interviews, educational content, and algorithmic challenges.
For me, it’s been incredibly rewarding to see users not only enhancing their skills and landing their dream jobs, but also continuously improving their professional capabilities on the platform. Such activity validates LeetCode’s vision of democratizing tech education and empowering individuals to achieve their career goals through perseverance and skill.
AI is poised to enhance the productivity and creativity of software engineers, enabling them to focus on more complex challenges. Some tasks may be automated, but the core role will remain intact. While AI can mimic certain creative processes and solve structured problems, it lacks the deep intuition and rich contextual understanding that human engineers bring to complex, undefined problems. Software engineers are akin to authors, using tools to articulate their vision while relying on their intrinsic creativity and expertise. These aspects of the job require a blend of creativity, technical knowledge, and critical thinking that AI currently cannot fully replicate.
The evolving landscape of software engineering
LeetCode also helps aspiring engineers master data structures and algorithms (DSA), which are foundational to computer science and have a profound impact in our daily lives. They optimize our travel routes, organize our emails, secure online transactions, and power everything from to-do apps to YouTube recommendations. In other words, they affect your life, whether or not you know it.
Just as architects must understand the principles of physics and materials science to design safe and reliable buildings, software engineers need a solid grounding in DSA to build safe, efficient, and reliable software. No matter how advanced tools become, the foundational principles remain essential. Great companies recognize this, which is why they continue to test candidates on their knowledge of DSA.
The demand for certain technical roles, especially at the entry level, may decrease due to AI’s capabilities. However, this shift emphasizes the need for higher-level skills and a solid foundation in core competencies. Companies are increasingly seeking engineers who can tackle complex challenges and drive significant impacts. Specialized roles such as AI/ML engineers, data engineers, and computer vision engineers are more in demand than ever.
Beyond coding: The human touch in software engineering
Software engineering is inherently collaborative, requiring cross-functional teams to solve problems and drive innovation. These aspects of the job demand empathy, emotional intelligence, a thorough understanding of business contexts, and effective communication skills—qualities AI cannot replicate.
Imagine an architect designing a house based solely on a client’s vague description—without taking safety, practicality, or aesthetics into account. Software engineers act as vital intermediaries between customers and AI, interpreting and refining requirements to create intuitive and accessible solutions.
Despite its advancements, AI often lacks the ability to fully grasp the social and cultural contexts for creating inclusive technology. Imagine an AI-designed interface that accidentally excludes people with disabilities. Software engineers, using their empathy and ethical judgment, are needed to identify and correct such errors. By combining technical expertise with a deep understanding of human and ethical implications, software engineers ensure that technology truly benefits society. They navigate complex challenges with a level of care and insight that AI has yet to achieve.
Continuous learning and adaptation
The future will see software engineers in higher demand, with an emphasis on strong foundational skills or specialized expertise. I hope that people currently exploring the software engineering field—or those who have lost confidence in their careers—do not stop learning and evolving. I believe that continuous learning is the only way to keep pace with our rapidly changing world.
Of course, I have some skin in this game as LeetCode’s founder. While much on the platform is free—a fact I take pride in—a certain percentage of users buy premium subscriptions for more comprehensive content and additional features, and that generates revenue. So the more users, the merrier.
Regardless, I believe software engineers must engage in lifelong learning to remain relevant. New tools, languages, and frameworks emerge regularly. The continuous-learning mindset is intrinsic to the profession. AI, which operates within the confines of predefined datasets, cannot autonomously acquire new knowledge or skills as do software engineers. As we look to the future, they will remain essential to the advancement of technology and society and continue to play a pivotal role in shaping our world.
More reading:
The opinions expressed in Fortune.com commentary pieces are solely the views of their authors and do not necessarily reflect the opinions and beliefs of Fortune.