How to Use AI as a Developer Today in 2025
Chatbots vs. Augmented vs. Agentic vs. MCP
What works for AI as a developer in 2025? Sometimes it’s tough to decide between AI hype and AI bashing. What works, what should you do? What can you do?
We first need to start with an important distinction. For the code you are working on, is the module or microservice AI owned or human owned? Is the code primarily read and written by an AI or by a human developer? For all your modules and microservices decide who is in the lead. Code that is written for humans is different than code that needs to be read and written by an AI. Human code has layers, patterns, abstractions, domain driven design. AI code doesn’t need to have the same. But AI works better with more documentation, API descriptions, ASCIIdoc architecture guidelines, coding guidelines, test guidelines. Yes developers would profit from those too, but without them AI easily derails, while developers still produce working code. While short methods work for developers, perhaps long methods and copy and paste work best for an AI (we don’t know yet).
With this in mind, AIs can’t be responsible for code. Whether a developer or an AI wrote some code isn’t important as AI’s can’t own code. Both code written by humans and by AIs must be owned by an human. Only they can be made accountable. The AIs can’t be fired, they don’t care, they don’t get woken up at 2pm to fix an incident. All code needs to be owned by a human being. If a developer creates code through augmented coding or a coding agent, they are responsible and should be held accountable.
Augmented vs. Agentic
There are two main modes of working with GenAI in coding: Augmented and Agentic. In Augmented Coding, developers use an IDE like Cursor, are in the driving seat and tell the AI what code to write on a granular level. In Agentic Coding, the AI is in the driving seat and writes all code based on the requirements you tell it to follow. Augmented Coding works best for human owned code, agentic coding works best for AI owned code.
Beside these two, there are two more ways to use AI as a developer:
Chatbot (“ChatGPT”)
MCP
Augmented (“Cursor”)
Agentic (“Claude Code”)
With those many different AI tools at their fingertips, not a lot of experience as an industry and no guidance from their managers, except of “More code, faster!” developers struggle with what and how to use their new tools.
Let’s take a look.
Chatbot (“ChatGPT”)
The best thing you can do with AI is to use it for better ideas. The problem of software development is not how to build things, or how to build things as fast as possible, the real problem is what to build. Everyone thinks their ideas are the best - truth be told, they are not. I have seen so many bad ideas that have been implemented with hundreds of developer-hours that it makes me sad when I think about it. The best use of AI is to come up with better ideas or sharpen your ideas of what to build.
Many companies I work with or worked for have a poor understanding of the customer, the market or the competition. CEOs do not spend enough time having the most knowledge in the industry about their niche. A Chatbot is a wonderful tool to find out more about your customers, the job they want to get done, the market and the competition - to build the right features and products instead of the wrong ones faster.
A simple way to get feedback: post your roadmap or a screenshot of your Kanban board into ChatGPT and ask the AI: “Are we working on the right things?”, “Do we become market leaders with this?”, “Can we reach an X% increase in revenue with this?”, “Give me five counterpoints on why the roadmap is bad”, “What do you think we should work on instead?” ChatGPT, while being a sycophant, doesn’t have the group think of your company and will help you steer a better course.
Augmented (“Cursor”)
I use Cursor to write functions for me, like “Create a struct X and extract X from this data structure" or “Sort Y by Z, load Z from the database, update Y and store it again”. Writing functions with augmented coding works fine, the amount of new code is limited, functions have often a limited amount of dependencies and side effects and can be easily reviewed by you while written by an AI.
Copy and paste now works! Copy and pasting code is - admit it - what developers do to deliver code (I bow before you if you never copy & pasted code). But after pasting a chunk of code, you need to review all variables, and all code. Many times have I overseen a mistake in a line of code which lead to the wrong behavior with a debugging cycle after copy and pasting some code.
Bad error handling is the biggest reason for incidents according to studies. But error handling is tiring, boring and there is always lots of pressure to deliver. “I deliver now and think of the incidents later” is what a developer might think. The importance of error handling for development can be seen in the many approaches to error handling, finding the magic grail, from Go errors to Haskell monads. But still developer don’t write correct error management and handling code. The AI is not bored, the AI is not tired and will fix all those `return err` into something more useful for debugging, tracing and mitigation.
Agentic (“Claude Code”)
Today AI is perfectly fine for writing prototypes. Indeed what I encourage companies to focus on, is not write more code with AI, but experiment more. In the past a prototype of a product or feature might have taken several day or even a full sprint. With agentic coding companies can build a prototype a day, understanding potential products and features, experimenting more and have more powerful products and features that move the needle. Prototypes can be fully created by a coding agent from some requirement artifacts.
With an experiment pipeline of prototypes we can create a Prototype → MVP → product funnel. From every ten prototypes to evaluate an idea you create one MVP to test the idea with customers. The requirements for security and styling are higher for an MVP but if you commit to throwing the code away, an MVP can easily be create like a prototype by an coding agent - with more care on your side.
Agentic coding is excellent for bug fixing. Claude Code finds many bugs much faster than a human coder and can explain the reason for the bug happening if you ask the agent. It can write a test to isolate the bug and then fix the bug (and it’s root cause, if you dig in together with Claude Code), doing it all by the book while I as a developer might be bored by writing tests to isolate the bug - and because of delivery pressure my resort to a shallow fix without tests. Recently I had a complicated session bug where in edge cases the session wasn’t saved and Claude Code was able to find the reason and fix it.
Agentic coding is great for framework, dependency or language upgrades. Most often upgrading a framework, a dependency or you language version isn’t very difficult (it sometimes is!) but tedious. It takes a lot of time and you need to be careful about what you do. And you might not have enough tests in place. The AI does not get bored and fixes broken tests until they work. Reviewing the tests after the upgrade is the easiest part left for you to do.
The mainstream opinion is that AIs are bad at security. From my experience coding agents, when asked, are above the average developer (like me!) and below a security researcher or pentester. Having a security prompt to check security in your project (OWASP, parameters, exploits, data leaks, missing encryption) lets the AI check the security of your code. Not like a pentester, but well above most developers I have encountered.
When you’re new to a company, new to a team or new to a microservice, understanding what the code models, how it is structured and how it works takes a lot of time. Letting the coding agent explain the code, used framworks, detected layers, domain boundaries and design patterns used (an let the AI guess what are the oldest and what are the newest parts ;-) makes it much easier for a developer to get into new code.
In the past I have used Claude Code with the right prompt with great success for optimizing code, finding bottlenecks and memory throughput. Recently in one project I let Claude Code find the reason for GC pressure and fix it.
You can have a prompt for pre-committing code. Ask the agent “Am I finished according to the code guidelines here and the ticket there? Is there something left I should do?”
MCP
Last not least we have MCP. Start with integrating existing services and data lakes into MCP. Many problems can be solved by just tapping into what you already have. Show the CEO the power of AI with your own data and services.
Integrate operations data from you logs, metrics and monitoring like load, memory usage etc. with MCP into you coding agent. Finding bugs, GC pressure, explaining those spikes becomes much easier.
Lastly integrate user usage analytics with MCP into your system. From then on you can ask the AI about how much this code you are working on is used and how it is used by users - which gives you a deeper understanding on hot paths, where to work and what features to improve.
With MCP in place you can replace some of your coding with AI orchestration.
Today there are already many different ways to use AI as a developer, way beyond of “write more code faster”. The main benefits are not code generation, but streamlining and optimizing all those other tasks. AI is your friend, not your enemy.