If you have been following along with the blog then I finally have the answer to my post: AI Tools are a Double Edge Sword

So after a long time playing with agents, I have finally cracked what the role of AI agents is in software development. The answer is code implementers, not autonomous builders, or junior developers, but a tool that writes your code for you from your intent, decision, and pseudo code.

Before we begin learning to build with AI, I still suggest learn to code first. Learning to code is still a beautiful form of expression. To code is to take abstract ideas and formulating them into thoughts, steps, and systems. I encourage you to learn to code despite what the internet tells you. What is machine without humans? Without learning to code first and understanding why a decision is made, is what separates you from a vibe coder and a software developer using AI.

You do not need to understand 100% of your code though. Anyone who’s worked in a large codebase or with peers knows, you own your area and not every line. What you do need to know is “What are your strengths?” and “What domain knowledge do I lack?” Once you have the answer to both questions, then you have two ways of programming with AI:

  1. Agentic coding from scratch
  2. Build core features first, accelerate with AI next.

If you are unsure or wary of AI then I will always choose the second option. However, this post is going to be split into two sections. So, choose which way you want to develop or read both.

Agentic Coding from Scratch

This is the option where you are strong at what you are building, and proficient in your area. However, no matter how good you are AI can code it faster, but not smarter than you. This is where you as a software developer come in. The goal here is not to write one big prompt, shift + tab into plan mode, or spam your agent with images. Instead your job is to break down your process step by step and task by task.

I have taken a huge inspiration and aligned my philosophy from Mario Zechner’s talk on AI Engineer, Building Pi in a World of Slop. TLDR, agents compound mistakes proportional to their output, cap the amount of code generated to the amount you can review, and write architecture and APIs by hand. “Wait you just said I can code from scratch,” you might be wondering to yourself. I did say that, but this is where you can use your strength to prompt and review your agents output. “How?” you might ask, well this is how:

First, scaffold your project if you haven’t started it. Figure out the tools and stack you will need before you think it’s a good idea to let AI make the choices for you.

Second, start with the smallest task possible and define your goal, steps, and results. You shouldn’t be going into plan mode; You should be writing your own plan. What I like to do in building my prompts are simple: define a task, write pseudo code (the steps is all it needs), add your resources. Now, you might be asking yourself, “What are my resources?” Resources are anything your agent needs to stay focused. These are links or skills if your agent needs additional information on the framework/library you are using. In addition, this could be a screenshot of the UI you are trying to reference. Also, this could be the files it needs to touch in order to complete its task. So, your agent doesn’t have to waste context in searching or greping through files and its context.

Third, final, and most important step is REVIEW YOUR CODE. This is your ballpark, you should know how this looks and if it doesn’t then change it by hand. If you don’t feel comfortable with your agent writing critical code then write it by hand. If you don’t know what critical code is then REVIEW YOUR CODE. It is that simple and its about slowly building your way up, not rushing to the top like it’s always been.

That’s it! It’s simple, it’s quick, and it’s effective to get you out the way for the majority of tasks. Just ensure that the task you write is small enough for you to review. You are a human and you have your own limits. So, don’t bite off more than you can chew.

Build Core Services First, Accelerate with AI Next

This is the option I would take when I don’t fully grasp the core system I am building, the steps required to build my way up, or trust what a model produces. This should be the time to at least understand the gist of what you are doing or slow down and learn. However, if you only learn enough to get by then you have to understand that your AI code will eventually smell. This is also where you as an engineer have to understand and accept the tradeoffs of shipping fast (and no one ever fixes this later) or build something stable today (and explain why this ticket is behind). I will only recommend the former when your code is non-critical. You might be wondering “What is non-critical code?” The answer is simple but usually helper functions, boilerplate, UI, or anything your app doesn’t need to function.

Your goal at this path should be to learn what you are building or learn the behaviors of AI. Unfortunately, this means that this section is small and ambiguous because you do not have the domain knowledge or judgement to understand what your code should look like, or how your model reasons. Only once you feel the friction of what you learn, will you be able to gain the judgement on how to delegate your task to AI, and follow the previous section.

Takeaways

We are still in the experimental stage of agentic coding. So take your time learning and understand there is no right or wrong answer yet. In this field, it is better to be late than to be early, because everything is changing by the minute. So, if you are already a great developer and familiar with AI then your job is the same as always: define guidelines, delegate tasks, and review code. If you are a great developer and not familiar with AI then now is your chance to learn how AI behaves. Write small tasks and reviews its output and learn its behavior. Finally if you’re new to code, unsure on how to make decisions, or unfamiliar with AI then your goal is to learn, not ship. Just remember you are human and take it easy.

Take care and peace my loves <3