Initially, programming for me was something akin to a hobby. It was interesting, fun, challenging enough, and there was always something to do: from creating a simple game to tackling a complex algorithm or rendering project. I still remember one summer evening in the countryside where I used to live: my friend and I were sitting late at night in a log cabin, coding our own version of Digger (remember that DOS game?) in Java Micro Edition on NetBeans 6.8, which somehow managed to take five minutes to load on an old Eee PC. Whole sleepless nights went by like this because I didn’t have internet, and solving even small problems took significant time. It was fascinating, thrilling, but not something that promised any money.
It’s worth noting that before I officially started my career, I didn’t have to justify my ideas or the time spent on them with concepts like “usefulness” or “practical application.” I hadn’t yet been drawn into this “cult of productivity.” What mattered to me was my interest and the joy I got from the process. And there was a lot of joy.
But years passed, and today the result is clear: I don’t create anything funny, fun, or interesting. Almost never. I always have to justify and prove the usefulness of my efforts—to myself, to colleagues, friends, or acquaintances. I can’t approach development casually anymore: I immediately start planning architecture, drawing flowcharts, setting up all kinds of configs and microservices. But why? Because that’s how it’s done, that’s the standard in the professional software development world, which has completely consumed me.
I started with large websites using Nuxt on the front end and Django on the back end, complete with admin panels and various effects and animations on Canvas and WebGL. Later, I moved on to designing network software as a systems programmer to manage thousands of e-ink display price tags using Python and C. Yes, I’m still interested in many things. For example, I still want to write my own Forth system with blackjack or maybe a text-based roguelike (like NetHack). But most of these ideas never go beyond thoughts. Why? Because they probably won’t bring any tangible benefits—or even money. Any such initiative feels like a waste of time, so I immediately discard it.
Back then, I wasn’t constrained by any frameworks or societal standards and rarely interacted with “industry peers.” This freedom allowed me not just to enter the IT field but also to grow and develop across various domains (from graphics and neural networks to reverse engineering), gaining a broad perspective. And I was happy! Then came serious work, deep thought behind every decision, and experience in designing and building large, complex systems. Along with it came the fear of potentially wasting time, money, and resources, which suddenly became endlessly important. This second phase completely replaced the first, allowing me to grow my income and see myself as a “seasoned pro” who’s worth something. But what’s next? Beyond this lies stagnation and endless attempts to break free from this vicious cycle. Sure, salary growth can continue for quite a while, but the ceiling is already palpable, and higher pay doesn’t make me happier or improve my quality of life—in fact, the opposite.
And here’s where I started thinking: what if this relentless pursuit of rationalizing every minute and ounce of effort is actually harmful and ultimately leads to stagnation rather than meaningful growth? What if, in fact, coding all kinds of silly things isn’t just okay but absolutely essential? Because it’s one of the few proven ways to create something genuinely interesting or innovative. Let me say it again: every idea I have goes through a series of questions about its theoretical usefulness, feasibility, profitability, and so on. And even if I try to reject this kind of “global” OCD in my life, the people around me will pressure me with the same standards. After all, we’re all “adults” who don’t waste time, right? And while I ask myself these questions or strain to come up with something “useful,” time slips away—time I could have spent developing something personally interesting to me. My energy drains, and I feel exhausted to the core of my mind. Overcoming this inner compulsion to rationalize everything is incredibly difficult! Of course, this doesn’t cancel out the need for a main job, a salary, and so on, but it also prevents me from thinking outside the box.
So what’s the result? I’m still that “seasoned pro” who knows how to design and build complex systems—but nothing more.
What’s the solution, then? Should I throw myself into every random project that comes to mind, even if it’s a messenger for pink ponies on FreeDOS? Probably not. These are just thoughts, musings out loud, but I really want to return to those old, primal feelings of programming and achieving goals—even completely useless ones. I want to believe that going back to the beginning could help me grow meaningfully again, break free from the trap of middle-income comfort, and aim higher. Or maybe I’m fundamentally mistaken—who knows.
Top comments (0)