Tell HN: I Lost Joy of Programming

94 points by Eatcats ↗ HN
Small confession

I’ve been using Windsurf editor for about six months now, and it does most of the coding work for me.

Recently, I realized I no longer enjoy programming. It feels like I’m just going through the pain of explaining to the LLM what I want, then sitting and waiting for it to finish. If it fails, I just switch to another model—and usually, one of them gets the job done.

At this point, I’ve even stopped reviewing the exact code changes. I just keep pushing forward until the task is done.

On the bright side, I’ve gotten much better at writing design documents.

Anyone else feel the same?

90 comments

[ 4.1 ms ] story [ 116 ms ] thread
I always enjoyed problem solving, and programming was more of a means to that end for me. These days, focusing on syntax feels a bit tedious, especially when LLMs can handle so much of it. That being said, I still find myself obsessing over code quality, reading and reviewing code, and thinking a lot about architecture and best practices. I still get a lot of satisfaction from building things well, even if the actual mechanics of typing out code aren't always the most exciting part.
I think that's just the way you're doing it?

I feel the opposite. I appreciate the ability to iterate and prototype in a way which lowers friction. Sure I have to plan steps out ahead of time, but that's expected with any kind of software architecture. The stimulating part is the design and thought and learning, not digging the ditch.

If you're just firing off prompts all day with no design/input, yea I'm sure that sucks. You might as well "push the big red button" all day.

> If it fails, I just switch to another model—and usually, one of them gets the job done.

This is a huge red flag that you have no idea what you're doing at the fundamental software architecture level imo. Or at least you have bad process (prior to LLMs).

For prototyping UI it's actually amazing.

"Add a sidebar to the side that tracks where we are in the document".

"Move all elements in area A into a split screen view with those elements at the left hand side and the remaining elements in the right hand side"

The above sort of thing can be painful to do manually. Changing a layout which can have 100's of elements and moving everything across to the new layout structure. Often you can waste a day tweaking it in various ways. LLMs are actually pretty amazing at it since it's a job where you "put old things from one context into a new context" and that's basically what they do. As in AI has saved me some of the biggest pain points and allowed me to focus on the meatier aspects of the code (which it's not so good at).

I feel exactly the opposite. To explain, programming became very tedious, looking through endless lines of code, and lately it appears everything is generated, and not making sense of it. With programming bots I can focus on what I want rather than spending inordinate amount of time finding just the right syntax for something that itself was generated by another machine. Honestly and simply, get with the program
(comment deleted)
I had to rip all the LLM crap out of my editor to feel like I was doing anything. My programming ability has gotten better and if I do actually need to use an LLM I just open ChatGPT, DeepSeek, or punch stuff into Ollama.

The majority of what I end up using langle mangles for is trivially verifiable but tedious to do things like "turn this Go struct into an OpenAPI Schema" or "take this protocol buffer definition and write the equivalent in Rust prost".

Vibe coding sounds miserable. I use LLMs pretty heavily but never as a replacement for my own mind. I'm glad it exists for the people who can't program but it's much less pleasant than being explicit myself.
Generally I agree, I use LLM to solve work problems faster but I work on my own personal projects by hand only using LLM to teach me concepts, give me direction or help with complex portions of code (learning rust)
> At this point, I’ve even stopped reviewing the exact code changes. I just keep pushing forward until the task is done.

How is this the future of software engineering?

I go through waves. Sometimes I'm in awe of what the LLM does for me, the rapid progress through boilerplate code in seconds that would have taken me forever, leaving me to ponder the actual core issues of the problems I'm solving.

Sometimes I want to hunt it down and erase the lazy, lying, gas-lighting **** from existence.

I feel you, but I think that if you want to make exceptional software, and not just a large volume of mediocre software, the best way is still to write code manually.
Technology is about efficiency, and for people to adopt it you need to be 10x more efficient. LLMs took a 15 years process of burning out, and shortened it to 1.5 years.
A lot of this reads like how my Dad reacted to Mobile phones and the internet.

Everything is so fast, no body gets an opportunity to do things slowly and better.

Cal Newport's book Deep Work gives excellent insights on how to break out of this pressure.
i agree. Initially i felt liberated that it is doing all the tedious work for me so i can concertate on the "good stuff" of creative thinking.

I usually start out with good intentions like

1. planning out work

2. crafting really good prompts

3. accepting bare miniumum code changes

4. reviewing and testing code changes

But most 'agentic code tools' are not really well aligned with this philosophy. They are always over eager and do more than what you ask them to. Like if you ask it to change button color, it goes and builds out a color picker .

They sneak in more and more code and vex you with all the extra junk that you slowly stop caring about extra stuff that's being snuk in and the whole thing spirals out of control. Now you are just doing pure vibe coding.

>Recently, I realised I no longer enjoy programming.

You don't? Sounds to me like you just don't enjoy prompting. Try doing some programming again. Engage your brain with a challenge and try to solve the problem itself not just explain it to an ai and never even look at the code. You enjoy the driving not the destination, getting a taxi there is removing your purpose.

You're doing it wrong, even with language model...

You stopped reviewing the code..? You're not gonna make it.

You still need the visceral feel of writing the code, this builds the mental model in your head.

I feel the exact same way (using the tools they force on us at work).

I've became very lazy. Most tasks, I explain to the LLM, and go browse the web while it computes. More often than not, it fails, and I re-iterate my prompt several times. Eventually, I need to review the changes before submitting it for review, which isn't very fun.

Overall, I feel I'm losing my skills and the competitive advantage I had at my role (I'm a decent coder, but don't care too much about product discussions). The way I'm using the tool right now, I'm pretty sure I'm not more productive.

We'll see how it goes. It's still a pretty new tech and I think I should learn when not to use it and try to have good hygiene with it.

Is AI genuinely that good for you all? I can't leave it to its own devices, I have to review everything because (from experience) I don't trust it. I think it's an amazing technological advancement, perhaps will go down as one of the top 10 in the history of our species. But I can't just "fire and forget".

And that's not just because its output is often not the best, but also because by doing it myself it causes me to think deeply about the problem, come up with a better solution that considers edge cases. Furthermore, it gives me knowledge in my head about that project that helps me for the next change.

I see comments here where people seem to have eliminated almost all of their dev work, and it makes me wonder what I'm doing wrong.

These people arent being honest or they arent dealing with any real level of complexity.
What you’re doing wrong is you’re working on complex stuff.
I've always found it a bit strange that people enjoy the act of coding so much that LLMs make then sad. For me it's always been about what I can make, not the actual typing of code into the editor. With LLMs I can make better stuff, faster, and it's really exciting. It used to be that if I needed to use a new library for one little task, it would be hours or days of reading the manual and playing around. Now it's minutes and I can understand how the API works, and write good, robust code that solves my problem.

Maybe it's more of a problem with your job and the tasks you're assigned?

You should take a break, it's normal to go through down periods. Work coding is also generally dissatisfactory compared to personal fun coding.

Personally I have found that the sky is now the limit thanks to AI assistants! I was never the best coder out there, probably a median level programmer, but now I can code anything I imagine and it's tons of fun.

Find some creative projects you want to work on and code them up!

There's programming for fun, and it's programming for work.

Why would you program in a non-joyus way if you're doing it for fun? For professional work I fully get why you'd want to optimize.

These posts are so exhausting and telling of those who never enjoyed programming in the first place. Wish these were a wake up call to those posting that they’ve been in it for reasons they haven’t been able to understand till now.
>> Recently, I realized I no longer enjoy programming. It feels like I’m just going through the pain of explaining to the LLM what I want, then sitting and waiting for it to finish.

This isn't programming. Delete the AI stuff and start programming again. It's fine to use LLM's if you want but nobody is forcing you to.

Seems like you have given the part you enjoy in software development to LLM.
Have you considered not doing that? It's not obligatory to have an LLM shit out unreviewed code for you, you're making a choice to do that, and you can make a choice not to.

Review the code. Hell, maybe even write some code yourself.

What you're describing is how I feel whenever I use an LLM for anything more than the most basic of tasks. I've gone from being a senior level software developer to managing a barely competent junior developer who's only redeeming skill is the ability to type really, really quickly. I quit the management track some time ago because I hated doing all my software development via the medium of design documents which would then be badly implemented by people who didn't care, there's no way you're going to get me to volunteer for that.

> managing a barely competent junior developer who's only redeeming skill is the ability to type really, really quickly

Hits the nail on the head. For an actual junior developer, they'd at least learn over time. With LLM, open up a new chat and you start with a new hire.

Most coding tools have rules or plan files that help provide context across chats.

I spend most of my time editing these files. It's as if I am training a junior dev.

Maybe everyone will now expect you to complete tasks as early as possible. They might also be evaluating the time needed to finish tasks, considering the help from AI.
"who's only redeeming skill is the ability to type really, really quickly" This really resonates. Here’s the hard truth: AI coding assistants are like giving devs a faster keyboard. Sure, they type faster—but typing was never the bottleneck.

And while AI often produces high-quality code on the surface, when things go wrong, they take longer to fix. MTTR for AI-generated code is much higher, especially when devs don’t fully grok the code they accepted. That undercuts a lot of the perceived velocity gains, especially in complex, evolving systems.

How large of an idea can you implement by yourself as opposed to leading a team?

I can and have lead discovery sessions either virtually or hop on plane and do it in person, design the architecture, be a halfway decent project manager, tech lead, hands on development, take an empty AWS account and set up best practices from a security, networking, deployment pipelines, etc.

But I can’t do it all at once and there is still only so much I can do at once and no business would be happy with the length of time it would take me or any one person to do a complex implementation at scale. At some point, if you have big ideas, you have to lead projects.

However LLMs make a damn good and fast junior developer that can do it all especially on a green field project with clear requirements and the amount of work I can get done now by myself on each of those levels - post requirement gathering is at least 2x - 3x.

And I am not bragging - I’m old. I should be able to do all of things I mentioned.

Code is an implementation detail. My job has always been to get computers to do stuff to either make the computer money or to save the computer money either via my own hands or via leading a team.

> At this point, I’ve even stopped reviewing the exact code changes. I just keep pushing forward until the task is done.

This is definitely going to end well.

Man these comments are a rancid minefield of soapboxing.

OP, take some time off and evaluate what you want.

"Doctor it hurts when I do that..." ;)

(e.g. did you consider simply not using LLMs to write code and maybe just use them for rubberducking, cross-checking your code and as StackOverflow replacement?)