Software engineers automate processes. We make machines generate value[^1] like tireless robotic hamsters in little virtual wheels.
Ironically, the moment a process gets fully automated, it becomes a commodity. Enough competitors automate it, and price gets dictated by supply/demand, not the value it creates.
Take web development from the early 2000s. If you knew HTML, CSS, and had a grasp of SEO, you had a marketable skill. Clients needed websites, and building them required technical expertise. You could charge premium rates for custom development work.
Then came the drive for efficiency. Developers wanted to build websites faster. We created frameworks, CMS systems, and drag-and-drop builders. We automated the repetitive parts of web development.
And then Squarespace arrived.
They automated web development so effectively that anyone could create a professional-looking website in minutes. No coding required. Just choose a template, add content, and publish.
Web development didn’t disappear. But the value of basic web development work changed dramatically. What was once a premium service became a commodity. The moat that technical expertise provided eroded.
This is the automation paradox: when you successfully automate a process, you often reduce its economic value. The automation makes the work accessible to more people, which drives down prices and changes market dynamics.
Software engineers are particularly susceptible to this paradox because our core value proposition is automation. We create systems that reduce manual effort, streamline processes, and eliminate repetitive tasks.
But each successful automation reduces the scarcity of the skill that was previously required. If enough people can automate a process, the market dictates pricing based on supply and demand rather than the value generated.
We’re seeing this play out again with AI and large language models. Companies are racing to build tools that automate software development tasks - code generation, testing, deployment, even architecture decisions.
The pitch is compelling: use AI to write code faster, reduce bugs, accelerate development cycles. And for many tasks, it works. AI can generate boilerplate code, suggest optimizations, and handle routine programming work.
But here’s the question that gets less attention: once these AI tools become widely available and effective, what happens to the value of the work they automate?
The paradox suggests that pure automation work becomes commoditized. But there are ways to build sustainable value that automation can’t easily touch.
One potential path is deep client understanding. The most successful software engineers and consultants don’t just automate processes - they understand the underlying business problems their clients face.
This goes beyond technical implementation. It requires understanding:
When you can articulate not just how to solve a technical problem, but why that solution matters to the business, you create value that automation can’t replicate.
Yet it’s worth questioning whether AI will ever truly master this domain. Current AI systems can analyze business documents and suggest solutions, but they often miss the subtle contextual cues, unspoken assumptions, and human elements that shape real business decisions. The skepticism here is healthy - while AI might assist with client understanding, the uniquely human ability to build trust, read between the lines, and navigate complex interpersonal dynamics remains difficult to automate.
Another potential moat lies in decision-making frameworks. As automation handles more routine work, the real value shifts to making complex decisions under uncertainty.
This means developing healthy, effective, repeatable approaches to:
Good decision-making requires context gathering, risk assessment, and clear communication. These are skills that develop with experience and can’t be easily automated.
That said, we should be skeptical about how much mental load AI will actually reduce here. While AI can help gather data and suggest options, the judgment calls - weighing competing priorities, anticipating unintended consequences, and making decisions under time pressure - remain deeply human challenges. AI might make decision-making faster, but it could also create new cognitive burdens by generating more options to evaluate and increasing the complexity of the decision-making process itself.
Perhaps the strongest moat comes from excellence in product development itself. While automation can handle implementation, the ability to create products that customers truly need and want remains distinctly human.
This involves:
When you can consistently deliver products that provide genuine value, automation becomes a tool that enhances your work rather than commoditizing it.
Here too, skepticism is warranted. AI can certainly accelerate development cycles and suggest improvements, but the creative leaps - identifying unmet needs, designing elegant solutions, and building products that resonate emotionally with users - are not easily automated. Moreover, as AI becomes more involved in product development, it may actually increase cognitive load by requiring engineers to validate AI suggestions, manage AI-generated complexity, and maintain oversight of systems they don’t fully understand.
The automation paradox forces us to confront uncomfortable questions: if automation continues to advance, how do software engineers maintain their economic value?
The traditional moat of technical expertise erodes as tools become more capable. The challenge is finding new sources of value that automation amplifies rather than diminishes.
This isn’t about resisting automation. It’s about understanding how automation changes the landscape and positioning yourself accordingly.
For individual engineers, this means continuously developing skills that automation can’t easily replicate:
For engineering organizations, it means building cultures that value these human skills alongside technical proficiency.
And for the industry as a whole, it suggests that the future belongs to those who can leverage automation thoughtfully - not just assuming it will reduce mental load, but actively managing how it changes the nature of our work. The challenge is recognizing that AI might not simply make complex tasks easier; it might make them different, requiring new skills and approaches we haven’t yet anticipated.
The automation paradox isn’t a death sentence for software engineering. It’s a reminder that value creation in technology is dynamic. What was valuable yesterday may be commoditized tomorrow.
The key is recognizing that automation is a tool, not a destination. But we should be cautious about assuming it will automatically free up mental load for “higher-order” thinking. Sometimes automation creates new cognitive burdens - managing AI outputs, validating suggestions, and dealing with increased complexity.
The paradox becomes an opportunity when you actively shape how automation changes your work, rather than passively accepting that it will make everything easier. The uniquely human aspects of software development may remain difficult to automate, but they might also become more important - and more challenging - as AI handles more of the routine work.
The challenge - and the opportunity - is building moats around the uniquely human aspects of software development: understanding complex problems, making sound decisions, and creating products that deliver real value. But we shouldn’t assume these moats will be easy to defend or that AI won’t find ways to encroach upon them.
Automation will continue to change what we do and how we do it. The engineers who thrive will be those who adapt not by resisting change, but by thoughtfully integrating automation while preserving and enhancing their most valuable human skills.