AI in Software Development: Brainrot or Evolution?
According to some authors, working with AI in software development causes “brainrot”—you’re supposedly no longer thinking for yourself. At the same time, I experience that I can perform complex tasks much faster because I no longer have to constantly look up syntax. AI has details at the ready that I can implement correctly the first time.
In my view, AI is simply an extra layer of abstraction, just as programming languages themselves are abstractions on top of assembly and machine code. But did those earlier abstractions receive the same criticism?
Déjà vu: Every Abstraction Gets the Same Criticism
History repeats itself. With every new layer of abstraction in software development, the same objections were heard:
Assembly to Higher-level Languages: “Real programmers write in machine code. You lose control over the hardware.”
IDEs with Autocomplete: “Developers can no longer program without their editor.”
Stack Overflow: “No one thinks for themselves anymore, everyone just copies and pastes.”
Frameworks: “Developers no longer understand the underlying principles.”
The Pattern: More Cognitive Bandwidth
Every layer of abstraction increases your cognitive bandwidth. You spend less mental energy on syntax and boilerplate, giving you more focus for architecture, logic, and the actual problem. Just as you no longer think about how a for-loop works in assembly, you soon won’t have to remember exactly which pandas function you need.
The Difference with AI
There is, however, an important difference between AI and earlier abstractions. Traditional abstractions are deterministic—you know exactly what map() does. AI is probabilistic—you must verify the output. This requires more critical thinking, not less.
What is Dangerous
The risks are real, but not new:
Blindly accepting AI output without understanding what it does.
No longer being able to debug when AI fails or gives incorrect output.
Relying on AI for concepts you don’t understand yourself.
But we recognize this pattern. With Stack Overflow, people pasted code without understanding. With frameworks, developers used libraries without knowing how they worked. The problem is not the tool, but how you handle it.
Progress, Not Regression
If you master the underlying concepts, AI helps you implement faster. This is identical to how compilers let you work faster than writing assembly. You solve more complex problems because you’re not stuck in syntax details. That is progress.
The criticism often comes from people who see their expertise in the old layer as the “real skill.” But that skill was largely necessary overhead, not fundamental understanding.
Practice: Building xudo.be
As a concrete example of this “new layer of abstraction,” let’s look at how this website (xudo.be) was created. Instead of spending hours configuring various components, AI acted as a force multiplier across the entire spectrum of the project:
- Hugo & Architecture: Hugo is a powerful static site generator, but template syntax can sometimes be cryptic. AI helped translate architectural requirements (such as a multilingual structure and complex content relationships) into working code, without me having to internalize every detail of the Hugo documentation.
- DevOps & Infrastructure-as-Code: The entire stack—from Docker containers for development and production to the Nginx configuration with automatic SSL certificates via Let’s Encrypt—was set up with AI support. Crucial details, such as security headers (
nosniff,X-Frame-Options) and a secure media proxy in Node.js protected against path traversal attacks, were implemented correctly from the start. - Continuous Code Review: During development, the AI acted as a senior architect critically reviewing every change. The result was a detailed code review that not only found bugs but also guarded the maintainability of the project by pointing to principles like “Simple > Clever.”
In this project, I wasn’t busy remembering the exact syntax of a Dockerfile or the specific regex for an Nginx rewrite rule. I was focused on the architecture: “How do I build a secure, fast, and scalable platform?”. The AI handled the details, allowing me to focus on craftsmanship at a higher level.
Conclusion: AI as a Tool, Not a Replacement
AI is not the end of craftsmanship in software development. It is the next layer of abstraction that allows us to work at a higher level—exactly as all previous abstractions did. It enables us to move faster from idea to implementation, provided we maintain the discipline to critically evaluate the output.