6 Months Using AI Coding Tools: What Actually Changed for Our Dev Team


📺

Article based on video by

Axel MolistWatch original video ↗

Six months ago, I thought AI coding tools would make writing code faster. What actually happened surprised me—our bottleneck just moved from typing to something else entirely. I spent half a year testing Lovable, Bolt, and Cursor with our 20-person dev team, and here’s what no vendor demo tells you.

📺 Watch the Original Video

Where the bottleneck actually moved

The shift from writing to reviewing

Here’s what surprised me: AI coding tools made our developers dramatically faster at writing code, but something unexpected happened — the bottleneck just moved downstream. Instead of waiting days to get a feature built, we’re now waiting days to get it reviewed. I noticed this pattern across teams using tools like Lovable, Bolt, and Cursor. The velocity of generation went through the roof, but the review pipeline couldn’t keep pace. It’s like upgrading your car to 200mph on a highway where the speed limit is still 60. You have the capability, but the system around you hasn’t caught up. Code review became the new choke point, and frankly, it’s where most teams underestimate their exposure.

Why ‘vibe coding’ creates new coordination challenges

The “vibe coding” approach — moving fast, trusting the AI, shipping quickly — works beautifully until you hit the maintenance wall. Here’s what I’ve observed: when one developer uses AI to generate a solution, they carry the implicit context of why certain decisions were made. But when another developer needs to debug or extend that code six weeks later, that context is gone. The original developer might not even remember the tradeoffs they accepted. This creates a coordination tax that compounds with team size. In a 20-person dev team, the average distance between the person who wrote code and the person who needs to modify it grows quickly. What started as a productivity win can quietly become a technical debt problem. The fix isn’t slower AI coding — it’s better documentation practices and more intentional code review rituals that capture why something was built a certain way, not just what was built.

What changed in our hiring and roles

Skills that became more valuable overnight

Here’s what surprised me: the developers who became most valuable weren’t necessarily the fastest coders. System design and architectural thinking suddenly mattered more than ever, because AI could write code quickly, but someone still needed to tell it why to build things a certain way.

We also completely changed our hiring posture around code review. Instead of asking “how fast can you ship features?” we started asking “can you spot the subtle bug that will haunt us in six months?” Code review quality became our benchmark. The logic was simple—when AI generates the first draft, what you need is sharp editorial judgment, not volume.

Roles that quietly became less critical

I’ll be direct about this: raw coding speed stopped being a selling point. For years, we measured developers by output volume. That mental model started crumbling almost overnight.

What got more complicated was junior developer onboarding. The optimistic take is that juniors could contribute meaningfully sooner—with AI handling boilerplate, they could focus on logic. But here’s the catch: without stronger mentorship structures, they also generate tech debt at an alarming rate. AI writes code that works, not code that lasts. We had to build guardrails we hadn’t planned for.

Sound familiar? If you’re still hiring for code output volume, you’re likely optimizing for the wrong thing. The bottleneck shifted from “who can write the most code” to “who can direction the AI most effectively and maintain what it produces.”

The tools we actually kept using

After six months of experimenting with every AI coding platform that launched, our team landed on a pattern that surprised us. We didn’t end up with a single winner — we ended up with a three-tool rotation. Each one earned its place for different reasons.

Cursor dominated for ongoing project work and team collaboration

Cursor became our default for anything we’d be working on for more than a week. It wasn’t because the AI was smarter than the alternatives. It was because of agent continuity — the tool remembered what we’d built, what decisions we’d made, and why.

For our unified communications platform, that’s not a small thing. We had codebases where context mattered deeply. Cursor’s project awareness meant we weren’t re-explaining our architecture every time we opened a file. The whole team benefited from shared context without extra documentation overhead.

We also found Cursor’s collaborative features genuinely useful for code review. When a senior dev could see AI suggestions alongside the actual implementation, onboarding junior developers got faster. That’s where Cursor earned its spot in our daily rotation.

Bolt excels for rapid prototyping but struggles with complex architecture

Bolt impressed us immediately for quick experiments. Need to knock out a landing page or test a UI pattern? Bolt got us something working in minutes. The speed felt almost reckless in a good way — like a sketch tool rather than a final draft.

But here’s where it fell apart for us: complex architecture. When we tried to build anything with interconnected systems — like the event-driven components we needed for We UC — Bolt’s generated code started fighting itself. We’d fix one piece and break another. The speed advantage evaporated the moment we needed consistency across multiple modules.

Sound familiar? Prototyping tools have always had this ceiling. The difference is that with AI, you hit it faster and more confidently, which makes it more frustrating.

Lovable surprised us with frontend consistency but required careful prompt management

We didn’t expect Lovable to be the one that stuck. But for frontend work, it delivered something the others struggled with: consistent design patterns. Our frontend code started looking like one developer wrote it, even when three different people were prompting it.

The catch was prompt discipline. Sloppy prompts produced sloppy interfaces, and “sloppy” meant noticeable — flickering layouts, inconsistent components. Once we established templates for how we prompted Lovable, the results became reliable. But that initial investment was real.

The practical lesson? Some tools reward careful input more than others. Lovable is one of them. If you’re willing to invest in how you communicate with it, the output justifies the effort.

When each tool worked and when it fell apart

The pattern that emerged wasn’t about finding the “best” AI coding tool. It was about matching the tool to the problem.

Cursor handles the work we own. Bolt handles the work we’re exploring. Lovable handles the frontend we’re building toward. Each one has a window where it shines, and a window where it wastes time.

What surprised me was how natural this rotation became. After a few weeks, our team stopped arguing about which tool to use and started knowing which one to reach for. That instinct, more than any single feature, is what made these tools actually useful over six months.

The tech debt reality nobody talks about

The promise of AI coding tools is speed — and they deliver. What they don’t tell you is what happens to that codebase six months later when you need to make real changes. I’ve watched this play out with our unified communications platform, and it’s quieter than most people expect until it’s suddenly a crisis.

How AI-generated code ages differently

Here’s what I’ve noticed: AI-generated code works beautifully in context. The model knows what’s already there, what the immediate goal is. But strip away that context — six months later, a new developer jumping in, an emergency hotfix at 2am — and you’re staring at logic that just works without anyone knowing why certain choices were made.

We hit this hard about four months in. Patterns that seemed sensible from one AI session conflicted with patterns from another. Nobody had made a decision, exactly — the code just emerged. Traditional tech debt accumulates through shortcuts and deadline pressure. This kind accumulates through consistency. It’s like a city that grew without zoning.

Documentation practices that became non-negotiable

We had to rebuild our documentation culture almost from scratch. Not just better comments — we needed something closer to architectural decision records. Why did we choose this approach? What alternatives were considered? What constraints were we working under when the AI generated this?

Here’s the concrete shift: we now treat decision documentation as part of the code itself, not an afterthought. Every significant feature branch gets a brief “why this way” writeup alongside the PR. Takes maybe 20 extra minutes. Saves hours later.

Sound familiar? Most teams discover this the hard way. I’d rather you hear it from me now.

What this means for your team if you’re just starting

Here’s what I keep seeing: teams rush to adopt AI coding tools without thinking about the human side of the equation first. The tools are exciting, but they’re only as good as the team’s ability to work with them effectively.

First steps that actually work

The single most important decision you can make early on is standardizing on one AI coding tool across your entire team. I know it seems flexible to let developers choose between Lovable, Bolt, Cursor, or whatever else is trending. But here’s the catch — when everyone’s using different tools, code style becomes inconsistent, knowledge doesn’t transfer between teammates, and debugging becomes a nightmare.

Before you buy any subscriptions, invest in code review training. This is where most tutorials get it wrong. They focus on how fast AI can write code, but the real bottleneck shifts to your team’s ability to review and validate what AI produces. If your developers can’t spot subtle bugs or architectural problems in AI-generated code, you’re just shipping technical debt faster.

What to avoid in the first 90 days

Stop measuring productivity by lines of code written. I mean it — that metric becomes almost meaningless once AI gets involved. Instead, track feature delivery time: how long does it take something to actually ship? This is the number that matters to your business, and it’s what tells you whether the tools are helping.

Also, resist the urge to cut corners on hiring experienced developers. Some teams think they can get by with junior developers plus AI tools. The reality? You still need people with strong fundamentals — they just spend their time reviewing and architecting instead of typing. The bottleneck moves, but it doesn’t disappear.

Sound familiar? The teams that struggle aren’t the ones that adopted AI late. They’re the ones that skipped the boring groundwork.

Frequently Asked Questions

How has AI changed the software developer job in 2024?

The biggest shift I’ve seen is developers spending less time typing and more time reviewing and architecting. When I look at my team, code review time has increased by about 40% because AI-generated code needs careful scrutiny. The role has genuinely evolved from ‘code writer’ to ‘code quality gatekeeper’ with better judgment.

What are the downsides of AI coding assistants nobody warns you about?

The context window problem is real — AI loses track of what it wrote 500 lines ago and starts contradicting itself. I’ve also seen teams hit a wall when the AI hallucinates an API that doesn’t exist, costing hours debugging code that looked perfectly valid. The stealth danger is technical debt accumulation: AI writes fast but creates tangled code that’s a nightmare to maintain six months later.

Do I need to hire fewer developers if my team uses AI coding tools?

If you’re thinking AI means you can cut headcount, you’re going to have a bad time. What I’ve found is that AI lets your existing team take on significantly more work, not that you need fewer people. A 5-person team doing what used to require 8 is realistic, but those developers are now doing architecture, strategy, and higher-level problem-solving that AI can’t replace.

How do you maintain code quality when using AI to write code?

Enforce a strict ‘human-in-the-loop’ policy where every AI-generated piece gets a real review before merging. I’ve also shifted to requiring developers to write the test cases before AI touches the implementation — this forces them to think through requirements and catches AI hallucinations. Documentation standards matter more now too: if the AI writes something unclear, future developers will waste time reverse-engineering it.

What’s the best AI coding tool for a small development team?

Cursor is my go-to recommendation for teams under 20 people — it integrates directly into VS Code, has solid context awareness, and the price point won’t make your finance team flinch. If you’re vibe coding (building with AI as your primary partner), Lovable or Bolt are worth a look, but they’re better for prototyping than maintaining a production codebase long-term.

If you’re managing a team and wondering whether to bet on AI coding tools, I’d start by looking at your code review process first—that’s where you’ll see the real changes.

Subscribe to Fix AI Tools for weekly AI & tech insights.

O

Onur

AI Content Strategist & Tech Writer

Covers AI, machine learning, and enterprise technology trends.