DEV Community

Cover image for Once Upon a Time, Writing Code Was Fun
Abdelrahman Ismail
Abdelrahman Ismail

Posted on • Originally published at ismail9k.com

Once Upon a Time, Writing Code Was Fun

I’m one of those developers who’s had the privilege of writing code by hand in its rawest form, the kind who wrote every line by hand. No copilots. No prompts. Just raw logic, caffeine, and a blinking cursor.

And I’m glad I did.

I used to write code for work, in my free time, when I was stressed, when I was happy, In my dreams, I still write code. I did it because creating something, fixing issues, building systems... it was fun.

That feeling of fulfillment when you’d step back, look at what you built, and think:

I’m a genius. I did that.

Leonardo DiCaprio cheers

Back then, you weren’t just assembling components, you were constructing mental models.
Every function passed through layers of thought. You traced edge cases before they existed and simulated failure before production ever had the chance to surprise you.
Every bug you fixed made you sharper.

You didn’t just write code.
You forged it.

We can still do that today.
The difference is: we don’t have to.

I remember one time I've built a complex component I was truly proud of. I called my friend and said:

“You have to see this... Yeah, I know it's past 2 a.m.”.

Not because anyone asked. Not because it was urgent.
But because I had built something difficult, and I needed someone to witness it.

That kind of excitement is hard to fake.

(And no, vibe coders, I’m not exaggerating.)


The AI Acceleration Paradox

Fast forward to today.

In the last few months, I’ve produced more code than I used to produce in an entire year. The output metrics look incredible. Productivity charts would love me.

But something feels… off.

It doesn’t feel like I built it.
It feels like the “9k Jr. developer” built it.

Yes, I review it.
Yes, I refine it.
Yes, I understand it.

But it didn’t originate from that deep cognitive grind.

It feels like someone defeated the final boss and rescued the princess for you. You get the credits… but you didn’t play the game.

Super Mario thank you

And that’s the paradox:

When creation becomes effortless, accomplishment starts to feel weightless.


The Death of Flow

There’s another side effect no one talks about.

Flow state used to come naturally when writing complex systems. You’d get lost for hours, structuring logic, debugging edge cases, refining abstractions.

Now?

You describe what you want.
You wait.
You get distracted.

The AI finishes the job while you’re checking messages or scrolling social media, and you hit accept, accept, accept.

Homer Simpson button

When you typed code, your brain and hands were synchronized. The struggle encoded the system into you.

AI removes friction, but friction was the encoding mechanism.


Typing Used to Be Joyful

This one surprised me.

Typing used to be satisfying. Mechanical keyboards (I have a couple of them), rapid thoughts turning into structured syntax, the physical rhythm of thinking through your hands.

Now it’s easier to dictate requirements. Easier to describe instead of construct.

But describing isn’t the same as building.

And building is where the joy lived.


The Ownership Gap in Production

Here’s where it gets serious.

A few weeks ago, something broke in production due to recent changes.

The old 9k would have known exactly where to look. Exactly how to fix it.

This time, I had to re-read my own system like a stranger.

That realization hit harder than the bug itself.

When code you wrote yourself fails in production, your brain already has a map. You can navigate quickly. You debug with intuition.

You could almost feel it:

“File XYZ, line 32. That’s where it’s failing.”

Because the entire codebase had passed through your brain, not just your eyes. You had simulated it. You had wrestled with it. You had lived inside it.

Now when something breaks?

You go back and read it line by line. Not because you’re incapable, but because you didn’t internalize it the same way. You reviewed it, but you didn’t forge it.

There’s a cognitive difference between:

  • Writing code
  • Reviewing code
  • Understanding code

We’re slowly shifting from the first to the third.

And that shift changes how deeply knowledge embeds itself.


I’m Not Complaining — I’m Observing

I’m not anti-AI. (Ironically, my initials are A.I.)

I’ve witnessed the rise of code. I’ve had the privilege of writing it by hand in its rawest form, and I’m glad I did. And I also see where things are heading.

AI is not going away. It will get better. Faster. More autonomous.

But the Game Has Changed
Maybe our role isn’t to type faster anymore.

Maybe it’s to:

  • Architect better.
  • Ask sharper questions.
  • Design deeper systems.
  • Understand trade-offs more clearly.
  • Own decisions rather than lines of code.

The craftsmanship is evolving. But we have to be intentional.

Because if we fully surrender the act of building, we might accidentally surrender the joy of building too.


So What Do I Think?

I think this moment feels uncomfortable because we’re in a transition era.

The developers who wrote everything by hand feel the shift most intensely. We remember what it felt like when the friction was part of the reward.

Sometimes I catch myself sounding like a grandpa already, talking about “the good old days” of writing code till 2 a.m.

The new generation might never experience that same kind of satisfaction, but they’ll probably experience a different one.

The challenge for us OGs isn’t to resist AI.

It’s to figure out how to use it without losing ourselves in the process.

Maybe the solution is simple:

  • Sometimes turn it off.
  • Sometimes write the complex thing yourself.
  • Sometimes struggle on purpose.

Because struggle isn’t inefficiency.
Sometimes, it’s meaning.

And yes… for the sake of full transparency:

I wrote this article with the help of AI.
I dictated most of it instead of typing.

Writing used to be fun too.

Top comments (41)

Collapse
 
pengeszikra profile image
Peter Vivo

Great story! I remmember the heroic ages when I write a Z80 assembler game on my Videoton TV computer, the storage was a tape. Now: dev.to/pengeszikra/rustroke-wasm-m...
... so many years.

Collapse
 
generessler profile image
gene-ressler • Edited

Totally resonates. I retired just as AI-assisted coding was starting. I've written about 100k sloc of "give back projects" since and tried AI for the boring parts, mostly setting up tests. But metrics aren't the goal. I'm so happy to ignore the AI and go back to rolling my own.

Collapse
 
manuartero profile image
Manuel Artero Anguita 🟨

Beautiful written article , this is a mourning process , if I may, let me paste my take , we ve lost a golden era. Also , not anti AI I do understand this is our new reality

forem.com/manuartero/lets-talk-abo...

Collapse
 
harsh2644 profile image
Harsh

Beautifully said. There was something magical about that raw connection between your brain and the machine — just you, the logic, and the satisfaction of making it work.

That feeling of 'I'm a genius' after solving a bug at 3 AM — pure dopamine. Different era, same love for the craft.

Collapse
 
tak089 profile image
Taki

“Once upon a time” is the perfect phrase to describe my old Stack Overflow era—before I switched to using AI for almost everything =)) Now at work I just write a prompt in Cursor, then scroll social media while it finishes the task. When I look back, my mind is blank. So I’m trying to practice coding by hand again—I think it’s more valuable for me.

Collapse
 
trinhcuong-ast profile image
Kai Alder

The production debugging point really resonates. Last month I had a bug in a service where half the code was AI-generated and half was mine. I could pinpoint the issue in my code within minutes just from the error logs. The AI-written parts? Had to actually step through with a debugger like I was reading someone else's project.

I've started doing something that helps: I let AI write the first draft, then I delete it and rewrite it myself using what I learned from reading the AI's approach. Sounds inefficient but it gives me the best of both worlds — I get to see a different perspective on the problem AND I still build that mental map you're talking about. The code ends up being mine but informed by a second opinion.

Not sure it scales for everything but for the core business logic it's been worth the extra time.

Collapse
 
narnaiezzsshaa profile image
Narnaiezzsshaa Truong

The real loss isn’t that AI writes code—it’s that many people have stopped writing against it.

Collapse
 
nbouvrette profile image
Nicolas Bouvrette

The fun part, is that if you have a production issue, the same tool you used to create the code can be used to debug/troubleshoot issue. And even better, other developers who don't know you code can do the same. Getting this "map in you brain" can be done very quickly. It's a disruptive change for sure but developers will need to start having the same 2AM passion about building outcome rather than code to survive in this change.

Collapse
 
matanyap profile image
MatanyaP

I totally agree, writing code was indeed a lot of fun. It still is, but it was much more fun when it was the most efficient way to generate code.

Same way as the old roaring cars are more fun then all these new smart ones. Unfortunately they are less efficient, and in this efficiency obsessed society - we have to go with that.

The good news is you can still (at least I do) enjoy these new ways to approach software and code in general

Collapse
 
ddebajyati profile image
Debajyati Dey

GOATed thumbnail!

Some comments may only be visible to logged-in visitors. Sign in to view all comments.