A Fool with a Tool is still a Fool
Torsten Uhlmann
—
Fri, 10 Apr 2026
Image created with AI
Many years ago, a fellow developer dropped this phrase on me. I can’t remember the exact occasion, but I remember being instantly offended. I took it personally instead of pausing to ask what exactly he meant. (Though, to be fair, surrounding yourself with developers smarter than you is always a solid strategy—it forces you to keep learning.)
Once you set the bruised ego aside, the phrase is actually profound. Having access to the best tools on the market doesn’t automatically make you a master craftsman. You need years to learn your trade. The wisdom, intuition, and scars you gather along the way are invaluable, and they dictate your success far more than the tools in your belt.
Today, we are developing code in the age of AI. Hyped trends like “Vibe Coding” promise practically free, zero-effort software for anyone. But let’s look at history: over the past 30 years, countless “no-code” approaches have been introduced, aggressively hyped, and then quietly disappeared.
I am not saying AI will disappear. I absolutely don’t think so—it is fundamentally changing how we build software. What I am saying is that AI is an incredibly resourceful tool, and like any tool, it needs expert guidance.
As Pere Villega recently pointed out in a great article, it is much more accurate to view AI as an exoskeleton rather than an autonomous “co-developer.” It amplifies your capabilities, giving you incredible speed and power, but you still have to be the one walking and deciding the direction.
To develop reliable, complex applications, you have to be in the driver’s seat. You use AI as a fantastic weapon in your arsenal, but you still have to apply your expertise regarding architecture and process. You have to actively guide the AI: point out blind spots, ask it to explain its reasoning, and review its output. Never automatically trust that an AI knows what it’s doing. Sometimes it does; often, it doesn’t.
This is why you need to be acutely aware of AI’s limitations. If you understand a tool’s (or a person’s) shortcomings, you can tailor your guidance much more effectively. Instead of blindly relying on the AI in areas where it traditionally struggles, you can proactively step in and provide the specific knowledge and context you have gathered.
The biggest limitation I continually encounter with AI—no matter the model size—is context awareness.
AI does not inherently grasp the big picture of how the individual pieces of your application interact. It will read adjacent files to build up understanding for a single chat session, but it forgets the deep context you’ve built up in the dozens of chats before. It lacks the holistic understanding of a complex, interdependent ecosystem that you, the developer, have built up over months and years. Even when you guide AI through skills or copilot-instructions.md or any other means, it is always just looking through a keyhole. You are the one holding the master blueprint.
Even when AI can generate code faster or better than you, it cannot create better applications. It lacks domain intuition, user experience, and context. It doesn’t have those meticulously collected pearls of information in your head that inform your security constraints, UI choices, and business logic. You need to use your hard-earned knowledge to guide the AI to build the software you actually envision, rather than settling for what the AI hallucinates.
Because AI is such a multifaceted tool—with different LLMs offering distinct capabilities, and each new version behaving slightly differently—you have to invest serious time to master it. You won’t get there just by reading a book. You get there by using it, and not just occasionally. You will fail. You will need to retrace your steps and start over. But eventually, you develop an intuition for how to talk to the AI, what to expect from it, and exactly where its boundaries lie.
Failing is part of the process. If you avoid failure, you will eventually avoid mastery. So don’t be afraid to smash your nose against a brick wall hallucinated by your favorite LLM.
Keep honing your skills, improve your craft, and embrace the new tools. But always stay in charge of the process.
Originally published on LinkedIn.