Welcome to your first job, freshers. You've probably already used ChatGPT or Copilot to get through assignments. I'm not here to tell you to avoid AI forever. But if you skip the struggle now, you'll pay for it for years.
Garbage In, Garbage Out
GIGO applies perfectly to AI-assisted development. The quality of your prompts depends entirely on what you already know. If you've never written a SQL query by hand, you won't notice when the generated one has a subtle N+1 problem. If you've never debugged a race condition, you won't even know to ask about concurrency.
The AI doesn't know what you don't know. It will confidently hand you something that looks right. Your job is to know enough to catch when it isn't.
The "It Works" Trap
New devs fall into a pattern: prompt → paste → it runs → ship. But "it works" is the lowest bar. Code that works can still be unmaintainable, insecure, brittle, or wildly inefficient.
As Edsger Dijkstra put it:
"Program testing can be a very effective way to show the presence of bugs, but it is hopelessly inadequate for showing their absence."
History is full of "working" code that caused disasters:
Ariane 5 (1996) — Code reused from Ariane 4 had a 64-bit to 16-bit cast that overflowed on the new rocket's trajectory. Both redundant nav units crashed (identical code). The rocket exploded 37 seconds after launch.
Knight Capital (2012) — A deploy missed 1 of 8 servers. Dead code from a deprecated feature got accidentally reactivated. $440 million lost in 45 minutes.
Therac-25 (1985–87) — A race condition delivered 100x radiation doses, killing three patients. Previous models had the same bug, but hardware interlocks caught it. When the hardware safety was removed and software was trusted alone, people died.
When the production incident hits at 2 AM, "the AI wrote it" isn't a debugging strategy.
What "The Hard Way" Means
Write it yourself first, then compare. In his 2016 TED talk, Linus Torvalds showed two C implementations for linked list removal — both produce identical output, but the elegant one eliminates a special case entirely. He called this "good taste":
"Sometimes you can see a problem in a different way and rewrite it so that a special case goes away and becomes the normal case. And that's good code."
You only develop that taste by writing the ugly version first.
Debug without AI. Brian Kernighan wrote:
"Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it?"
If AI writes at the limit of your understanding, you've guaranteed you can't debug it.
Understand the fundamentals. Data structures, HTTP, how databases work. These aren't academic exercises — they're the vocabulary for asking good questions.
Read other people's code. Pattern recognition compounds over your entire career. AI can't shortcut this for you.
Learn to test properly. Kent Beck's progression:
"Make it work, make it right, make it fast."
"Make it work" is step one of three — not the finish line.
A Practical Ramp
- First 3 months: Minimize AI coding assistance. Write and debug by hand.
- Months 4–6: Use AI for exploration — explaining concepts, showing tradeoffs. Teacher, not ghostwriter.
- Months 6–12: Use AI for acceleration — boilerplate, test suggestions, design rubber-ducking.
- Always: If AI generates code you don't understand, stop. Don't use it until you do.
The Multiplier Effect
AI multiplies whatever you give it. Deep understanding becomes extraordinary productivity. Bad assumptions become extraordinary damage. Knight Capital didn't lose $440 million from one mistake — they lost it because a chain of "it works" assumptions got multiplied faster than any human could intervene.
Build the foundation first. Learn the hard way. It's the fastest path to becoming the kind of developer who can actually wield AI effectively — rather than the kind who feeds it garbage and ships the output.
The full version of this article — with additional disaster case studies, quotes from Dijkstra, Hoare, Torvalds, Kernighan, and Fowler, and a section on Japan's April new-graduate season — is on cogley.jp.
Rick Cogley is CEO of eSolia Inc., providing bilingual IT outsourcing and infrastructure services in Tokyo, Japan.
Top comments (1)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.