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: Learning to Work With AI Without Losing Your Skills
Most Common Mistakes Developers Make With AI-Assisted Coding (And How to Fix Them)
In March, I tackled something that was bothering me about the explosion of AI coding tools. Everyone was celebrating how fast they could ship code, but nobody was talking about the mistakes piling up underneath. I wrote about the most common mistakes developers were making with AI-assisted coding, and more importantly, how to actually get better at working with these tools instead of just letting them do everything.
The piece focused on practical stuff like understanding what the AI is actually generating, verifying its output, and not treating it like a magic black box. Because here’s the thing: AI can write code faster than you can, but it can’t understand your business logic, your edge cases, or why that weird workaround exists in your codebase. That’s still on you.
April 2025: Why AI Won’t Replace Software Engineers (And Might Create More Jobs)
Why AI Coding Tools Will Increase Demand for Software Engineers, Not Decrease It
By April, the “AI will replace all developers” narrative was reaching fever pitch, so I pushed back with something that seemed counterintuitive at the time but makes perfect sense if you think about it: AI coding tools are going to increase demand for software engineers, not decrease it.
The reasoning is simple. When you make it easier to build software, more people try to build software. When more people build software, you get more software that needs to be maintained, scaled, secured, and actually made to work properly. And guess who’s going to do all that? Not the AI. It’ll be DevOps engineers, MLOps specialists, and senior developers who can clean up the mess.
I called it “vibe coding” when people use AI to generate an app based on a feeling of what they want, without understanding what they’re actually building. That creates opportunities for people who do understand what’s happening under the hood.
May 2025: The Gap Between Junior and Senior Developers Just Got Wider
How AI Coding Tools Are Widening the Gap Between Junior and Senior Developers
In May, I wrote about something uncomfortable that people weren’t talking about openly: AI isn’t leveling the playing field between junior and senior developers like everyone hoped. It’s actually making the gap wider.
Senior developers use AI to move faster because they know what to ask for, how to verify the output, and when to ignore bad suggestions. Junior developers use AI as a crutch, never developing the intuition they need to become good engineers. They can ship code, sure, but they can’t debug it, explain it, or maintain it.
This wasn’t meant to be doom and gloom about juniors. It was a wake-up call that we need to rethink how we mentor and train people in an AI-assisted world. Just having AI available doesn’t make you a better developer. It can make you worse if you’re not careful.
October 2025: The 200,000 Lines of AI Code That Didn’t Matter
A Team Deleted 200,000 Lines of AI-Generated Code and the App Still Works
October brought one of my favorite stories of the year. A team deleted 200,000 lines of AI-generated code and their application kept working fine. Not just working, but actually running better in some ways.
This perfectly illustrated what I’d been saying all year: AI can generate massive amounts of code, but that doesn’t mean the code is necessary, good, or even doing what you think it’s doing. The team had been using AI to rapidly build features, and they ended up with this bloated codebase that nobody understood. When they finally went through it systematically, they found that most of it was either redundant, wrong, or solving problems that didn’t exist.
The real lesson wasn’t “AI bad” but “engineering discipline still matters.” AI can accelerate your development, but it can also accelerate your chaos if you don’t have good practices in place.
November 2025: Why PgVector Matters for AI Applications
Why PgVector Is Essential for AI Products in 2025
In November, I got more technical and wrote about PgVector, a PostgreSQL extension for handling vector embeddings. This was me diving into the practical side of building AI products, not just theorizing about them.
If you’re building anything with large language models that needs memory or context, you need a way to store and retrieve vector embeddings efficiently. PgVector gives you that inside PostgreSQL, which means you don’t need to add another database or service to your stack. You can keep everything in your existing Postgres setup.
I made the point that in 2025, if you’re building AI products, PgVector isn’t a nice-to-have. It’s a core architectural component. The ability to give LLMs relevant context, personalize responses, and reduce hallucinations depends on good vector search, and PgVector handles that elegantly.
December 2025: Getting Philosophical About Work, Culture, and What Actually Matters
December saw me branching out from purely technical topics into bigger questions about work culture and organizational behavior. I wrote several pieces that questioned common assumptions about corporate life.
Company Culture: I challenged the entire concept of “corporate culture,” arguing that most of what companies call culture is just performance art for executives. Real culture emerges organically from how people actually work together, not from mission statements and team-building exercises. When it comes to company culture, there’s really nothing cultural about it by itself at all. It’s just management dressed up in anthropological language.
The Corporate Culture Charade Part 2: How AI Is Killing What Little Culture We Had Left: In a follow-up piece, I explored how AI is killing what little authentic culture companies had left. Everyone is using AI to write emails, generate reports, and summarize meetings. Those summaries get fed into more AI systems, creating this closed loop where nobody is actually thinking anymore. We’re just passing AI-generated content through human intermediaries, and calling it work.
Stop Procrastinating in 2025: Part 1 and Part 2: From Intentions to Impact: I wrote a two-part series about actually making changes in your life instead of just writing resolutions that fail by February. Part 1 focused on fixing your procrastination and distraction problems before you even think about goals. Part 2 was about building a real operating system for your life, with themes instead of rigid goals and quarterly planning instead of annual pipe dreams.
A Christmas Eve Technology Outlook: Ruby on Rails and Web Development in 2026: Right before Christmas, I published a long piece about Ruby on Rails and web development heading into 2026. Rails is having a renaissance, powered by Ruby 4.0’s performance improvements and Rails 8’s focus on simplicity. The framework that people kept declaring dead is thriving because it prioritized developer happiness over chasing every new trend.
The Future of Language Frameworks in an AI-Driven Development Era: I also explored whether we even need traditional programming conventions anymore when AI is writing most of the code. The answer is yes, we still need them, because humans still need to read, understand, and maintain the code. But the way we think about framework design might need to evolve to support both human developers and AI code generation.
Building a Decentralized Credit Card System Part 2: Solidity Smart Contract Implementation: I published a technical piece about building a decentralized credit card system using smart contracts, exploring how multi-signature controls and encrypted spending limits could work on the blockchain. It was a deep dive into Solidity implementation, showing actual production-ready code for a credit facility contract.
What Ties It All Together
Looking across the whole year, there’s a thread connecting everything I wrote. It’s about maintaining sanity and competence while technology moves faster than our ability to process what’s happening.
AI is powerful. It’s going to change how we build software, how we work, maybe how we think. But the fundamentals still matter. You still need to understand what you’re building. You still need good engineering practices. You still need to think for yourself instead of outsourcing everything to machines.
Companies are still going to waste time on culture initiatives instead of paying people fairly and giving them meaningful work. People are still going to procrastinate and make resolutions they won’t keep unless they fix the underlying systems first. Frameworks like Rails are still going to matter because they make developers productive and happy.
The technology changes. The human challenges remain surprisingly constant.
That’s what I’ve been writing about in 2025. Not just what’s new, but what actually matters once you get past the hype. And trying to do it in a way that’s honest about both the opportunities and the problems we’re creating for ourselves.
Looking ahead to 2026, I expect more of the same, but more intense. AI will get better at coding, which means the need for humans who can think clearly about code will become even more critical. Companies will continue to miss the point about what makes people effective. And somewhere in there, I’ll keep writing about it, trying to make sense of where we’re all heading.
That’s the year. Thanks for reading.