cd /news/developer-tools/i-could-review-it-i-couldnt-write-it · home topics developer-tools article
[ARTICLE · art-57012] src=dev.to ↗ pub= topic=developer-tools verified=true sentiment=· neutral

I Could Review It. I Couldn’t Write It.

A developer realized they could review code but not write it from scratch, highlighting a skill gap created by over-reliance on AI coding assistants. The engineer describes freezing when asked to write an HTTP handler in Go from memory, despite being able to recognize and critique the patterns. To address this, they began writing distributed systems algorithms in Go without AI assistance, then using AI only for review, emphasizing that true engineering intuition comes from struggling through bad code and debugging, not from AI-generated solutions.

read4 min views1 publishedJul 13, 2026

...now, I pride myself on being good at my job, I'm fast at catching mistakes, I'm efficient at reviewing code and I'm quick to spot patterns across systems. But ever since I knew how to use AI ( maybe around mid 2024, I was still doing the old trad way when i started in 2018 ), I've been letting AI write ALOT of my code.

And I thought I was still learning.

Then one day I sat down to write an HTTP handler in Go from scratch, and I froze... and I can't describe how scary this was.

Not because I don't understand HTTP or because I don't know Go because I recognize these patterns instantly:

func (s *Server) handleJobNext(w http.ResponseWriter, r *http.Request) {
    // ...
}

I can review it, spot mistakes, discuss the design. But build it from scratch? I found myself thinking: "Wait... is it http.HandleFunc

? ServeMux

? How do I start the server?"

That's when I realized something was wrong, I realized the trap I'd fallen into and I had to do something about it.

This biggest illusion that AI makes much easier to fall into is the thinking that goes:

"I understand this" and it feels exactly like "I can produce this."

I also wanna clarify that AI isn't the first one to inven this problem, Stack Overflow, copy-pasted frameworks and tutorials all created it first and AI's just accelarating the distance.

Recognizing a solution is just one skill. Your brain does pattern matching beautifully and way effortlessly than you think once you get used to it, you see http.HandleFunc

, think "yep, that's how you register routes," and feel confident.But try retriving that knowledge from scratch, constructing it... that's a whole other level, those are completely different neural pathways because the ability to review code, design & architecture aren't the same as writing it from memory and it should never be mistaken.

I got really good at reviewing, too good I guess, I am fast & efficient, I could critique architecture, spot edge cases, ask the right questions and basically start a whole drunken bar vibe conversation with it but you know what scares me despite being able to do all of this? I couldn't write an HTTP handler from memory.

I WAS practicing some skills. just some. just not the ones I thought.

There's also a dangerous confidence trap here: convincing yourself you're still learning because you're the "architect" or "reviewer", you're making decisions, you understand the system.

But how would you feel if knowing you can't write what the AI wrote, not without looking. that's the gap.

Anyway, a few months ago, I started writing distributed systems algorithms in Go from scratch, each algorithm belonging to their own repo. No AI. I write entirely, then ask it to review and I tell you it's very rewarding!

I am doing the series for 2 reasons:

I will be releasing the article one by one each after I'm done where I will document every hell and tasmanian devil I would've had gone through, no filters with the exception of bad languages.

Great software doesn't come from perfect code, It comes from surviving bad code.

Engineering intuition is built from mistakes, failed designs, debugging at 2 AM, edge cases that shouldn't exist, trade-offs that haunt you for years. The final code is just the artifact. The scar tissue is the education.

Take a system like PostgreSQL represents decades of accumulated engineering decisions.

I'm picking on Postgres specifically because I saw someone tried to rewrite Postgres with Rust nearly entirely with agents. It's not a bad thing, in fact, it's improving Postgres tremendously: with Rust, it's moving from the historic process-per-connection to thread-per-connection, massive performance gain and some of the long-standing postgres pain points.

You can rewrite it. You can reproduce the behavior. But you won't reproduce the journey that created that understanding—the bugs fixed, the performance lessons learned, the constraints that forced particular designs.

Letting an agent write everything and you get the artifact without the scar tissue.

And expertise lives in the scar tissue.

The skills you practice will grow. The skills you outsource will weaken.

I outsourced writing and my writing muscle atrophied. I got better at reviewing and architecture, but lost something important.

Now I'm deliberate: distributed systems algorithms in Go, I write. from scratch.

Not because I am better than AI but because I'm choosing which muscles to exercise and the choice matters.

What I'm saying is: Be intentional about which parts of expertise you allow to change.

Every tool reshapes what engineers need to know. The goal isn't to preserve manual typing forever. The goal is to ensure that the parts of engineering you want to own are still exercised by you.

If you want to stay sharp at writing, you have to pick code you're not going to outsource.

Because expertise follows exercise. Always.

The question isn't whether you can write without AI.

The question is: Will you?

── more in #developer-tools 4 stories · sorted by recency
── more on @go 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/i-could-review-it-i-…] indexed:0 read:4min 2026-07-13 ·