Software engineering's next act: from code to ideas
My journey as a software engineer began 25 years ago in 1999, when I was a high school student in Ezhou, a small city in China. Back then, China had not yet rejoined the WTO, and its economic and technological boom was still on the horizon. I had never even seen a computer, let alone understood concepts like email or the internet. But a small article in 《读者》 (China’s version of Reader’s Digest—yes, a "copy") convinced me that the 21st century would belong to computing. That belief led me to choose Computer Science as my major for every university I applied to.
While Computer Science theoretically covers both hardware and software, those interested in hardware typically study Electrical Engineering. So, for most of us, Computer Science meant a career in software engineering. That little article turned out to be right—information technology has dominated the past 25 years. From my first job onward, I’ve been immersed in countless software projects and companies, too busy to revisit a fundamental question: What is software, really?
Only recently, with the rise of AI and LLMs (Large Language Models) that can generate functional code from natural language, have I paused to reflect on this question again. And the answer is more fascinating now than ever.
What Is Software, Really?
Textbooks define software as "a set of instructions, data, or programs that tell a computer how to operate." But today, software does far more than instruct computers. It tells everything how to work—from smart wristbands to nuclear power plants, from laundry machines to national infrastructure. Why? Because nearly everything can be abstracted into data, and data can be processed by software.
Those "sets of instructions" are no longer just CPU commands. They dictate how your microwave heats food, how banks process transactions, even how rocket engines ignite. Software is made of instructions and data, and since instructions themselves can be represented as data, software inherits a key property of data: it costs almost nothing to reproduce and transfer. This is why tech companies scale so effortlessly—once the initial idea is built, duplication is virtually free.
But what truly sets software apart from raw data is that it embodies an idea—a vision of how something should operate. And that idea, not the code itself, is where the real value lies. Think about it: software is just a thought, a concept. Its creation—design, implementation, testing—requires no physical materials. It’s all just ideas.
AI and the Crossroads of Software Engineering
Now, AI can write code. It can generate entire websites in seconds. Reports warn that software engineering may become obsolete, replaced by machines. Are we at the end of an era?
I don’t think so.
While AI excels at implementation, I doubt it can produce great ideas—the kind that solve real human challenges. And ultimately, those challenges are where all value comes from. AI will only make software cheaper to build, which means the ideas behind software will become more valuable.
This shift changes what it means to be a software engineer. In the past, much of my effort went into writing code. But my real job was always solving business problems. With AI handling implementation, my role must evolve: I need to focus more on understanding problems and designing solutions. (Assuming I keep my job, of course. 😄)
Expanding the Scope
Yes, AI will reduce the need for engineers in traditional roles. But it will also expand what’s possible. Some of us may lose jobs, and that thought troubled me for a while. I considered switching careers—opening a food stall, becoming a plumber, or even living off-grid, farming and foraging to escape the job market altogether.
But then I realized: the better path is to expand the scope of what I do. Instead of just contributing ideas at work, I can use AI to solve challenges in my own life—and maybe others’ too.
This blog is an example that it's also a tool for my son to practice math and English (a long-standing challenge for me, as I struggle to critique his work without straining our parent-teen relationship).
The early posts are his work, reviewed by AI. It’s primitive, but every long journey starts with a single step.
The Future of Software Engineering
AI won’t kill software engineering—it will redefine it. The demand for ideas that solve problems will only grow. And with AI’s help, more people will turn their ideas into reality, even for niche challenges.
The question isn’t "Will AI replace us?" but "How will we adapt?" For me, the answer is clear: embrace AI as a collaborator, not a competitor. After all, the last place I want to be is on the wrong side of history.