should I read code anymore?
read at least this to know how to reason about it?
it’s been sometime
Yes. It’s been some time since I wrote something long, especially here on my Substack. And more than that it’s been sometime since I wrote something directly on a notepad without AI assisting. Yes, this whole thing is going to be a pure human written thing. No AI pass. I will only do a spell check at the end and fix. That’s it. If I am reading I want to read things that a human has written. The unbridled thoughts. The flow of how humans think. Not the polished, contrasting, perfectly formed AI generated text anymore. With that out, let’s get started.
End of December brought this wave of people trying Claude Code especially Opus powered harness and going gaga over it. When something gets a meme it shows there’s enough chatter on it. Unless you are living under a rock you would know that people were raving and prophesizing that this is the end for Software Developers.
A little bit of background would help. I was doing extensive programming up until 2023 start. First on Teams and Outlook like massive products at Microsoft and then building a Metaverse. This was the pre-AI era. Then I picked up coding back again somewhere around June 2024. The 16 months in the middle just changed how people code. And I have been an active participant of that journey from 2024. From copy pasting code to chatGPT, to tab completions to copilot. 2025 Jun was special. Claude Code came and the harness worked. And it just worked beautifully. I had the most productive coding cycles from the last 17 months. My Github has never been greener.
Why the background? It helps to explain that I am not sitting on the sidelines of AI assisted engineering. I am an active user. I have active subscriptions of Cursor, Claude, Codex, Gemini. I have worked on all three IDEs with AI enabled i.e. VSCode, Cursor and most recently Antigravity as well.
Now we are ready for the question. But what is the question? Is it that SDEs are done in big cos? Is that SaaS will not be there anymore? Is it that people will use products like Lovable and Replit and thus won’t need engineers anymore? While I have thoughts and yes deep thoughts like how you will see in this one on each question. For today’s discussion we are picking up a question that made me think a lot recently and that’s “If you are reading the code generated by your AI agent then you’re ngmi”. For the millenials who don’t spend most of their time online, ngmi is short for Not Gonna Make it (urban dictionary it). So I kept thinking about this question. I kept re-evaluating my work. And my work has had range. From prototypes to serious production code that students and banks in the US are using.
One thing you learn early when you start reading and understanding about how to become even a decent Tech Lead (I was this in 2020 at Microsoft) is that any system architecture level question always have one answer and it can just never go wrong. It’s a beautiful two word answer that opens up the conversation for serious folks. It’s also beautiful that it almost instantly alienates non serious folks, twitter (or should I call X, well I can’t call it that) trigger happy folks and then just drop off and you can have a serious conversation thereafter. The answer is, *drumroll*
“It depends”. Should we stop reading the code generated by AI agents? It depends. Now the second question, “On What?” and now we are in the serious convo zone. And the answer is multiple things. After one heck of a long intro, let’s dive in.
How serious is your output? If I am coding something trivial, 500 lines max and it’s a script to convert video files from one format to another for a huge library I have of DragonBall series so that I can play it on my smart TV. I wouldn’t check the code. If it works. If it doesn’t. “Fix it, don’t make mistakes” just works.
Somewhere in July 2025, I picked up golang. It has been long pending in my bucket list (yes, I am that guy who has a bucket list of tech he wants to try). So I bought a few books. I wrote a bunch of hello world, APIs, code by hand. I switched off even the tab suggestions on VSCode for this. Why am I telling you this? I will tell you very soon. It answers our question soon. In just a few paras down. But it also answers an immediate question. Do you read code when you are learning a new language, a new framework (I picked up Gin)? And the answer is YES or wait, “Hell Yes!”
Coming back to how serious is your output? September 2025 I was working on writing my own custom LLM from scratch (a detailed post on that soon). And this was to learn how LLMs work from the very basics. I didn’t write code for it. Nope. It was all in Python. Codex and Claude were doing most of the work. But did I read the code? Yes and I will tell you again why. Because I honestly didn’t know what I was doing, I was not in charge. I was trying to make something work that I don’t understand. And if I don’t understand how it is being built I can’t reason about it in my head, I can’t come up with the next set of enhancements on it. So even though I didn’t write code, I read, I tweaked it a bunch. With the tweaking and enhancements I was able to not just build an understanding I got a 5M parameter language model to come up with Grade 8 level English sentences. So do you read code when you are trying to do something that people haven’t done before? There’s no 5M parameter model that can do Grade 8 level English. It was a great learning experience and there was no way I could have prompted my way to it. And this brings me to the second most important point in this discussion which is — I can now prompt my way to it easily because I know what are the moving parts. And this opens up the next part of the argument.
How serious is your output also works in tandem with how serious was your input? I was in second grade when I learned about GIGO (Garbage In Garbage Out) in my computer class. Never before has this been truer than in the LLM world. Over the past 17 months, I have developed apps that are being used by 1000s of folks. When I work on that do I write code? nope. Not at all. But my inputs are super serious. I don’t let the LLM decide which library, what architecture, which file, even file and function names. I work with the LLM of the day (mostly chatGPT) to spec things out in detail. Then make it write EPIC and tickets and read all of it and if I don’t like something I make it refine things further with my inputs. This is where I spend most of my time when I am building a project for a real audience. Oh! but I didn’t answer the core question, do I read code in this scenario?
Yes, I do. But now how I used to read code before or not like how I read code in other scenarios. You see, the mental exercise of building the spec, EPIC and tickets in detail also runs my mental compiler to know exactly what kind of code I am expecting out of this. So when Claude Code writes code I keep looking at the screen, the reasoning steps, the diffs and I can see if it is going right. If it does something that doesn’t match my mental model or if it gets stuck in a doom loop (it’s a term where a coding harness can’t solve the problem and keeps trying different things) then I just press Esc and tell it exactly what to do. Even I am amazed how trainable your mind is, it can parse code at that flashing speed too.
And this brings me to the point about why I wrote Golang code by hand when I was learning it. Because hey, it’s a hard earned skill. You can’t read code that fast if you haven’t done the time. And this is the exactly the point where I think anyone saying you don’t need to read code or you are slowing down your harness if you are reading code I feel they haven’t spent the time to parse code at that level.
Now you can definitely ask me, whether it is needed. And I will answer this to you with a scenario. You have been prompting your way to a small then large then larger codebase. You don’t know what’s where or how things actually work. Fine. Great. And then one day you want to implement a scenario that touches a bunch of things in frontend and then in backend and then in your workflows. And no matter how much you prompt you have hit the ceiling of capabilities. Users are complaining about the bugs getting introduced in every release. But you have no clue how things work. I don’t know about you but I don’t want myself in that situation, ever. Especially for a serious output. If my app is being used by even 100+ users I don’t want that for them, I don’t want that for my soul. Models have a limit. The more serious your outputs get the more you will start hitting them. And this is why you read code, to update things in your context. To be a problem. To never be in a situation like that. And you think I might be exaggerating but there’s a startup, a famous one, let’s name it Cluelessly for the sake of this argument and also because I don’t want lawsuits. Cluelessly is a real startup. Raised 15M+ from abcd11z (a real but fictitious VC firm). And their CEO recently said that their code has grown so much out of control that it slowed down their feature release velocity. So they had to rewrite everything from scratch. Even before LLMs, even before chatGPT this has always been a problem. Code getting out of control. Feature velocity negative (more bugs introduced than features). This isn’t new. And by not reading the code we are moving towards that eventual doom. And hey, this is again for serious output. For your toy projects, play the way you feel right.
But then my mind asked another question. What if I read the spec, and the walkthrough (that Antigravity introduced)? Wouldn’t that be enough? And here’s the thing. Until something better comes along code is the most high level spec you have. It is the truth. And you have the literal ability to dig deeper as much as you want from a controller to a repository to a service to a DTO. So code is the easiest language to parse and quickly understand the spec/walkthrough. But this is true only if you have taken your job seriously and you spent time giving serious architected inputs to your coding agent the first time. I would love to live in a future where this isn’t true. Where I can just ask for things and the genie grants it. But the truth is software is about a lot of cordination. The more features the more they need to coordinate. Think about a real banking, healthcare, manufacturing workflow running through code. There are tons of business rules, tons of authorization and even more code interacting and making things work. At least in the near future I think humans have to pay the coordinator tax and be the coordinator. And if you have done things right you will find that reading code is the least taxing way to do that. I rest my case.
I hope this helps. I need some encouragement to write more such things in future. So even if you like this thing 10% show some kindness and leave a comment.

Thank you for sharing your thoughts regarding the most recent discussion going through the globe. Recent Graduates need more of such clarity from seniors in Tech industry.
Beautifully written. Glad it wasn't some AI slop. Missed the good ol' unfiltered human thoughts. Welcome back! :)