---
title: 'AI-powered Development: The Good Parts'
summary: AI can boost developer productivity - it's not just marketing. But it's also not a magic "vibe coding" wand. Instead, it's all about TAB, TAB, TAB and the occasional chat.
thumbnail: ./ai-powered-dev-the-good-parts.jpg
tags:
  - web development
  - ai
createdAt: 2025-04-03
updatedAt: 2025-04-03
author: Maximilian Schwarzmüller
---

import Infobox from '@/components/article-elements/InfoBox.astro';
import CourseAd from '@/components/article-elements/CourseAd.astro';

If you [watched my video](https://youtu.be/VQFvugpxNJE) (or listened on my [Podcast](https://maximilian-schwarzmueller.com/podcast)), or you read [my article](/articles/vibe-coding-is-not-my-future/), you know that "vibe coding" isn't my thing.

But that does not mean that I don't use AI for development. Quite the opposite: I use it everday, all the time - just not like all the "vibe coders" out there.

## Don't Let AI Be The Pilot

The problem I have with "vibe coding" and, specifically, the results produced by vibe coding is **not** that AI generates code. Instead, it's that AI generates all (or almost all) the code. And that's not helpful.

You may or may not believe that AI will replace developers in the near future. I'm convinced it won't. Not this year, not the next ten years.

However, it will definitely be used by developers to generate significant amounts of code. But, as I also explain my vibe coding video and article, as a good developer, you want to steer the AI to make sure it produces the code it should produce. Instead of letting it hammer out entire codebases.

<Infobox title="How many code do developers actually write?" type="info">
AI generates significant amounts of code already. Every time you hit <kbd>TAB</kbd> or <kbd>ENTER</kbd> to accept a suggestion, you're increasing the "code written by AI" counter.

But even before AI, developers didn't write all the code themselves. We just didn't measure how much code was generated by good old "dumb" autocompletion.
</Infobox>

AI is quite capable of generating boilerplate code, or even entire features. But when it comes to building entire apps, systems, or even just connecting features, it struggles.

Sure, you can try getting there by throwing prompt after prompt at it, but chances are that it may not work or that it'll at least be less efficient than writing (**AI-assisted!**) code yourself.

So, how do you AI use efficiently then? Or, at least, how do I use AI efficiently?

## Let It Be The Copilot Instead

It's in the name: GitHub **Copilot**. Not GitHub Pilot. Use it as such!

The part I love about all those AI IDEs and assistants the most is the AI autocompletion & suggestions. Flying through a codebase by hitting <kbd>TAB</kbd>, <kbd>TAB</kbd>, <kbd>TAB</kbd> is just amazing!

Cursor has it, Windsurf offers it, and GitHub Copilot [finally also has that feature](https://code.visualstudio.com/blogs/2025/02/12/next-edit-suggestions#_next-edit-suggestions-nes).

Besides the "normal" AI-powered autocompletion (which was [introduced by GitHub Copilot back in 2021](https://github.blog/news-insights/product-news/introducing-github-copilot-ai-pair-programmer/), before we even had ChatGPT), this "next edit" suggestion feature is all about predicting which edit you're likely to make next.

You can then hit <kbd>TAB</kbd> to jump (with your cursor) to that place and hit <kbd>TAB</kbd> again to accept it.

![GitHub Copilot predicts the likely next edit, showing it in transparent green.](./next-edit-suggestion.gif)

If you're making some changes that affect multiple places in your codefile, this feature can be an immense productivity boost!

**This** is probably **the most important** AI feature I don't want to miss in my daily work anymore.

## Ask, Occasionally

Of course, Cursor, Windsurf and GitHub Copilot offer more than just smart suggestions, though.

Features like Cursor Composer, Windsurf Cascade or GitHub Copilot Edits allow you to request and control AI-generated changes across your entire codebase.

Personally, I use these features rarely, though.

I'll use the inline chat here and there to generate some Regex, make some adjustments to a selected codeblock, or let AI review it (though, to be honest, results are not always convincing).

And, I occasionally use Compose (or GitHub Copilot Edits in my case, since I currently don't use Cursor) to request refactorings that affect bigger parts of the codebase. I'll also use it sometimes to get a second opinion, especially when working with a language or library I don't have a lot experience on.

But that's mostly it. And I like it that way! 

AI truly made me more productive. 10x? I don't know - I hope I was a bit better than that before I started using it. But it definitely made me more productive.

And that leaves out other areas like image generation (like the image for this article) which are also taken care of by AI. That of course also frees up time. But it's also not related to development, hence I didn't mention it above.

<Infobox title="Learn how to use AI efficiently!" type="info">

In case you're interested in learning more about how I use AI both for development and also other tasks, you may find my dedicated courses helpful!

<CourseAd id="ai-for-developers" />
<CourseAd id="generative-ai-chatgpt-practical-guide" />

</Infobox>