It’s been a while since my last blog post. Why is that? Well, nothing major has really happened in the software development space that I’ve cared to write about. Sure, frameworks come and go, and I’ve had plenty of interesting work moments. I’ve even gone freelance with my own consultancy firm and been engaged 100% since the start (which is pretty awesome). But nothing that has really affected the way I work. It’s been pretty much the same for years now. So what’s changed? AI of course!

Generally, I find myself in the pool of “early majority”. I love to do the work with the tools that I’m familiar with. So it has been with AI since it first got my attention. Sure, I noticed it was there, and I’ve played with tools like Midjourney to create images and ChatGPT to answer “what’s wrong with my car?”, but that’s on the private side. Professionally though, I’ve been one of the skeptics. Like:

  • AI won’t ever be able to do what we do (software developers).
  • It’s just too complex.
  • HAHA, look at ChatGPT trying to count how many Rs there are in “Strawberry”.

That was me, when the early adopters were adopting.

Now though, I think the time has come for the early majority people, and maybe I’ve actually dipped my toe slightly into the early adopters pool on this one as well. I’m not sure. What I do know is that I got introduced to Claude Code around December 2025 by one of the early adopters. He had been using it for a long time, and he showed me the ropes. So I got a pretty good start I’d say. From there it pretty much turned upside down how I’ve been developing software the last 3–4 months. And this is absolutely worth writing about!

This might turn into a series of blog posts, and this first one is about “AI-assisted development”.

I don’t like the term “vibe coding”. It implies just going with the flow and letting the AI do all the work. The popular opinion is that now anyone can code. Which is kind of true. But I also fully believe that the skills and mindset that make people great programmers are the same that will determine if you succeed or not with AI. Whether you produce production quality code, or AI-slop (great term btw).

I prefer the term AI-assisted development, and it goes like this:

  1. Plan, plan, plan
  2. Let the AI start implementation
  3. Review and test the changes
  4. Either go to 1. again, or proceed to 5.
  5. Prepare for pull request and peer-review
  6. Either merge or go to 1. again with the feedback received from team during PR review.

AI-Assisted Development Workflow

There’s not much vibing going on here.

When I realized that I could use all the things that, subjectively, makes me a good programmer — I was sold. It’s methodical and structural. There’s QA gates to pass through. It’s also very familiar, only there’s a new team member named Claude, sitting right next to me, and he’s insanely efficient.

Another thing that made me really happy was that it’s a perfect match for my thoughts on how to work with Git. If you’ve read my other posts, you’ll know that I put great value in having a clean commit history with logical atomic commits. Turns out, that’s pure gold for AI context. The AI can read your commit history and actually understand what you were trying to do and why. And it makes it easy to let the AI go nuts and experiment without worrying — because I know exactly how to clean it up afterwards.

Since December I’ve spent many evenings and weekends working on a couple of hobby projects. These are projects where I’ve come closest to what I consider vibe coding. There’s no team of people to work with. Just me and my ideas. What I’ve found is that because of my experience with software development, I’m able to catch the AI when it starts going down a path that ends in misery. Which I need to do quite often. I’m not so sure that people without years of experience writing software will recognize and act on this immediately. And acting immediately is important, because otherwise bad decisions become established patterns that the AI will double down on. What started out as a minor misalignment will definitely end up as a huge liability after a year in production.

I’ve realized that sure, AI opens up coding to people who didn’t know the syntax before. But the people who succeed would have likely made great “traditional” programmers as well. It’s all about the mindset I believe. If you want to succeed you need to go deep together. Work out all edge cases and really take ownership of the results. The craft still matters. I’d argue it matters more now, because you’re moving so much faster that bad judgment compounds quicker too.

But speed creates a new problem. When code is this cheap to produce, how do you review it? That’s what I want to talk about next.