It's still OK to enjoy programming
The Joy of Coding Still Exists
Reading through Hacker News lately has convinced me that a reminder is necessary: it is still perfectly acceptable to enjoy the act of programming.
The Shift in Perspective
We have to acknowledge that the landscape has shifted. In a professional environment—where the primary goal is generating business value—the financial logic behind writing every line of code by hand has evolved.
| Context | Primary Driver | Current State |
|---|---|---|
| Professional | Economic Value | Shift toward AI-assisted efficiency |
| Personal | Intellectual Joy | Purely about the experience |
The most audible voices online tend to be the most miserable, and their pessimism is inevitable infectious.
Finding Pleasure in the Process
To offer a small rebuttal to the prevailing sea of despair: I still spend my weekends programming simply because it is fun.
Currently, my "masterpiece" is a Breakout clone. It is far from perfect:
- Basic game loop
- Reliable collision detection (currently terrible)
- Polished graphics
// A glimpse into my "buggy" collision logic
if (ball.x > paddle.x && ball.x < paddle.x + paddle.width) {
// This probably doesn't work half the time
ball.velocityY *= -1;
}
I embrace the struggle of solving these problems because that friction is exactly what makes me happy. It is irrelevant that Claude could generate a perfect version in a single prompt; the goal isn't the finished product, but the act of creation.
Intellectual Exploration
Sometimes, I wander away from my game to dive into obscure technical rabbit holes. For instance, I recently spent a weekend investigating how to maximize type safety in Java by borrowing concepts from dependently typed languages like Agda.
I categorize these diversions as "interesting ways to conceptualize a problem." While I might not immediately grasp the full utility of these ideas, I've found that the most elegant programming concepts often require years of "baking" in the mind before they truly click.
I am writing this because I feel an increasing, strange social pressure—a suggestion that there is no longer any point, or any joy, in continuing to evolve as a human being.
The more you immerse yourself in the "doom stream," the more it begins to warp your outlook.
The Balance of Tools
To be clear, I am not against the new tools. I actually love "vibe-coding." I have a whole collection of applications where I have never actually read a single line of the underlying code.
However, my deeper studies serve a different purpose. I want to equip myself with more tools for reasoning about program correctness algebraically—a subject I explore in my book. This involves treating code as a mathematical expression, perhaps similar to:
![]()
