I Thought AI Was Making Me Faster. I Was Wrong.
My experience with AI-assisted development, how I almost traded understanding for speed, and the boundaries I had to set to become a better engineer.
I have a confession.
For a while, I thought I had figured out the future of software development. I was using AI everywhere. Planning features. Exploring architectures. Writing boilerplate. Generating implementations. Debugging problems. And honestly? It felt amazing. My output increased. My commits increased. Things that used to take hours appeared in minutes. I thought I had found the developer cheat code.
I was wrong.
The beginning of the problem
It started in a completely reasonable way.I would ask an LLM questions like: "How would you design this feature?", "What architecture would you recommend?" "What edge cases should I consider?" Those are actually great uses of AI. The problem was what happened next. After discussing the solution, I would slowly move from: "Help me think through this" to: "Can you implement this?" And before I knew it, the AI was no longer helping me build software. It was building software, and I was reviewing the results. There is a big difference.
When AI broke my project
I was working on Africa OS, a project that has become one of the biggest engineering challenges I have taken on. The system involves many moving parts: modular architecture, authentication, multi-tenancy, synchronization, business logic, and infrastructure decisions that need to survive long-term growth. This is exactly the type of project where understanding every decision matters.
At some point, I allowed AI to generate parts of the implementation. The code looked good. That was the dangerous part. It had proper formatting. It had reasonable naming. It looked like something a senior developer would write. But underneath, it was solving problems I did not actually have. It introduced abstractions that did not fit the architecture. It made assumptions that were never part of my original design. And the worst part? Debugging it took longer than writing it myself would have taken.
That was the moment I realized something had changed.
The illusion of speed
AI can make you faster. But faster at what? Typing? Generating files? Creating code you do not fully understand? Because software engineering has never really been about typing speed. The hard part has always been thinking. Understanding the problem. Making tradeoffs. Knowing why something exists. A model can generate a thousand lines of code in seconds. But it cannot give you the mental model that comes from struggling through those thousand lines yourself.
The developer skill I was slowly losing
The scary thing was not that AI produced bad code. All developers write bad code sometimes. The scary thing was that I started losing my first instinct. Before AI, when I faced a problem, I would open my editor, think through the problem, design a solution, and start building. After relying heavily on AI, my first instinct became: "Let me ask AI what it thinks." That small change matters. Because the more you outsource your thinking, the less you practice thinking. And software engineering is a skill that needs practice.
My new rules for using AI
I am not quitting AI. That would be like refusing to use Git because you once deleted the wrong branch. The tool is not the problem. The way you use it is.
These are the boundaries I have started following:
- I design the solution before asking AI for implementation.
- I write the first version of important features myself.
- I use AI as a reviewer, not a replacement engineer.
- I ask it to find bugs, edge cases, and weaknesses in my thinking.
- I never keep generated code that I cannot explain.
The goal is not to avoid AI. The goal is to make sure AI makes me a better engineer instead of a faster typist.
Slower today, stronger tomorrow
Interestingly, after changing my workflow, I became slower. At least initially. Features took longer. I spent more time thinking. I wrote more code that I later deleted. But something changed. I started enjoying the process again. There is a certain satisfaction that comes from fighting through a difficult problem and finally understanding the solution. That feeling cannot be generated by a prompt.
AI is a powerful tool. Treat it like one.
I still use AI every day. It is incredible for exploring ideas, learning new technologies, reviewing code, and challenging assumptions. But there is a line between assistance and dependence. A calculator helps you solve math problems. But if you never learn the math, eventually you stop understanding what the numbers mean. AI is similar. Use it. Learn from it. Challenge it. But do not hand over the part of programming that makes you an engineer. Your ability to think is your biggest advantage.
Protect it.

