April 5, 2025
Should We Still Study Software Engineering in the Age of AI?
Why human creativity still matters in a world of AI-generated code.

By David Byron Drake
4 min read
When artificial intelligence can write code in seconds, is there still a point in learning to do it ourselves? It's a question echoing through classrooms, offices, and online debates — and it's not unlike the panic that rippled through the art world when the camera first clicked. But history has a funny way of turning disruption into evolution.
Photography first emerged in the mid-19th century, and traditional painters felt threatened. Until that point, the artistic elite had painstakingly refined their craft in pursuit of perfect realism — capturing portraits, landscapes, and historical scenes with meticulous precision. The arrival of the camera seemed poised to render them irrelevant. After all, why labor over paints and brushes when a photo could capture reality instantly and accurately?
But painting didn't die — it evolved. Once freed from the chains of realism, artists embraced new ways to express themselves. They began experimenting with light and color, emotion and abstraction, resulting in movements like Impressionism, Cubism, and Abstract Expressionism. Photography's ability to effortlessly capture reality didn't eliminate artists — it liberated them to explore new, previously unimagined forms of creativity.
Today, a similar transformation is unfolding in software engineering. With generative AI tools becoming remarkably adept at writing code, it's natural to wonder if studying software engineering remains relevant. Will AI simply render human coders obsolete? Should students even bother learning coding in depth anymore?
AI as the Camera, Code as the Painting
Like early photography, generative AI automates tasks previously thought uniquely human — in this case, writing code. Given a detailed prompt, tools like Cursor, aider, GitHub Copilot, ChatGPT, and others can produce impressive snippets of working code instantly. Junior developers may feel particularly threatened, as tasks they perform daily seem effortlessly executed by AI counterparts.
Yet, it's essential to look at this through the lens of art history. Photographers didn't just erase the painter's profession; they reframed it. Likewise, AI doesn't replace the software engineer; rather, it redefines their role.
What Happened When Realism Became Easy?
Historically, as photography took over realism, artists pivoted to creativity, emotion, and conceptual expression. Paintings became less about replicating visual reality and more about capturing subjective experience, inner feelings, and abstract concepts — things cameras couldn't easily depict. Artists became innovators, thinkers, and visionaries, not merely illustrators.
Similarly, in software engineering, when generative AI handles routine coding, human programmers will be increasingly needed for complex problem-solving, creativity, and strategic design. AI excels at speed and pattern-recognition — but struggles profoundly with context, judgment, nuanced architecture, and innovative solutions. Like artists liberated from photorealism, software engineers can shift their focus to more meaningful, challenging aspects of programming:
- Software Architecture and System Design
- Creative Problem-Solving and Innovation
- Contextual Understanding and Ethical Oversight
- Critical Review and Human Judgment
Evaluating and Executing AI Output Requires Expertise
Just as photographers required technical knowledge of composition, lighting, and exposure to create impactful photographs, software engineers will need deep technical understanding to guide, interpret, and build upon the output of generative AI. Without software engineering skills, relying solely on AI-generated code is risky: the AI may produce plausible-looking but subtly flawed or insecure code.
Human expertise remains essential to evaluating AI outputs critically and ensuring their robustness, security, ethical implications, and fit within complex systems. Engineers must possess the knowledge to catch AI-generated mistakes, refine solutions, and integrate AI-generated code into coherent, high-quality products.
Software Engineering Is More Important, Not Less
Thus, rather than diminishing the value of software engineering education, generative AI reinforces its necessity. Understanding how code works — and why — is crucial to responsibly leveraging powerful AI tools. Without a robust grounding in software principles, developers risk becoming passive users rather than active creators and evaluators of technological innovation.
Generative AI makes software engineering education even more valuable. Students will need proficiency not just in coding itself, but in higher-order thinking: strategic architecture, creative innovation, ethics, and AI literacy. Education must adapt to equip software engineers with the nuanced understanding required to guide AI effectively, becoming supervisors, designers, and critical reviewers of automated outputs.
Embracing AI as a Partner, Not a Competitor
Just as artists learned to incorporate photography into their practices, software engineers must learn to collaborate creatively with AI. Human-AI partnership — combining the speed and efficiency of generative tools with human imagination, ethics, and strategic vision — promises an exciting future for software development.
As Bernard Marr insightfully notes:
"Just as the invention of photography gave rise to impressionism, followed by movements such as cubism, surrealism, and pop art, artists working in traditional mediums will have their own response to the arrival of the AI age, creating entirely new artistic frontiers."
The arrival of generative AI isn't a threat; it's an invitation. It's a call for software engineers to think bigger, deeper, and more creatively — to transcend code-as-typing and elevate to code-as-craft. Just as photography expanded the horizons of art, generative AI can broaden the possibilities for software innovation.
So, Should We Still Study Software Engineering?
Absolutely — now more than ever. Generative AI will not diminish the role of software engineers; it will expand it. It demands engineers who are imaginative, thoughtful, and deeply educated in the fundamentals. The future of software isn't humans or AI. It's humans and AI, working side-by-side, each contributing its unique strengths.
Studying software engineering equips us not just to write code, but to understand systems, think creatively, act responsibly, and harness AI effectively. Far from becoming irrelevant, human programmers will find themselves at the very heart of innovation, guiding powerful AI tools toward extraordinary new horizons.
Just as painting thrived and evolved alongside photography, software engineering will flourish alongside generative AI — provided we embrace education as our most valuable tool in this new, collaborative, and profoundly creative landscape.
♻️ Share this if you believe studying software engineering still matters — even in the age of AI.
Follow me for more thoughts on engineering, AI, and leadership.