The Step We Skip When Developing with AI
As developers, we use AI for a lot of things. Most of the time, we already have an expected output in mind, and we use that expectation to review the final result. Fixing a bug? Check if the bug is gone. Implementing a feature? Check if it works without gaps. Define the output, ask AI to do it, review, ship. Natural flow.
But there is a step we forget sometimes: exploring alternative paths. It is not a magical or complex analysis with dozens of variables. It is basically a new conversation session with AI. In that session, you ask how an expert developer would approach the issue. Which paths they would follow, which decisions they would make, which trade-offs they would consider. You get to see how the AI gathers information and plans the solution before writing a single line.
A few things I like to ask in that session:
- How would you implement this as an expert? What paths, decisions, and trade-offs would you consider?
- Review my solution, but not for code quality or bugs. Can we shorten the path or simplify any logic?
- What happens at scale or in edge cases? If thousands of users trigger a download at once, is the server ready without struggling the database? If a container dies mid-job, does it recover after deploy or is the job lost?
Those questions are great for understanding how a system behaves, especially when you are working on code you are not familiar with.
Even before the AI era, I always liked reviewing my own solutions to see if I could simplify something or catch edge cases I missed. Now with AI, it is much easier and faster. Same thread as We're Wasting the Real Benefits of AI and Test Plans Before the PR: using AI is not only about implementation speed.
If you are not doing this lately, I invite you to try the exploration step on your next task. See you next time!