
Too Dumb to Skip the Learning
Recently I was lucky to get the chance to work on a full-stack project. Some background: I am quite out of touch with backend development. The last time I wrote proper backend code, the world still revolved around PHP. Now I had to deliver a task of medium complexity.
It’s the age of AI and my company provides us with AI tokens so it should be easy enough. Just feed it the PRD and the Figma, and let it do the work automatically. Nowadays, who still opens an IDE? Everyone claims they never open one and just leave everything to AI.
Maybe I’m a caveman in this age or maybe I’m just too dumb to skip the learning. Tech Twitter makes it look like everyone picks things up instantly, but I don’t. I need time and extra effort to learn it. So I can’t accept that approach, for three reasons:
- I need to know what I am doing.
- I need to understand the code, so if it explodes in production, I know what went wrong.
- I can’t claim the work is mine if I leave it to AI.
These points are reinforced by the fact that I know almost nothing about production-grade backend. I could accept directing AI on a frontend project, where I already know what should be done. There, I use AI like a pair of hands and a brainstorming partner and not something I let run freely while I can’t do anything about it.
I needed to finish this task while at the same time gain the knowledge quickly. I aimed for high-level knowledge and accept that I might not reach senior backend level in this limited time. The goal was only to get things done while knowing what was happening.
With that in mind, here is how I used AI on my first steps into this uncharted territory.
Guide me through the codebase
First, I “introduced” myself to the AI as a frontend developer with no backend knowledge who needed to understand the codebase quickly. I explained the task brief and asked it to guide me on which parts of the code to trace so I could get familiar with the flow.
It then pointed me to specific files and explained how the existing code worked. It gave me a list of checkpoints with the files and lines to read, and I read them in order. When I got stuck on a concept or some syntax, I asked it to explain by giving me the equivalent code in JS.
With this, I understood what needed to be done and learned the basics of how to do it. Unfortunately, the deadline wouldn’t wait for me forever.
Implementation
I understood the concepts, but I still had a hard time turning them into an actual implementation. Accepting my limits, I finally asked the AI to draft how things should be implemented. However, I didn’t let it write the code. I chose to write everything by hand.
This seemed counterproductive. The solution was on the horizon and I was taking the longer route, but it helped me a lot. By typing the code myself, I slowly built “muscle memory” and became more familiar with the syntax and the structure. While typing I also ran into even more mechanisms and syntax I didn’t know, and I asked the AI to explain them. The typing itself was quite fast. The slow part was falling into rabbit holes, asking the AI how a concept worked and challenging it against my own understanding.
End result
It worked quite well and covered about 80% of the cases. A more senior backend engineer reviewed the rest. The manual typing paid off here: I understood the review comments and knew where and what to change. The AI-assisted implementation taught me the basics, and the review comments taught me best practices and some performance improvements.
The first project was bumpy at the start (it’s completed slightly late), but I gained more confidence in the following ones. I admit I still have a lot to learn, but I now have a foundation for better judgement when someone gives me advice or a review comment on how to improve things.
My way of doing things might be outdated, or not preferred in the AI era, but I’m glad I put more effort into it. I still want to understand and solve things myself. I still want to be someone who can think, instead of outsourcing my thought process to yet another monthly subscription.
P.S. After I realized on what I gained in the following projects, I remembered a line from the Steel Ball Run manga, and it suddenly made sense to me. Gyro Zeppeli said:
“The shortest route was a detour. It was the detour that was the shortest path.”
It turns out I was taking the shortest path all along.
Hero image by Javier Mazzeo on Unsplash.