Control the Ideas, Not the Code
In the maelstrom of the AI era, where each day brings a new tool or technique, it's easy to feel like we're losing our footing. For many developers, the idea that code, their very creation and domain, could become secondary, sounds almost like heresy. But what if one of the most respected programmers of our generation, the creator of Redis, Salvatore Sanfilippo (Antirez), said exactly that? That, instead of clinging to code, we should focus on controlling the ideas behind the software.
Antirez, a veteran who foresaw many of the current changes even before ChatGPT existed, isn't seeking relevance. He's alerting – and guiding – the next generation of builders. His message is clear: the field is evolving in a way that is "amazing and painful (but also joyful)," and it's not about individual weakness, but a fundamental shift.
The Idea Paradigm: Why Code Has Become Suboptimal
Antirez's provocation is simple: if you control the ideas of your software, focusing on the code itself is suboptimal and, often, useless. He lists compelling reasons for this shift in perspective:
- Volume of Generated Code: With AI, we can generate massive amounts of code. How do you review 5,000 lines of code per day? It's humanly unfeasible and inefficient. The ability of LLMs (Large Language Models) to produce code quickly surpasses our capacity to inspect it in detail.
- Strengths and Weaknesses of LLMs: LLMs are excellent at writing locally optimized code – that is, specific and well-defined parts. However, they are still less effective (though improving) with "big ideas" or complex architectures. The point is not to scan function by function, line by line, but rather to "prompt" the design you have in mind, ask how a specific part works, and evaluate if the conceptual model is correct. This is exponentially faster.
- The Time Trade-off: A workday has 8 hours. If you spend it reading code, you're doing less of what is, today, the most important part of your job: questioning the software's purpose, defining new directions, thinking about innovative ideas, features, optimization tricks, and, crucially, doing a lot of QA (Quality Assurance). Controlling the ideas is the priority.
Antirez goes further, criticizing the "level of sloppiness" the software industry reached in the decade prior to AI. He illustrates this with his DwarfStar project, where he implemented inference for two LLMs locally. He found that, while AI helps, you still need to understand how things work, what the best design is, and how to achieve a certain level of performance. His research revealed that the world of local inference was full of "subtle errors that accumulate and damage the model's output," often in attention implementations (mechanisms that allow models to focus on relevant parts of the input) that were inefficient or broken. In complex and rapidly changing domains like this, rigorous engineering on the design side and testing are far superior to writing (or reading) a GPU kernel (part of a program executed directly on the graphics processing unit) by hand.
Where Time Should Be Spent
Still, the question persists: if AI writes the code, shouldn't we verify it? Antirez admits that, for Redis, he still reviews AI-generated code. However, he considers this task increasingly "useless," especially with the evolution of LLMs. He does this out of respect for Redis users, who still open files and modify things manually. But if he had free rein, he would do something different:
He would use all the time spent reviewing to do more QA, to think about the next optimization idea and apply it, and to use LLMs to write a DESIGN.md file – a document that describes the software's architecture and data structures in human language, focusing on the ideas the code contains. This approach, which harks back to concepts from the classic "The Mythical Man-Month" from the 70s, highlights the importance of design and conceptual clarity over mere implementation.
Why this matters to you:
Antirez's message is a call to action for all builders and decision-makers in technology. It's not about abandoning code, but about elevating your focus. Instead of getting lost in the details of AI-generated implementation, your value will increasingly lie in your ability to conceive, design, and refine the ideas that the software materializes. Mastering design, architecture, and quality assurance – and using AI as a powerful tool for execution – is the way to remain relevant and impactful in the next era of programming.
Sources
📬 Enjoyed this? Subscribe to the Vaccari's Code newsletter for the next wave of software & AI trends, straight to your inbox: Subscribe here