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…
A CTO Would Be Bored by Tuesday
Founder: “I need a CTO.” Me: “For what?” Founder: “Technical leadership.” Me: “What technical decisions are you making?” Founder: “Which tools to use. How to connect them. What to build vs buy.” Me: “You need a technical advisor. Maybe 5 hours a month.” Founder: “Not a full-time hire?” Me: “You’re pre-product-market-fit with 2 clients. A…
What I Wrote About in 2025
Looking back at the year, my blog became a running commentary on how AI is fundamentally reshaping software development, and not always in the ways people expect. I’ve been splitting my attention between technical deep-dives and broader observations about where this whole industry is heading. Here’s what caught my attention month by month. March 2025:…
A Christmas Eve Technology Outlook: Ruby on Rails and Web Development in 2026
As we gather with loved ones this Christmas Eve, wrapping presents and reflecting on the year behind us, it’s the perfect moment to gaze into the technology crystal ball and envision what 2026 holds for web development and particularly for Ruby on Rails, the framework that’s been delighting developers for over two decades. While children…
The Future of Language Frameworks in an AI-Driven Development Era
As artificial intelligence increasingly writes the code that powers our digital world, we’re standing at a fascinating crossroads in software development history. The fundamental question looming over our industry is deceptively simple yet profoundly complex: if AI is writing our code, do we still need the elaborate conventions, configurations, and architectural patterns that have defined…