As a job, it doesn't seem super enticing though. I started wondering how many people actually still do it because they enjoy it compared to "out of necessity"?
Feeling of creating something out of nothing, even super simple and uncomplicated but useful feels very rewarding...
Wordle is a good example of just a simple piece of software that is elegant in its own way and was created for fun instead of drilling on specifics of making something scalable or achieving an OKR. It feels like it's a lost philosophy nowadays where everyone is chasing unicorns and money.
Where did all the fun go?
Very strange, because this is not a hobby or a job. I just desperately try to maintain and improve failing home automation.
Eventually every programmer realizes that there’s very little actually new in the software world. Ideas and techniques that work get recycled and repackaged, and we can do more because of more powerful hardware and the internet. But programming today is not fundamentally different from what it was 2, 3, or 4 decades ago. At first everything is new and exciting, and small differences (like C++ to Rust, or PHP to Node) look like bigger innovations than they actually turn out to be. Most programming work is repetitive and not especially intellectually challenging after a while. That realization can lead to disappointment, boredom, cynicism. That’s when you have to find satisfaction and pride in other aspects of the career.
I knew a plumber who had been in the business for 30 years. Once he was clearing a clogged drain at my house and I asked him if he ever got tired of plumbing. He said the work isn’t really interesting, but it pays well. Then he said he loves fixing things and leaving happy customers. Programming isn’t any different.
The last time I wrote code for fun was in 2019 when I went through all the easy and medium leetcodes and quite enjoyed it. More recently this year I got around to finishing all the pretend-assembly-language Zachtronics games (TIS-100, Shenzhen IO, Exapunks), and had a lot of fun there too. But for the first time I'm not working on any real personal projects, despite that my notebook of ideas is as full as ever.
I still believe in these ideas and want to see them realized. But at this point, working on any of them implies writing / adapting tons of things I've already written. Probably a lot of things I've already written 3 times or more. But that doesn't quite seem like a reason either, since I always used to love rewriting things. I don't feel depressed - quite happy actually. It's just that when I open a project and look at the code and start thinking about the next steps, I'm just like "Nah."
For me, a lot of the fun evaporated when I could find others had written a dozen other programs doing exactly what I was thinking of, often better than I could have.
The rest of the fun evaporated due to (this was the 1990s) compiler churn; every year there would be new compiler versions, some of which required nontrivial changes to existing code, and the compilers often had such poor documentation that their own examples wouldn't compile. "Solving problems" turned into "trying to use broken tools", of which Microsoft Macro Assembler 4.0 was surely the worst offender.
I did my time as a sarariman writing software, but it was just a job by then.
My impetus has always been seeing people who know so much more than me and me wanting to narrow that gap any way I can. I only do projects I think will be both fun and educational.
As for doing it as a hobby, it just seems the minimum expectations has grown so much that it's just not worth the bother anymore.
I do enjoy working on my side projects. But its more about what i build than programing itself.