rozenmd
Building products myself, with my own rules on how it'll be built, and how we get feedback from customers.

I fell out of love for programming after working at too many feature-shops where we'd churn out feature after feature (and in some cases blindly remove features), with nearly zero feedback from real users - just input from product managers with zero domain knowledge.

eternityforest
Pytest, Playwright, and Pre-commit, rewriting to use more modern frameworks, Codeium, poetry, taking some time to set up VS code extensions.

Also, being way more selective with personal projects. Having too many of them can make other, unrelated projects at work miserable, by messing with your schedule.

When I had my own note taking app, it would sometimes take an hour a day. That's more than enough to affect social life or make someone tired at work the next day.

Especially with hardware related projects as those can also make a physical clutter problem.

I enjoyed personal things a lot more once I started layering on all the best practices, same as I'd do for a work project.

And work projects, I've started doing things like type hints for everything not just "stuff that seems big enough to need it", rather than the usual "Just enough" method that a lot of people seem to use.

Before that I wasn't really happy with the quality of anything I built myself.

Now, projects get more reliable and often more performant over time, and I don't feel like I'm just spinning in circles writing garbage, and I'm actually learning new tech and practices I'm actually going to use in the future.

Also, Gitmoji, badges, and all the current trendy things people do with readme and documentation might not actually be that useful, but they sure are fun.

I've started doing block quotes under title headings, like novelists used to do at the beginning of a chapter, and using retro web 88x31 badges.

openmajestic
Side projects where the fundamental goal is to rediscover the joy. Not to complete something. Not to build well-tested maintainable software. Not to acquire users. Not even necessarily to learn or practice.

Just to play with computers like I used to play with legos. And then close the potentially unfinished useless pointless messy unmaintainable broken software project, never to reopen it, and be content that I had fully achieved what I had set out to do.

pjmorris
I first read 'The Joys of the Craft' section of 'The Mythical Man-Month' at about the five year mark of my programming career, a time when I was feeling a bit blue about the whole enterprise. It inspired me and kept me at it for decades more.

One bit from it, not even the most quoted:

"Yet the program construct, unlike the poet's words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself. It prints results, draws pictures, produces sounds, moves arms. The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be."

[0] https://home.adelphi.edu/sbloch/class/adages/joy.html

caprock
The joy returns in situations where it isn't software as a team sport.

I'm very capable in group settings, but it's far less fun for me. It's a continuum of the larger the team, the less enjoyment. Working on projects I choose, alone or with one other person, is the environment I enjoy most. There are tradeoffs with each, but I prefer those constraints.

paulgb
Pen plotting. You write code that makes designs by drawing a bunch of lines, and then use a robot (mine is an AxiDraw) that traces it out on paper.

In general, generative art (using the pre-generative-AI meaning, i.e. procedurally generating art). There's something really satisfying about writing code in a creative context, because there's often no right or wrong. Often you write a bug, or your algorithm didn't work as you expect, but it looks interesting, and that becomes a new path to explore.

rednafi
Writing about it. Corporate programming often sucks the joy out of figuring out small things.

A few years ago, I started writing about simple things that I learn during my day-to-day work. I write on my personal [site](https://rednafi.com) that I cobbled together in a single weekend.

It doesn’t take much time and works as a great confidence booster when a few of them eventually hit the front page of HN.

Now I often pick up new things just so that I can write about it.

thebrain
I'm a web dev by day so playing around with Unity has been really fun. Having to consider time, i.e. what does everything like at time t=0, t=1, etc., adds a new dimension I don't get it my day job.

It's not programming but playing around with Blender has been really fun too.

delbronski
Playing around with a Raspberry Pi Pico. After more than a decade of building digital applications, being able to write a program and seeing the output change something in the physical world was pretty cool. I remember feeling that same spark I had years ago the first time I made an LED blink.
nine_zeros
Seeing direct value to customers instead of being "forced" into features/bugs by management whose only goal is to measure Jira story points, OKRs and measurement of work to stack rank people.

I want to spend time working for the customers, not for bosses who don't care about customers.

mjfisher
Most recently, Elixir.

I never really lost my love for programming, but twenty years in the n-th commercial project in the more common languages (plus a front end based in whatever combination of JS frameworks is the new flavour) really ground a lot of the original creative joy out of it for me. The interesting bits got too easy and the hard bits got more uninteresting.

Elixir is a breath of fresh air; it's purely functional so it requires thinking a bit differently, but it's accessible enough to start easily and pretty enough that it's not a soup of parentheses (looking at you, lisps). It's practical and well suported enough to build a wide variety useful things, and very good at concurrency.

It's what I really wanted Ruby to feel like.

LordGrey
Every time I get back to writing something in Common Lisp. It's my favorite language, but it's not what I use in my day job and I rarely have the free time for side projects.

But when I do have the time and can craft an elegant defun or two, I love programming all over again.

mech422
Having an itch to scratch. I 'burn out' every 10 years or so and do basically nothing for 6 months or so..Generally get over it when I find some itch that I want to work on. Usually gets tied into some language/framework/stack I want to play with.

edit: Current 'itch' appears to be a decent repo mirroring system. DockerHub, ansible-galaxy, npm, .deb, .rpm - soo many repos that need to be mirrored locally to have a sane build system. Thinking 'pulp' (0) might be worth a spin

0)https://pulpproject.org/

whiteluna
I've never lost it. What keeps me going is the beauty of building new things, experimenting with new tools, and keeping the learner mindset. Side projects are my fire. I can work on things I like and apply all these principles I mentioned. Been a programmer for more than 20 years, working with Ruby most recently. I just bought an Arduino R4 Wifi kit to bring the joy of seeing my creations in real life, not only virtually.
kaikai
A stint at the Recurse Center. I had to unlearn a lot of habits I’d built based on challenging teammates and stressful deadlines. Having the time to explore what I wanted, when I wanted, felt like magic. I had to consciously allow myself to stop working on a project that I’d started but wasn’t bringing me joy. Pushing through and meeting deadlines was such an ingrained habit it was hard for me to play, and having that intentional self-directed space let me rediscover all the things I loved about programming.
danielwmayer
iMessage automation. I love technologies so ubiquitous that they end up registering in our brain as “real life.”

We spend so much time texting each other that it has become transparent, so one expects a cute little chatbot or small game to show up, and it delights people!

I recently made a framework to allow playing Twine games through iMessage and people really love it:

https://www.mayer.cool/writings/imessage-text-adventure/

Another one that brought a lot of joy was hooking up a friend’s iMessage to immediately respond to all messages with a chatbot. It was before ChatGPT came out, so it was just convincing enough to have people for a few messages, but scuffed enough to have some very funny off-kilter responses. It sowed a lot of chaos in our group chats :)

JSR_FDED
Switching to a Mac from Windows. It made me realize how much I had been missing Unix from the Silicon Graphics days (IRIX).

Beautiful hardware and Unix OS with the fit and finish you get from having both provided by the same vendor.

It made me feel a bit more creative and less like someone who grinds out code.

toomuchtodo
Working on open source projects with zero commercial potential. I get paid in exposure! (Half kidding)
alfredgg
Joining a workers cooperative. That has been the best thing I could have done feeling as I was feeling about programming jobs.

I realized I disliked the way that job market works. Too much stress; clients and bosses putting too much pressure on my daily work; lots of stupid tasks to be finished ASAP...

At the end several friends of mine and me created a workers cooperative for doing programming jobs. We share projects and decide which ones we want to take. There is not that overwhelming duty of finding new clients as there is one person who does the research and business actions.

Everyone does what they want and we mainly focus on jobs we like and the way we prefer.

andrewstuart
I'm surprised no-one has said ChatGPT.

ChatGPT is the most inspiring thing every to happen to programming for me.

A powerful programming assistant at your side is an incredible skill multiplier.

It make it possible to build certain types of applications in a matter of hours instead of months.

ClassyJacket
I'm only a hobbyist, not a professional (yet!), but: giving up on making whole apps in JavaScript\TypeScript and React. It's not what I'm used to, it just doesn't click for me, and I just don't like it. I admit it's subjective.

I stopped trying to make my little experiment apps in React Native and restarted with C# and I'm much happier. I'm using Avalonia since apparently Xamarin\MAUI is not in a good place lately.

Much like the best camera is the one you have with you, the best programming language is the one you like enough to actually make stuff. The problem is whether one you like is supported on the platform you're coding for...

meerita
I just started learning Golang.
mysterydip
Making my own projects, the stuff I wanted to tinker with. Building a software 3D renderer may have no practical use to anyone else, but it gives me joy seeing a world come together on screen knowing I put each pixel there.
atleastoptimal
When I got a job at a big tech company which convinced me I was smart enough to learn difficult parts of programming. Before that I thought "I'm stupid, nothing I make will be of any value"
moltar
Getting into AWS CDK 3 years ago. I was at the point in my career as a full stack dev where I thought I’ve done it all. I did devops too via Ansible and the like. But once I tasted the IaC and learned real cloud architecture and applied software engineering principles to IaC then it was like a whole new universe had opened up. Lots of new cool patterns emerged. Three years I’m still a huge fan and I’m much into platform engineering and unlocking other developers potential these days.
Fire-Dragon-DoL
I haven't lost the joy, I just miss coding on my own terms. What I did recently was build an app which I might never finish, which would be very useful for myself, using a stack I'm interested into and that I wouldn't choose for a business (or at least not at this stage).

It's an incredibly pleasant and fun hobby this way.

lelandbatey
The constant tug of war between love and exhaustion never ceases in programming as in life. The evident patterns, as I've seen them, follow from the amount of "play" that I engage in during my programming pursuits. If I can find time to do something expressive and delightful for myself (making art or solving a small problem in a way that I enjoy), that will lift my spirits quite a lot.
analog31
Totally open source, platform independent toolchains.
cqqxo4zV46cp
In my day job, I build things in a web context. I recently started working on a side-project that wasn’t web-based, and it really re-enforced how tiring it is to work with most web technologies where you want some sort of server-side functionality as well as a UX that only something JS-‘enabled’ can provide.
thrill
Retirement.
muzani
Teaching, specifically teaching educators as well. I went from thinking I was not good enough to thinking I was a god. Just go around debugging things from the red squiggly lines and using all kinds of crazy hotkeys that can duplicate lines and automatically indent code.
cmollis
Rust and scala
jauntywundrkind
Open ended things.

So many creations are done with the hubris, imagining that we know what we are doing, that we've figured out the possible uses & can diver them.

I love working on open ended things, where we are trying to create possibility. Not just picking from possibilities.

kirkarg
Usually the joy comes after I force myself to build a tool for specific purpose focus on me, and it works. Then if the tool can be scaled for more users, and their feedback is good (good criticism also) that I would consider it a plus.
udfalkso
Learning Elixir and Phoenix and getting the hang of functional programming. What a pleasure.
contingencies
why's ruby

lua/love2d

microcontrollers, robotics and electronics in general

industrial process engineering - nothing like seeing huge machines make stuff you imagined

gentoo

teaching children

when your venture actually pays out and you get some financial security back and realise you just won the lottery of life for a second or third time

ajsharp
I'd focus on the back part. Why was programming joyful then? Why is it not now?

Maybe it's the environment? The language? The community?

I think certain people's brains work better with different languages. Often there's an overlap with community. I started my career in ruby, and still write it as much as I can, though these days, not usually for "work". I love writing it, and it's creator wrote it to be loved when you're writing it. Even though python shares a lot of similarity with Ruby, I find it frustrating in a lot of the little details and design decisions, and I just don't enjoy writing it like I enjoy writing Ruby.

I don't particularly enjoy writing javascript, but I've always enjoyed writing Swift. I also enjoy go, though find some of it's design decisions on the margins perplexing, pedantic and annoying.

Experiment with different languages. Find something you understand, that your brain doesn't have to fight with.

Also, get a hobby that has absolutely nothing to do with computers. Do something tactile -- baking, carpentry, fixing things. The raw difficulty of manipulating things in the real world is both deeply satisfying, and gives me a deeper appreciation for the ease and elegance of manipulating computers with software.

Hope this helps. Good luck.

meiraleal
Lit (after React burnout)
raymondh
Programming Pearls, Thinking Forth, The Little Schemer, and SICP
bkgh
Using Github Copilot helps me stay in the 'flow'; most of the time, I'm in my IDE, solving problems, and writing code.
quest88
I made a tool that emailed me the top 10 posts from various subreddits every 24 hours. I solved my own problem and it was the most satisfying thing I built.
talldayo
Local self-hosting.
add-sub-mul-div
Quitting from a bad job/company.
brailsafe
Unwinding abstraction layers and trying different platforms, building my tools for the hell of it
nadsumatal
One year of operating a click-and-drag UI. After that, programming is fun, bugs and all.
JoelMcCracken
I developed my love of programming originally from learning PHP, C, C++. I lost it at uni trying to solve problems in Java, which was mutable state hell and made solving the most boring stuff infuriatingly boring/full of stupid busywork. I almost quit CS.

What reinvigorated it first was learning FP/Lisp and especially Scheme (this was approx 2009).

I began to lose it slowly over time when experiencing the difficulty of just writing good, reusable code in the context of OOP style larger-scale components that invoke pure functions - I used to call this "OOP in the large, FP in the small" - it began to be clear to me that I couldn't make this work in a sane way, details are out of scope of this comment.

I recently (beginning circa 2018) began to re-rediscover this passion through learning haskell and really experiencing how well a simple impure/pure breakdown between code works out. In hindsight, it seems obvious, but I couldn't see it until really learning haskell and how all that works itself out.

Curzel
C++

I’ve being doing mostly mobile apps for the last 10 years, tried Rust for fun for a couple of months, recently tried C++ and I’m having the time of my life.

Btw, not sarcasm, now looking into C++ jobs

sublinear
I don't mean to repeat what others have already said, but it's 100% clueless middle management at the wheel. Some of them don't even belong in front of a computer let alone in their role.

It's actually a far bigger problem than mere developer joy. These people ruin everything especially the organizations they work at and their own careers. We're better than this, and I hope any upper management or execs who read this take a harder look at their organization.

It's as if we're so afraid of success that we put more easily replaceable idiots in management. I also get the fear of promoting senior developers because they don't always think or communicate the same way, but yes that's exactly my point. In many cases the devs don't even want those jobs. You should seriously wonder why. Many organizations have been rotting for decades now.

Crier1002
when i make something and then share it with the world and people actually like/use (sometimes even pay for it)
geor9e
This will be unpopular, but ChatGPT. I have loved computers since childhood, and coded entire videogames as a child (2d, platformers, shooters, physics simulators, etc). But I hit a wall and gave up for decades. I have a lot of visions and ideas of what I want, but perhaps I have a disorder, as I can rarely summon the patience to code it. My sustained attention span shrunk way down. If I can't finish something in one go, it's too long term for me. I quickly get infuriated at the poor documentation and syntax choices. Since ChatGPT I have been able to describe each individual building block a few (dozens of) times, and from there I am figure out weaving the blocks together. I'm building and finishing projects again.
throwawa14223
Got a job where we aren't using Go.
Waterluvian
Making nonsense projects that never take more than a day to build.

But they have to be total nonsense with zero possible market or viral capability. That way I never let the wrong reasons guide my design: it’s only ever for fun. Maybe learning.

lukan
Solving some other non computer related problems, that were stressing me since a long time.

Now with that shit gone, my head is clear again and I had fun diving into all sorts of experiments again!

nathants
wickedengine, physx, and cpp17.
scottcorgan
Remix
greentext
Being reminded I didn't get into it for money and recognizing the tools and ideas the masses chose to define the industry are unbelievably terrible, delusional even.