Software development has always evolved through methodologies that structure how we think about building systems. Waterfall gave way to Agile. Test-Driven Development changed how we approach correctness. Behavior-Driven Development shifted focus toward specifications that non-technical stakeholders could understand. Each methodology emerged because the existing approaches no longer fit the reality of how software was actually…
The Future Engineer: What Software Development Looks Like When AI Handles the Code
The software industry has entered a period of genuine transformation. After decades of incremental tooling improvements, AI-assisted development is introducing changes that feel qualitatively different from what came before. Code completion, automated testing, and intelligent refactoring are no longer experimental features but daily realities for many developers. This shift raises uncomfortable questions about the future…
Code Is for Humans, Not Machines: Why AI Will Not Make Syntax Obsolete
With AI, “everybody is a programmer.” You do not need to learn syntax anymore. Just describe what you want, and the machine will write the code for you. If you have spent any meaningful time in this profession, you are probably laughing right now. Or at least shaking your head. This narrative has become extraordinarily…
The Eternal Promise: A History of Attempts to Eliminate Programmers
When I look back at the history of software, one pattern emerges with remarkable consistency: the promise to simplify software creation, to make it cheaper, and ultimately to eliminate the need for programmers altogether. This is not a new idea. It has been the driving ambition of our industry since the 1960s. And while each…
AI-Powered Fixed-Cost Development: A New Model for Agencies
Software development has always carried an uncomfortable truth: nobody really knows how long it will take. Clients want certainty. They want a number, a deadline, a budget they can plan around. Agencies and independent consultants want to deliver that certainty, but they have learned through painful experience that software estimation is more art than science….
The AI Orchestration Developer: Why Team Leaders Will Define the Next Era
There is a particular kind of developer who has spent years doing something that most of the industry undervalues: building people, not just systems. They review code not to gatekeep, but to teach. They pair with junior developers not because it’s efficient, but because they understand that growth compounds. They know that a team’s ceiling…
Why Ruby Might Be the Most AI-Friendly Language Nobody’s Talking About
A few weeks ago, Martin Alderson published something that caught my attention: a systematic comparison of how token-efficient different programming languages are when fed to large language models. The findings were fascinating. And if you’ve been following my writing on Ruby, you won’t be surprised to hear that Ruby came out looking very good indeed….
How AI Saved $2 Million in a Single Day; And It Wasn’t Vibe Coding
I recently came across a story that perfectly encapsulates something I’ve been thinking about for months. It’s about a CPO who was handed an unlimited token budget and told to vibe code three MVPs for Q1 2026. They did something unexpected instead. Rather than firing up Lovable or Bolt to start generating code, they opened…
What Makes Ruby Different: Unique Structures vs Python, Java, JavaScript
In my previous post on Ruby’s building blocks, I covered when to use Struct, Data, Class, and Module. But I glossed over something important: many of these constructs don’t exist in other languages – or exist in such diminished forms that they barely count. Ruby isn’t just another object-oriented language with different syntax. It has…
Ruby’s Building Blocks: When to Use What (And Why)
Ruby gives us an abundance of organizational tools. Struct, Data, classes, modules as namespaces, modules as mixins, service objects, and the include/extend/module_function trinity. Each is well-documented individually, but there’s a gap: when and why to choose one over another. This isn’t about rules. Ruby’s philosophy encourages pragmatism-take what you need and move forward. But pragmatism…