Introduction
If you’ve been writing code for the past few years, you’ve lived through a shift that’s hard to overstate. AI went from a curiosity to something that’s genuinely changing how we build software – and it happened fast.
I’ve spent the last couple of years not just using AI tools but actively pushing into what’s possible – building agent systems, experimenting with tool orchestration, and figuring out where the real productivity gains are versus where the hype is. This post is my attempt to lay out my understanding of the full picture: how we got here, what the technology actually looks like under the hood, how businesses should think about adoption, and the moment when AI coding crossed from ”interesting experiment” to genuine time-saver.
Part 1: The 4 Stages of AI in Software Development
Looking back, I see four distinct stages in how developers have adopted AI. Most of us have gone through them in order, and recognizing where you are helps you see what’s coming next.
Stage 1: The Sanitized Chat
This is where most of us started. You open a browser tab, paste in a stack trace or a code snippet, and ask ”why is this failing?” The answers are often solid – sometimes surprisingly so – but there’s always a friction: you’re stripping out context before you paste. No real class names, no business logic, no connection strings. You’re sanitizing everything because the code isn’t yours to share, or your company policy says so.
The conversations stay abstract by necessity. You get textbook explanations and generic patterns. Useful, but you’re still doing the heavy lifting of translating that generic advice back into your specific codebase. It’s like asking a consultant who’s never seen your system to debug it from a description.
Still, this stage was eye-opening. For the first time, you had something that could explain a regex, draft a SQL query, or walk you through an algorithm at 2 AM without Stack Overflow’s ”marked as duplicate” slap in the face.
Stage 2: AI in the Editor
Then autocompletion got smart. Instead of switching to a browser, the AI moved into your IDE. It sees your open file, the function signature you just typed, the variable names you chose – and it finishes your thought. Tab, accept, move on.
This is where AI first touched production code directly. You’re not copy-pasting from a chat window anymore; the suggestions flow right into your working file. The productivity gain is real and measurable. Boilerplate melts away. Test scaffolding writes itself. That LINQ query you’d normally look up? Already there.
But it’s still reactive. You’re driving, and the AI is a fast passenger who occasionally grabs the wheel for a few seconds. It doesn’t know your architecture, your domain model, or why you structured the solution the way you did. It just sees the current file and makes educated guesses.
Stage 3: Chatting with Your Actual Code
This is the stage where things get genuinely interesting, and where the gap between early adopters and everyone else starts to widen.
This is where the context barrier breaks down. Enterprise agreements, local models, and clear data policies made it possible to work with real production code in AI conversations. Instead of stripping out every class name and sanitizing your snippets, you can share actual code, real error messages, and specific schema definitions with confidence.
The difference is immediate. You paste a failing test with the real OrderService and the real ShipmentRepository, and the AI sees that you already have retry logic in one and a Unit of Work pattern in the other. It suggests an implementation that fits your codebase, not a generic one you have to rewrite.
You can discuss architectural trade-offs grounded in what’s actually in your repo. The AI references your naming conventions, your existing patterns, your test structure. The conversations go deep because the context is real.
Compared to stage 1, the output quality is night and day – not because the model got smarter, but because it finally has the context it needs to give you a specific, useful answer instead of a textbook one.
Stage 4: Agentic AI – The AI That Does, Not Just Suggests
The final stage is the one that changes the developer’s role most fundamentally. The AI doesn’t just tell you what to do – it does it. It reads your files, writes code, applies patches, runs your build, executes your tests, and iterates on failures. You shift from writing code to reviewing and steering.
This is where tool use becomes the critical capability. The AI can search your codebase, open specific files, create or edit code, run shell commands, and interact with external services. It’s not autocomplete anymore – it’s a junior developer with decent memory and infinite patience, working in a loop until the task is done or it needs your input.
We’re still early in this stage. The tooling is maturing fast, and the patterns for governing what the AI can and cannot do autonomously are still being established. But the direction is clear: the developer becomes the architect and reviewer, while the AI handles the implementation cycles. One of the key things is to constrain AI tool use with guardrails – approvals, sandboxing, and clear audit trails – to maintain trust while unlocking productivity.
Currently we are discovering Agentic AI, what works and what doesn’t. I have tried to enforce my best practices to the agents I steer and the results are promising.

Asmo Korkiatupa
Software Architect
Hands-on Software Architect with strong AI and cloud expertise



