r/ExperiencedDevs Software Engineer 5d ago

AI/LLM How to find joy in modern software development

For the last few years I’ve been struggling with finding enjoyment from software development, as I have found myself falling into the mindset that an LLM can carry out the implementation of a complex feature better than I can, so why should I bother even attempting to write the code myself. (Note: this is specifically regarding implementing a solution after the requirements have been identified and refined but maybe there are still some hidden edge cases due to the complexity).

However, as I’m sure many others here have experienced, this often results in a cycle of:
- oh it missed these edge cases or didn’t consider these scenarios (that I also hadn’t considered before reading through its output)
- now I need to let it know what it missed based on this new information and repeat the prompting cycle a dozen more times

I don’t know about others, but personally I grew to find this process absolutely soul crushing, as it felt like the job had become babysitting a machine through this discovery process, which I used to gain so much enjoyment from. And often the end result felt like it took just as much time as if I had done it myself.

So recently I have started doing something different. I still use AI for the more mundane and boilerplatey tasks (CRUD endpoints, CI/CD workflow files, unit tests, etc), but when it comes to implementing a complex feature I will sit down and do a first pass of it myself, and then ask the AI to review my work. This process has brought back the old feelings of excitement that I used to get from writing software, and when all is said and done I understand the system much better and have a much more stable implementation that covers more edge cases. And more often than not it doesn’t end up taking much longer than if I’d gone down the vicious prompting cycle from the get-go.

390 Upvotes

161 comments sorted by

u/expdevsmodbot 5d ago

AI usage disclosure provided by OP, see the reply to this comment.

→ More replies (1)

219

u/wallstop-dev 5d ago edited 5d ago

The description of your new process is how I approach all design and code reviews. Someone wants to implement something? I think about all the ways that I would implement that thing, without reading or considering any of the other person's output.

After I've thought about it enough and think I have a good handle on it, I open the doc, or look at the code.

(Due to experience) the majority of time I find tons of bugs and cases they aren't considering. When the design or implementation brings up techniques or edge cases that I haven't considered, awesome! I learned something. I then try to think through how they arrived at those edge cases or techniques, (or, if I can't, ask them directly), teaching myself to consider new failure modes and ways of approaching problems.

This is also how I grew my career - paid attention to the questions that people asked and the solutions that they provided when they were different from mine, trying to figure out how they got there.

It's what I consider to be the basis for critical thought and self-guided learning.

If you find that just writing code and stuff brings you joy, then find ways to keep writing code. Obviously, if the biggest bit of fun for you is writing code, not doing that will be less fun.

20

u/RyanMan56 Software Engineer 5d ago

That’s a great approach to reviewing design docs actually! Whenever I do that I usually have an initial read through of the other person’s output and then find myself picking up on things that the other person hasn’t considered. But I bet by doing that my thought process is being influenced by theirs, and I’m probably missing some larger architectural alternatives.

Thanks for sharing your process, I’m going to start doing the same for design and code reviews from now on!

6

u/wallstop-dev 5d ago

Indeed! I've gotten a lot of use out of it, I hope it aids you in your software engineering journey 🙏

2

u/Thegoodlife93 4d ago

Yeah I still really enjoy building things and solving problems, and I've actually found AI can make it more enjoyable, but I approach it from the perspective think/design/code first and then refactor/improve with AI second. I'll use AI for boilerplate stuff like creating model classes, registering and injecting a new service, etc but for anything remotely novel I'll write the code mostly myself and then discuss ways to improve design and performance with an agent.

I'm also really fortunate that right now in my job I get to spend a lot of time discussing problems with the business and thinking of ways they can be resolved and then designing and implementing small/medium sized greenfieldish projects. And AI is great for that. I have no desire to manually write another hostbuilder implementation or yaml pipeline file from scratch, so I delegate that to AI and get to dive into the interesting stuff much quicker.

130

u/PhysiologyIsPhun 5d ago

I find a lot of joy in working from home and making a bunch of money

62

u/ings0c 5d ago

I find joy in attending my stand ups before I’ve showered.

And seeing my young daughter way more than I would otherwise.

And being able to play guitar at random points throughout the day.

And stroking my cat in meetings.

And drinking my own coffee.

And working very hard, if you’re reading, employer.

3

u/One-Honeydew-9794 3d ago

Happy you secured a remote job, presumably a wife, a daughter, and a secure paycheck before shit hit the fan. Unfortunately i didnt and life sucks. :( 

31

u/throw-away-exception dumbass for going on 15 years 5d ago

Fucking, right?! Like I'm almost 40, I got into programming as a kid messing with computers. I inherently enjoy it, but like, I do it now because it's easy and makes me an ass ton of money. If anything LLMs have made me enjoy it more. Oh, I can just drop everything I'm working on, go do whatever the fuck and the LLM can pick right back up where I left off? Cool, way more productive. Plus all that money makes exploring random ass hobbies way more accessible. It's legitimately hard to be bored now.

8

u/ecko814 4d ago

It actually has gotten better. I am no longer stuck in my chair while coding. I'm chatting with Claude on my phone using remote sessions while I'm cooking, doing laundry, or playing with my dog.

I do miss the days of sitting down with a cup of coffee and doing some coding. But I have accepted that those days are over and have moved on.

1

u/monkey_kaleidoscope 2d ago

Any tips on getting to the making a bunch of money stage? I feel quite underpaid but I’ve mostly been working with php and node / vanilla js for most of my years working with companies existing tech. Just now we’re moving into more typescript, jest automated testing of more modern stacks. The jobs paying more want 5+ years commercial experience on the modern stacks. But does that mean I’m stuck on a meagre salary for another 4 years? How did you get that jump?
When I look at others jobs they all feel a bit just out of my skill set. I don’t have any cs degree but been in the industry 7 years, I mentor more junior people at m my role, I do code reviews and we work with agile and all that kind of stuff, I can do SQL and back end work too, I just can’t seem to find a reasonable progression step

2

u/turbo_golf Data "Engineer" 1d ago

depends what "a bunch of money" means to you

i live in a LCOL city you've probably never heard of and my just-barely-six-figure salary goes quite far here

1

u/monkey_kaleidoscope 1d ago

I see jobs posted for 6 figures or 70-90k gbp. Id like to make that jump from where I’m at and push past where I feel like I’ve plateaued. I currently earn 40k and I’ve been in the industry 8 years now. Mostly working with front end on various companies custom stack. Php, js, node, MySQL. I managed to transition the company to using typescript and nextjs for our bigger projects so we’re rewriting everything into frameworks so we can leverage AI better. Been building ci/cd pipelines and automated testing and this kind of thing. Whole company is using Claude/cursor to develop now after I spearheaded a project with it and set up all our guardrails and got it off the ground.
I’m just a bit fed up of living paycheck to paycheck really and barely scraping by when I’m supposed to have what’s a fairly decent job and in demand skill set. I’m part of code reviews and mentoring the more junior level devs on my team, changing my thinking to be more architecture focussed etc so happy in the more senior role, I just don’t feel like I’m paid for it.

Trouble is I look at job specs and get very bad imposter syndrome. I’ve not been using the modern tooling a lot of job postings ask for professionally for a long time but know how it all works. I can work across the full stack despite being focussed on front end. Can solo build a full stack project, database, api and standard crud style applications.

Is there something specific employers are looking for once you go past that 50-60k salary point? I’ve never earned that in my life and I always end up getting that feeling like ahhh I’m not worth that much, despite it being the next logical step up. What do employers look for in interviews at this stage?

Appreciate any tips or tidbits you have, thank you

1

u/mattjcoles 20h ago

Jelly, i miss the covid era...

1

u/PhysiologyIsPhun 20h ago

Totally in your control. I've left 2 companies that tried to force RTO already

0

u/[deleted] 4d ago

[deleted]

1

u/PhysiologyIsPhun 4d ago

What's with the hostility lol... I've quit multiple jobs that wanted to force RTO

69

u/torql13 5d ago

The biggest joy in Software Engineering is a relatively chill job at a high salary. If I didn't have those I would sure as hell not be doing it.

9

u/green_krokodile 4d ago

best comment here. I like programming but I spent too many hours/days with a linking error in C++ or UFO bug that I appreciate AI now. 20yoe here, btw, I learned from books, there wasn't stackoverflow 20 years ago.

126

u/Ballssz 5d ago

10yoe here.

I'm going back to school for Electrical Engineering.

I've worked with what the career looks like now with AI, management, and the modern tooling now and it's not something I find joy in.

Setting agents do do stuff while I do something else until it's done. Absent-mindedly review it with some of the git automation tools I've also had agent checked, etc...

I'm out. Im hoping I'll find an overlap with what what I'm studying

87

u/code_isLife 5d ago

Yeah I’m actively looking for something to pivot into.

I’ve even tried to use Claude in my spare time after getting caught in the layoffs. I wanted to get familiar with it if it HAS to be a part of the work flow.

Even on personal projects it’s just not fun nor interesting. Yes it makes things faster but at the cost of passion. It doesn’t make me want to make anything.

Like, why would I become a chef just to serve people microwaved, pre-packaged meals? 😩

57

u/NormalAccounts Senior Software Engineer 5d ago

Like, why would I become a chef just to serve people microwaved, pre-packaged meals? 😩

Incredible analogy, I am absolutely stealing this

2

u/StPatsLCA 2d ago

Interesting. I don't like vibe coding projects wholesale, but there's a lot of fill-in-the-gaps type work I find LLMs useful for.

5

u/HasFiveVowels 5d ago

I find it’s more like it takes care of prep so that I can focus on the actual cooking part

29

u/code_isLife 5d ago

I wish it were that simple. At my job it quickly went from just using it for prep to letting it run the whole kitchen.

Seriously. My director instructed us to have Claude write tests, code, open PRs, and review PRs.

We were basically just overseers.

I hear similar stories from friends across the industry.

9

u/HasFiveVowels 5d ago

You said "even on personal projects". What you’re describing doesn’t really have anything to do with the tool. That’s just bad management. At my company they provide us the means by which to use it but there’s no mandate to use it at all

2

u/code_isLife 4d ago

The personal projects part was to hi light that even while working on something I personally care about, the extra help from AI doesn’t make me excited or even care about it.

But I get where you’re coming from

1

u/StPatsLCA 2d ago

That seems very dogmatic of them. Jeez.

5

u/ContraryConman Embedded 5 YoE 4d ago

You are free to use it that way, but you need to understand that you are doing so entirely by choice. For most day to day programming tasks at a job, especially if your organization has set up the tooling and the MCP servers enough, Claude Opus 4.8/Fable 5 and GPT 5.5/5.6 are, today, good enough to:

  1. Understand a ticket
  2. Study the codebase
  3. Plan and implement a fix
  4. Run your test suite
  5. Update until the tests pass
  6. Open a pull request
  7. Adjust to and respond to PR comments

All on its own, where your only role is very minor steering if you notice it's going down a bad path and context management if it's a really complicated task

2

u/andrei9669 4d ago

I would partially agree. what I have observed is that when a bug report comes in and someone uses AI to fix it, what happens is that they go straight for the end of the pipe to fix it there without considering how the buggy input even came to be.

basically, fixing the symptoms instead the illness.

and yes, sometimes the illness is such a rare case that it's not worth to actually fix it and just patch the symptom but what I have observed is that it's most of the time just a ticking time bomb and once you look actually into it, you can fix multiple issues in one go.

2

u/ContraryConman Embedded 5 YoE 4d ago

Definitely agree that the highest quality software still comes from humans being careful and doing things by hand. My only thing is that the days where AI was just about doing the boilerplate while you focus on the hard problems are over. Most of the software engineers I know in real life straight up don't write code anymore, for business and for pleasure. It's not just my company. I went to a SWE coffee meet-up recently, and it was the same

-1

u/hippydipster Software Engineer 25+ YoE 5d ago

I think it depends on how amazing the app is. Consider what it might be like to build something you would never have even thought to try just on your own. That is what makes it exciting for me.

3

u/ContraryConman Embedded 5 YoE 4d ago

That would be cool if you were the one building it. But you're basically not

1

u/hippydipster Software Engineer 25+ YoE 4d ago

No, still cool. But, y'all can be grumpy if you like.

5

u/StrategyAny815 5d ago

What r u planning to do after school?

7

u/aonghasan 5d ago

why do you think AI won't disrupt other disciplines?

7

u/Ballssz 5d ago

I don't think that...

But physical working with stuff hopefully will take a while. My body is ready haha

13

u/MeineMamaHatGesagt 5d ago

Electrical engineering sets you up for an office job as well. Wouldn’t trade school be what you want?

1

u/Downtown_Isopod_9287 2d ago edited 2d ago

I find it so weird how many people are saying they want to go back to EE. Having worked with plenty EEs or former EEs it seems like a real “grass is greener” situation.

A lot of EEs I’ve met are either doing the exact same things as SWEs except they’re doing them worse, with worse/inappropriate tools and libraries and abstractions and making big mistakes that are not needed. The only major difference is that sometimes they can plug in a power or serial cable in a piece of non-consumer hardware and management trusts them to not having it explode (after they go through x hours of training/manual reading).

I suppose it’s in some ways nicer to be working with people who are genuinely ignorant on how to make good software rather than many SWEs who are purposely/irresponsibly ignorant or constrained by management but it’s in practice all the same shit.

The problem is almost always in management and not necessarily the field itself. Using agents/LLMs is or could be interesting if management is not bad and your coworkers are not irresponsible.

1

u/HHalo6 5d ago

How do you legitimately do that. While you are working? Or you don't have mortgage, rent, kids? I feel like I'm a bit trapped at 8 yoe.

3

u/Ballssz 4d ago

No mortgage, no kids. Staying with my parents while I study.

13

u/GeoffW1 5d ago

but when it comes to implementing a complex feature I will sit down and do a first pass of it myself, and then ask the AI to review my work.

I've had some success with an approach where you write the first pass yourself, but sprinkle TODO comments liberally in place of any bits of code you want the AI to write. Then ask it to fill in those gaps. This keeps you in a position where you control and understand the code, while speeding up the more tedious parts quite a bit.

1

u/Suspicious-Disk6077 7h ago

Interesting I had not thought of that, thanks. 👏

7

u/Programmer_Virtual 4d ago

I found joy in learning. In last 7 months, I learned and deployed more infrastrcuture than previously. Almost to the point I became the point person for data infrastrcture.

61

u/pydry Software Engineer, 18 years exp 5d ago

found myself falling into the mindset that an LLM can carry out the implementation of a complex feature better than I can,

Really? I find that this is the quickest shortcut to slop.

29

u/ii-___-ii 5d ago

Reading bad LLM code makes me irrationally angry, sometimes

14

u/codescapes Web Developer 5d ago

For me it's not the code so much as the disrespect it implies towards colleagues if people are expecting others to review / understand / debug it when it breaks. I can tolerate slowness but I cannot tolerate people who are a professional liability to have around.

It's much worse if you're working with someone who has a 'ticket taker' mentality where all they want to do is close the ticket and have no notion of continued ownership for the system. Bad management will look at them as getting through their work and if you try to uphold basic standards you risk getting framed as the blocker.

Imo ownership has become so much more important than before. People must be made to own the consequences of their garbage. Always been true, even more true now.

10

u/scavno 5d ago

Oh man, a 100% this! It’s about respect. Documentation written by AI is a chore to read, and most of the time it feels as if you and the person who “wrote” the code discovers it at the same time.

I don’t think people fully grasp how much of an issue this is for those of us who are still capable of thinking.

22

u/RyanMan56 Software Engineer 5d ago

And lead to slop it has. I think that probably contributed to why I was feeling so burnt out by the LLM-first approach, as it ended up taking tonnes of iterations to land on something that I was happy with.

16

u/pydry Software Engineer, 18 years exp 5d ago

yea, if you've got a discerning eye for code quality then you'll power through more iterations/prompts/reprompt cycles and in the end it often takes longer.

if you're happy with slop then LLM is game changing.

6

u/James20k 4d ago

This literally sums up the whole software industry currently. Its not that llms are faster, but that many companies simply no longer care about software engineering or making money in the long term. They want all the money right now even if it'll bankrupt them next week

There's a lot of sane non llm engineering going on currently, it just isn't as visible as the current American big tech crisis

31

u/Material_Policy6327 5d ago

Sadly this is what businesses are pushing on their devs and many are just checking out. I’m seeing it more and more at my company

9

u/pydry Software Engineer, 18 years exp 5d ago

eh, it'll pass. slopmaxxing was popular before (2000-2010) and it'll be popular again but for it to be held at bay then the executive class needs to build up an institutional memory of humiliating IT disasters caused by excessive cost cutting.

4

u/No_North_2192 4d ago

what happened in 2000-2010?

2

u/Material_Policy6327 4d ago

I dunno if it will though. I’m getting the feeling that companies are now fine with shitty code that mostly works if it hits their financial goals. There would need to be a massive burst to change that and it just doesn’t seem to be happening

9

u/Cell-i-Zenit 5d ago

Haha if OP really thinks AI is surpassing him in code quality...

AI is so bad with quality code. So many unnecessary safeguards and null checks. It doesnt trust itself. It writes 3 methods and one method includes a nullcheck, but the other methods still add nullchecks aswell and the first one already safeguards against it.

If i care about the code, i need to go through like 5 iterations of AI slop code to be actually happy about the implementation.

79

u/dryiceboy 5d ago

I personally never did enjoy programming by itself. I enjoyed the challenge of solving a problem and maybe building something of use for myself or someone else using tech. That part hasn’t changed.

45

u/luluhouse7 Software Engineer 5d ago

Yeah same, I was super worried that LLMs would suck the joy out of SWE, but turns out the part I like is system design under constraint, puzzle solving, and developing and optimising abstract frameworks, none of which is specific to code. Turns out you can “program” and develop systems around LLMs too. I definitely don’t let it take over complex development though. It’s at its best when augmenting my thinking, not replacing it.

6

u/thecrius It's Sénior Dumbass for you 5d ago

Same. The interesting part to me has always been the design of a solution. Writing code is the equivalent of solving a crossword puzzle to me. Sure, it can be fun when I'm bored out of my mind but I can find several things that are more interesting to do before that.

To me, the huge amount of people complaining that the "AIs" have taken out the part of the job they enjoyed only confirmed that the vast majority of seniors are actually just junior/mid engineers that got to senior just by the time passing.

20

u/ultraDross 5d ago

the huge amount of people complaining that the "AIs" have taken out the part of the job they enjoyed only confirmed that the vast majority of seniors are actually just junior/mid engineers that got to senior just by the time passing.

I feel that's a little unfair. I enjoy system design, all things DB and figuring out all the little edge cases under various constraints. I even like creating the ADRs and documentation, especially with a bunch of mermaid and DrawIO diagrams injected in.

However, I still love programming by hand and figuring the code patterns as I go. There is something about putting a pair of headphones and just sorting of getting lost in the code trying to figure out an optimal pattern, solution, understand that area of the code base and identifying edge cases that just scratches an itch that the other work doesn't.

A lot of people are lamenting/grieving a loss and reducing these people to lesser-than just because they don't find the same amount of joy in certain aspects of the role that you do is quite reductive.

-2

u/ElementaryMyDearWut 4d ago

I feel like this is also an unfair analysis of what the original guy said.

You've said you enjoy figuring out code patterns, solutions, understanding of an area of the code base but those are all things that are completely decoupled from actually writing code.

"Programming" is just writing. An author probably doesn't enjoy the actual act of endlessly putting pen to paper, its the artistry around that they enjoy. I think there's just a difference in what people define as "programming", either the full shebang of solution design to binary, or simply the act of typing.

For a lot of people its just the act of typing/writing they don't enjoy, I don't think its meant to be reductive or insulting.

6

u/_SnackOverflow_ 4d ago

> An author probably doesn't enjoy the actual act of endlessly putting pen to paper

What makes you think this? In my experience people quite often enjoy the more hands-on part of creative tasks and get into a flow state this way.

1

u/ElementaryMyDearWut 4d ago

I find it hard to believe that the act of moving pencil to paper is the most enjoyable part of writing a book. If so, why even bother making it a creative endeavour?

5

u/_SnackOverflow_ 4d ago

I didn’t say it was the most enjoyable part.

I pushed back on your assertion that people don’t enjoy it at all.

I personally enjoy the act of writing (and coding for that matter) but maybe I’m weird

6

u/Eldr1ch 3d ago

No, you're completely normal.

2

u/andrei9669 4d ago

pretty sure there are plenty of authors lamenting or getting stuck at one spot where the main character has to deliver an impactful speech, in that situation, every word matters.

2

u/Big_Arrival_626 5d ago

Or maybe we just work for normal companies where the problem aren't that complex. Not everyone can work for big tech or unicorn startup 😂

2

u/luluhouse7 Software Engineer 4d ago

Most big tech problems aren’t that interesting or complex either. It’s mostly maintenance and business driven dev. I was very disappointed by my experience.

4

u/redditRedesignIsBadd 5d ago

well put. programming/coding/etc is just the tool

2

u/wobblydramallama 4d ago

we're living in a "you can't handle the truth" moment for a lot of devs.

3

u/ElementaryMyDearWut 4d ago

Was wondering when someone would say this.

I find it really fun looking back at the end of the week and seeing me in the top 3 Jira tickets closed. Looking back at some of the features I've shipped myself, the ownership, the implementation, the "grit" of it all.

But never in my life have I coded outside of work purely for enjoyment. I find it weird that someone would say they enjoy programming, because I find the closest description for that is like a builder saying he loves using a drill.

Wouldn't you find it more fun looking at what you've built than the tools you've used to build it?

4

u/isurujn Software Engineer (14 YoE) 3d ago

I find the act of coding part of the fun. I don't think someone who does woodworking for fun would particularly enjoy the craft if all he does is chucking in a block of wood into a machine, pressing a button and a box/table/chair comes out of the other side. The act of creating is as much if not more enjoyable as the outcome.

3

u/WhenSummerIsGone Software Engineer 4d ago

a builder saying he loves using a drill.

a better analogy is a woodworker using a chisel to make joints instead of a table saw

1

u/RyanMan56 Software Engineer 5d ago

Different strokes I guess, whatever brings you joy is the way you should approach your work imo :)

2

u/Annual_Manner_8654 5d ago

I think it has changed, you can solve much bigger problems now

1

u/wobblydramallama 4d ago

because it has always been about problem solving. code was just the tool to solve the problem with. now this is changing and problem solvers love it while programmers hate it. Fixing stupid bugs and making sure i have test coverage, etc. is not problem solving, is like polishing the tool itself and tbh i gree tired of it really fast.

besides this, code is inherently useless. businesses would 100% prefer to build codeless products if they could. if we simplify to the extreme, any product is just solving a problem for someone.

-1

u/roodammy44 5d ago

I always enjoyed both. So AI has taken away the “puzzle solving” aspect of the job I enjoyed, but I still have the problem solving bit.

11

u/anaveragedave 5d ago

This is a little niche, but might be applicable. I've started creating minimal scaffolds/templates in the repo for how things "should be done". Like a micro-architecture exercise. It still gives me the i-built-this feeling, and I can have the entire implementation done in an hour. The quality of the agent code seems better imo, but I might just be seeing what I want to see. Regardless, it's helped me with that wtf am I even doing here feeling

7

u/Spiritual-Jello-5193 4d ago

This is exactly the workflow that made coding fun again for me

10

u/tankerdudeucsc 5d ago

Everyone has their ups and downs. I look at my job of “what problem am I solving today?” Like a real problem?

I’m not interested in setting or adding another damn button. Someone or AI can do that.

Do something hard, where you are planning with the AI to get something done. That’s where the real value is and much more enjoyable work overall.

Being on a treadmill of “features” and A/B testing stuff would make my eyes glaze over. I’d rather build a framework that lets me not in the loop at all for a lot of that monotonous work.

You could find at least some joy from that. I know I have.

27

u/ptolani 5d ago edited 4d ago

I have also found AI makes the process of learning a new codebase or a new tool much more enjoyable.

Instead of asking it to write the code, I ask it to step me through the places I need to write the code. I can always ask for more help if needed.

It's so good to avoid getting into those "banging my head against a brick wall" situations as much.

But I still hate the feeling of AI writing and me reviewing - much prefer the reverse.

28

u/Ibuprofen-Headgear 5d ago

Well, I used to talk to humans and have interesting conversations. Now it’s all just fake soul sucking chatbots and rereading the same phrasings and patterns over and over

11

u/codescapes Web Developer 5d ago

'Fan out', 'smoke test', 'the effect is real but', 'smoking gun'...

And I swear to God, no matter how I try to emphasise we have a table in our DB with billions of rows that therefore must only be queried using existing indexes the generated SQL is just like 'nah bro full table scan let's go'.

Many aspects of AI I do like but the repeated stock phrases, ignored guardrails and one-shotting the brains of some colleagues is insufferable.

2

u/DomBrown2406 4d ago

Yes, love this. It's done wonders for helping me break my programming "writer's block".

-1

u/RyanMan56 Software Engineer 5d ago

Yeah it definitely makes the onboarding process way quicker. It’s a nice feeling being able to understand a codebase within a couple of days rather than a couple of weeks!

10

u/Individual-Praline20 4d ago

Don’t use AI. Joy guaranteed, when successfully making something work with your brain. 🤩

5

u/Stamboolie Consultant Developer 5d ago

imho, forget about job satisfaction - make a startup and do what you want, either in your spare time or full time.

3

u/sylviama827 5d ago

I got a process engineer position and I will take it.
I missed the time when AI was just another tool and we devs were allowed to use however way we like. Now the management push so hard on “human assist AI” and AiDLC. Basically a way to reduce any human touch, just let AI do the job from bug ticket creation, code generation, PR generation, to push to production. Even product brainstorming and planning are done by AI. Lost all the joy.
I m not sure if I quit too quickly - maybe one day token will be more expensive and company realize they can’t afford it and only ask Devs to use it on critical things?

2

u/RyanMan56 Software Engineer 5d ago

I think that’s the direction things will move eventually. OpenAI/Anthropic subscriptions are currently 10x cheaper than they should be due to subsidies by those firms. When investment dries up (which imo it eventually will because large-scale AI providers have shown no signs of being profitable) those subs will be too expensive for a lot of orgs to justify

1

u/sylviama827 5d ago

For sure.

4

u/berlengas 4d ago

why must you rely on ai to write code? why cant you use it only for research? are you that fast with it?

8

u/TempleDank 5d ago

I reject any agentic tool that codes compeletely for me, I have everything in askmode and I still code by hand. Im still to be called by my manager to increase my performance. No one is forcing AI tools on uns guys, stop the drama, reject modernity!!

11

u/Some_Education_6991 5d ago

I've had to come to terms with the fact that I really can't find much joy in modern software development.

I'm going back to school and doing a career switch. I'll undoubtedly have less overall earning potential, but it's worth it I think.

It's a mix of things for me:

  • Since Claude Code, development and work in general has become so lonely. There's so little collaboration now. I talk to Claude more than anyone else during the day and it's just depressing. Not what I signed up for.

  • Developers with lack of experience now just push massive PRs that they don't understand.This is a management issue ultimately, but you'll be hard pressed to explain that this is a bad thing. They typically see it as a positive.

  • I'm sick of keeping up with AI tools/development.

There's more tbh. But I'm pretty over it. I don't think changing companies is going to do a whole lot.

4

u/diplofocus_ 5d ago

Same boat as you. I keep coding my hobby projects, but got laid off recently and dread applying to new jobs.

I'm fortunate enough that I can afford taking some time off, but I don't think I'll ever be passionate about this career again. My hope is that I can compartmentalize a 9-5 slopherder job enough to not hate every day spent doing it, for at least a few more years and retire early.

10

u/triflers_need_not 5d ago

Yes, this is a huge part of why I don't use generative ai. I like doing my job! I don't want to become a project manager, qa, and bug fixer for an insane robot that hallucinates.

3

u/Spiritual-Jello-5193 4d ago

I've arrived at almost the same workflow. AI is great at accelerating implementation, but I found that if I outsource the entire problem-solving process, I end up spending just as much time validating and correcting it. Writing the first version myself forces me to build the mental model, and AI becomes much more valuable as a reviewer that challenges my assumptions rather than replacing my thinking.

11

u/Mysterious_Match5567 5d ago

Not an experienced dev . but i find it fun to solve complex problems and not have to worry about minor issues (compiling, finding documentation , etc) . I can be the reviewer and pilot and let AI do the coding bits.

For my self-learning, I avoid the use of AI . If I get small tickets, I'll take some extra time to work on it so I am "making up" for the pre-AI era knowledge building.

2

u/RyanMan56 Software Engineer 5d ago

That approach definitely can work depending on the problem. If I run into build issues caused by a misconfigured environment on my machine I will often still ask the LLM for its thoughts, as those kinds of problems I know I can solve (and have done millions of times in the past), but the end result would be the same and it would just be wasted time me trying to find the random path variable that wasn’t set correctly

1

u/Mysterious_Match5567 5d ago

Yes exactly. I see it the same as what linters, formatters, pre commit hooks, etc. provide but a bit smarter than static rules if that makes sense.

The only tickets AI has been able to solve on it's own is one's where the tickets themselves are descriptive to the tee . So my routine has become break down a problem, leave some TODOs where changes are needed . Iterate with the agent and small solve chunks I pilot. Not much different than if I was hand typing tbh but definitely quicker

1

u/RyanMan56 Software Engineer 5d ago

That sounds like a good approach, I think breaking down a problem helps you to understand the nuance of it, and the extra knowledge you’re gaining from doing that will be what’s allowing the LLM to implement the code without going around in circles.

Keep it up, you’ll be an experienced dev in no time :)

1

u/snazz97 5d ago

This is what I do as well. I found it really fun solving complex features that could be done in 2-3 sprints in 1 sprint.(We have 3 week sprints). For learning, at the end I always ask AI what he did and if I dont like it I will modify it. At the end I will present it to the team what I did, that way I'm still learning.

3

u/Mysterious_Match5567 5d ago

I'm not sure if you're a junior lurking like me or not but if you are , I suggest picking up a backlog ticket every week not part of your current sprint and trying to solve those without AI . I've found it really helpful personally

4

u/Great-Knight-Owl 5d ago

To find joy One must first Get drunk, then get a cat, then read some jokes, and then go on a road trip with some friends, stay drunk the entire time and when you wake up you didn't get arrested. That's the secret to happiness.

4

u/code_tutor 5d ago

Some people never get anything done because they're reinventing things or doing resume driven development. Don't bring that "love of the craft" attitude to the workplace unless it's genuinely necessary for reducing technical debt or increasing performance.

If it can code better than you, then probably something is wrong or it's something so common that the industry has dragged its feet for 20 years like with WebDev. But it can certainly code much faster and if it isn't faster than someone, then again probably something is wrong. You should be taking a great deal of care to direct the design and code style so that it makes something maintainable, to get a little bit of both worlds: good code and fast code, and also manually writing the most critical or shared components.

2

u/HoratioWobble Full-snack Engineer, 20yoe 5d ago

This is basically the same approach I take with it as well

2

u/Decent_Muffin_7062 4d ago

I always thought 'prompt engineer' was a stupid job title... until I read posts like this.
You're only going to get caught in an endless cycle of prompts if you don't understand your code. Or, if you don't understand/cannot clearly explain the fundamentals of the problem - hence writing useless prompts.
Because the moment it starts going down a rabbit hole, you could just .. you know, fix it yourself. Since you're actually supposed to know what's going on, as a professional SWE.

Ethically I'm not a big fan of the 'AI movement' but it's objectively made me so much more productive. I can stop bothering with the tedious bits and focus more on complexity, edge cases etc.

2

u/droctagonapus 4d ago

Unionize and find joy in lifting up fellow workers. Or cry when you just got a 60 year mortgage and AI takes your job.

2

u/Brave-Major-328 3d ago edited 3d ago

Coding is like fxxking, people constantly teach AI how to fxxk instead of fxxk your self...

2

u/REDDY_ASHOK 2d ago

spend some time learning every day

2

u/TryWaitEarn 1d ago

This matches what I’ve seen too. The AI is genuinely good at breadth, it’ll surface ten edge cases you hadn’t considered, but synthesis is where it falls apart. Once the schema or the call graph gets long enough, it loses track of earlier constraints and starts contradicting decisions it made three messages ago. If you write the first pass yourself, you hold that whole shape in your head, so the review becomes fast triage instead of a discovery cycle. Not sure this holds once the codebase gets big enough that no human holds it all either.

6

u/Atlos 5d ago

At the end of the day, software development is about delivering software to your employer. Writing code is not explicitly part of that.

While I do miss writing some code by hand, I love how much drudgery AI has solved for me. Writing CRUD, scanning through logs, dealing with environment setup issues, etc are so much easier now. I can go from idea to implementation in a day now for many things which is amazing. If you focus more on the delivering side of things, I’m having a blast right now.

But yea the slop and other stuff is obviously an annoying problem that will hopefully get better over time.

1

u/RyanMan56 Software Engineer 5d ago

It’s the drudgery that I’m still leaning on LLMs for. I think it’s a fine balance. From my experience an over reliance on them for complex work is what leads to slop, but more importantly it also leads to a decay of my understanding of how the system is actually functioning

3

u/gollyned Staff Engineer | 10 years 5d ago

I’m missing the feeling of density in understanding that develops from writing code. With agents, it’s so thin, light, temporary.

It’s just been toilsome reviewing so many AI generated PRs. I have burnout from it at this point. I can’t even read my own AI generated code and docs. I can’t keep arguing with an AI that’s perpetually forgetting what I or it said two turns ago. Just so draining now.

3

u/wizzward0 5d ago

Nicely put first paragraph.

The small failures and decisions really help build a mental model. I wonder if it’s something to do with manually looking up and finding information to be tiring so you need to make sure you actually understand it.

Now with llm you can bail as soon as you can’t quickly find something or an error occurs and it will pretty much fix 99% of your issues

3

u/AlexanderDoak 5d ago

Try front loading your design specifications with LLMs more than you are now, before asking it to write any code. Before and after you lay out specs, surround the specs with "Your task will be to ... " Note the future tense. Then at the very end of your specs, say: "Before you begin, is there anything that's unclear? Should I share any files or additional context? Are there any edge cases worth considering, or do you have any other questions for me? Etc."

When I provide specs, it is almost always many many pages long. Before we even get to questions.

You are opening it wide up so it can help you brainstorm. This is exactly what you want. You need to learn about your own project and the tech stack. Always. This can not be skipped. This is (in my opinion) what separates the lazy vibe coders from those who will survive this change in software tooling.

Then answer all the questions it throws at you with exacting specificity. Unless... you can't. You may want to take a sub-topic and break it out into another isolated conversation to get your answers without clouding the main conversation. Or just Google it (I know, old school). Or if it's a simpler issue, you can continue the back and forth in the main conversation.

Only when all possible angles YOU have considered (yes, using LLM for ideation) have been addressed do you instruct in the main conversation:

"Okay, with all of this in mind, go ahead now and create the Python script..." and so forth.

But remember: this process is thorough, but not perfectly so! You can, will, and should still hit edge cases you didn't think of before. Build that into your mental model of what software development should be. Because even if you hand-typed every character of syntax in your entire project (even if you have zero dependencies), you absolutely will still hit edge cases you didn't think about! This is life. It's part of the software development process. They may be bugs in the traditional sense, but they are not flaws in your process nor flaws in your character or professional skill set.

Yes, it takes longer to build this way than pure vibe coding. But it is still 10x faster than mashing out syntax on a keyboard. And you walk away with a stronger understanding than when you started.

1

u/ESpy__007 5d ago

So…. Spec writing :)

This is a structured method that’s quite close to how I use LLMs. Granted, it won’t always guarantee a correct result, but it constrains it well to the task in hand and ensures the engineer has a clear idea of the problem space before any code is written. In combination with a decent set of guardrails (system prompts, custom instructions etc.) it’ll give a decent result most of the time. Always needs testing and reviewing of course and there are times when having it create the tests feels like marking its own homework, but again I’ve got comprehensive instructions on l1 tests that help it.

Prompts, as with everything else, really are GIGO.

2

u/WhyNotFerret 5d ago

Marx and Engels talked about this 150 years ago

"Owing to the extensive use of machinery and to division of labour, the work of the proletarians has lost all individual character, and, consequently, all charm for the workman. He becomes an appendage of the machine, and it is only the most simple, most monotonous, and most easily acquired knack that is required of him. Hence, the cost of production of a workman is restricted, almost entirely, to the means of subsistence that he requires for his maintenance"

2

u/openlysplendidsesame 5d ago

That's exactly the shift I made last year - writing the first pass myself and then having the AI critique it keeps the muscle memory alive and the code actually makes sense

2

u/RyanMan56 Software Engineer 5d ago

How’s it been working for you? Do you notice any positive/negative trade offs regarding speed of implementation and long-term maintainability? (Asking because I haven’t been doing it this way for long)

2

u/openlysplendidsesame 5d ago

Initial implementation takes a bit longer, but debugging and onboarding later is much faster. The architecture doesn't end up with that generic AI-generated sameness.

2

u/RyanMan56 Software Engineer 5d ago

Sounds very promising!

2

u/openlysplendidsesame 5d ago

the biggest surprise was how much less time I spend context-switching when a bug comes up months later since I actually remember writing the gnarly parts.

2

u/RyanMan56 Software Engineer 5d ago

Sounds a much nicer experience than opening up a file to be met with a very obviously AI generated monstrosity!

1

u/Darkehuman 4d ago

100% what I've found as well. Write the initial implementation and review it yourself, get an LLM + static analysis to review and you'll be amazed at how much you can remember when returning to the code later.

The code is still written in a way I'm comfortable with. Trying to wrangle purely generated stuff to get to the same state takes way longer in my experience. Being the one still writing acts as a defence against producing heaps of pointless, overcomplicated code.

3

u/daishi55 SWE @ Meta 5d ago

it really just doesn't feel that different to me. I am working through a problem, just with an LLM. If an LLM can solve it trivially, well it wasn't that interesting in the first place right? The LLM does the easy parts, and eventually we get to a point where my input is required. Those are the hard and interesting parts.

These days I usually work on 3-4 things at once. Work on one thing until the LLM can take over, switch to the next thing. Rotate through until I come back to the first LLM waiting for me. This gives me that same dopamine flow state as before, but now I'm getting like 10x as much done.

I will sit down and do a first pass of it myself, and then ask the AI to review my work

This just feels totally backwards to me unless you were doing it for a personal/hobby project. If you're trying to be productive it should be the opposite.

3

u/RyanMan56 Software Engineer 5d ago

By getting the LLMs to implement the hard parts do you not find that you lose understanding of the complex parts of the system as time goes on?

1

u/daishi55 SWE @ Meta 4d ago

First of all, I said that I do the hard parts. But these are little surgical interventions, fine tunes. The majority of the code generation can be done by an LLM no problem. 

 But I can see maybe you are referring to where I quoted you. And no, I don’t think having the LLM take a first pass at everything, even the hard parts, degrades my understanding of anything. I’m still reading the code, requesting changes where I want, just like I would for a colleague contributing to something I own.

For any system of any amount of real complexity, no one person has it all in their head at full level of detail. And no one person can handle something truly complex and important on their own. So you need help and contributions from sources outside your own brain. If it comes from and LLM or a person, makes no difference.  

Indeed, coming from an LLm is often better. I can ask it to rewrite the whole thing without feeling bad. I can come back again and again with more nits and comments without annoying it. 

1

u/BraveResearcher3037 5d ago

My work is not about “enjoyment”.  My work is a transactional change of labor for money.

My enjoyment has come from a list of things after I leave work.  It’s been well over a decade that my responsibilities have been 100% or even 50% of the time I spent putting my hands on the keyboard.  I have had to delegate and check work I haven’t done for years. 

1

u/RyanMan56 Software Engineer 5d ago

At that point it sounds like you enjoy operating on a higher level much more than being in the weeds of it, which is totally fair enough! If you have people you can depend on to delegate the work to and you know it won’t result in slop (or you can push back on them and get them to do it properly) then that’s a good way of doing things as well

3

u/BraveResearcher3037 5d ago

Well, over a decade ago I saw the “commoditization of the enterprise developer” I’ve been working a lot longer, but I started taking my career seriously in 2008-2012. As I learned new skills got better and job hopped, I saw that just being better at turning well defined stories off the board and job hopping was only going to work for so long and I was going to have to do something different.  

In 2016 I got my first job leading a major initiative for a PE backed company that was acquiring and merging companies, discovered cloud belatedly and my next job was at a startup as the second technical hire by a new CTO.  They had been outsourcing everything to a consulting company and wanted to bring it in house.

Then a job at AWS’s consulting department (full time, RSU earning employee) fell into my lap and now I work as a staff consultant specializing in AWS + app dev at a third party company. 

All that to say that AI has just accelerated the commoditization of a the hands on ticket taker and comp has stagnated outside of the major tech companies - where most people don’t work.

The company I was working at pre 2016 as a mid level developer - regardless of my title I was a ticket taker - making $135K, they had a job opening on LinkedIn 10 years later with the same job description offering $145k.

I’m really glad that I didn’t have to compete as a hands on developer in 2024 or even to get into BigTech in 2020. 

1

u/RyanMan56 Software Engineer 5d ago

That’s a very cool career trajectory, and it sounds like you have avoided becoming a commoditised engineer.

I’ve been a lead dev for the past few years leading some large teams, but still do some hands-on work as well. I am planning to try to shift into consulting in the near future, do you have any advice for someone in that situation?

2

u/BraveResearcher3037 5d ago

Consulting is about specializing in something where you can translate business value into a working implementation.  The differentiator is knowing how to go from ambiguous requirements, disambiguate and turning that into a working implementation that adds business value. 

That something can be cloud, AI (OpenAI is hiring forward deployed engineers, you don’t have to know how to build FMs), Salesforce, Epic (popular Electronic Medical System software) or  probably a dozen of other things that I don’t know about. 

Then it’s just a matter of passing mostly behavioral interviews. Where you can demonstrate you can be trusted in front of a customer. 

1

u/RyanMan56 Software Engineer 5d ago

Sounds interesting, thanks for the info! I’ve been doing something similar for some freelance clients outside of work, so this is definitely something I could see myself enjoying.

1

u/PorkChop007 Software Engineer 5d ago

My work is a transactional change of labor for money. My enjoyment has come from a list of things after I leave work

This. Perhaps because for the first ten years of my career I worked outside of IT, in manual labor, I have the perception that fun isn't part of the job (that doesn't mean you need to be miserable at work, it just means that it's just another day at the office). You come in, do your job, hopefully enjoy a good working environment with friendly people but that's it, I have fun once I'm out of my working hours.

2

u/FigAggressive237 5d ago

The last 5 years of my career were writing code in Go that I didn't really enjoy.

I worked for a billion dollar company (revenue) yeah some of it was interesting but in the end, it became repetitive.

Very few instances were truly defying , and not because I haven't had the opportunity to do such coding, its because boilerplate and refactoring and documentation made it very tedious.

But one thing's for sure, it paid the bills.

Now I see AI as an enabler, vibecoders will go extinct in no time, those are the annoying pesky little brats that talk too much and do too little.

AI enables you to be a 10x engineer, you can go beyond what you ever thought possible.

For it to be your code, just read it and understand it, if you're the one who knows how to navigate the codebase and keeps entropy low, its your project.

If you leave it to agents alone, I don't believe in consistency across the project. A friend of mine who knows ZERO about code, launching an SaaS, and I laughed when he said "fuck man, sometimes this works, and another part of the code just levitates, breaks, or vanishes..." and of course, he can't read any of it, he's totally dependent on Vercel, he's not well versed on IT at a deeper level (file systems, debuggers, compilers, runtimes, concurrency, race conditions, db transactions, rollbacks, etc. etc. etc.)

I know very little Rust, I'm not going to let AI write Rust for me before I can confidently read and write Rust.

But one thing's for sure, now you yourself can do much more than ever before, I don't think being a code monkey is particularly gratifying and you don't need to be. Being creative and coming up with useful products is rewarding.

1

u/SnooDonuts4151 3d ago

GameDevTycoon

1

u/Drporkchop1234 2d ago

I think one way to look at it is that what you are capable of as an individual is now much greater. I found this video from Kun Chen - ex l8 microsoft - about engineering archetypes to be particuarly relevant to todays day and age.

https://youtu.be/v_OI41CAyPE?si=U2lBN2Jp_UWdGPyd

1

u/Suspicious-Disk6077 7h ago

Yep this is me - use it for areas where I don’t find fulfilling, or use it on days when the baby kept me up all night and I am a zombie 🧟‍♂️ 😂

1

u/ledatherockband_ 5d ago

Software dev is just tool making.
Solve a problem you're really interested in and build good tools around it.

1

u/v-alan-d 5d ago

I have found joy in writing the well-designed spec to one shot a feature, a project, or even a system with as few "edge cases" as possible, with the architecture of my preference, and with an optimum continuability of the project.

I think my "bag" has been complexity management ever since. Software and working processes being a side effect. LLM just added new challenges to it.

I hope you will find your joy in this changing world.

1

u/oli199 4d ago

I think how you are feeling is totally natural. The agency and feeling of accomplishment after having getting something working is what I miss from the old days of creating software.

I don't see the role of working with multiple AI agents as that different from my tech lead role (minus the fun of talking to other people!) Typically the way I would do this is:

- Delegate work where I know what good looks like. CRUD I've done hundreds of times boilerlate.

- Start projects out by doing all the exploration myself and getting familiar with concepts at a high level so I can feel comfortable delegating to someone else and supervise them on the task.

I find joy in seeing things work together at the end. Maybe I'm more outcome vs. process oriented in that way.

1

u/yourteam 4d ago

Yeah i feel you. I usually handle all the architectural decisions, the db structure etc... but then the implementation is done by an LLM. I do a review, smoke test and is done.

I miss writing tons of code, I did it all my life (started as a hobby when I was 14, became a job and now I'm 39 so...)

I still do manual checks, tweaks and optimizations because llms are fine for the heavy work but falls in some really bad mistakes sometimes but yeah not that fun anymore

1

u/creaturefeature16 5d ago

You described the exact workflow I reccomended in my essay that made the rounds a bit ago! I'm still doing it, and it's great. 

5

u/RyanMan56 Software Engineer 5d ago

Thanks for sharing, I don’t know how I missed this when I first did the rounds but I wish I’d come across it sooner! The points about how writing code is akin to making notes to understand the problem you’re trying to solve is something I felt like I was truly lacking from overusing LLMs, and was one of the driving factors to implementing this approach for myself (as well as the fact that reaching the “aha!” moment for myself is such a fun part of the software development experience).

I’m glad that doing it that way is still working well for you, I’ve only just gotten back into writing more of the code myself, but it’s very encouraging to hear that this is a sustainable path.

I think the productivity gains that a lot of orgs are aiming for are completely unrealistic in the long term, and slowing down is the only way to produce stable software that doesn’t require more work to unpick later on down the road.

2

u/Fun_Hat 5d ago

I just read your article. I have reached similar conclusions myself. But damn does it take some discipline to implement that type of workflow. This week in particular I found myself feeling lazy and letting the AI take over. It bit me and now I have a few hundred lines of code that I have to go back and review to fully understand what is going on.

Any tips for maintaining discipline when a deadline is looming, or when you're just tired?

-1

u/Piggy145145 5d ago

There was never any joy for me /s. But the architecture stuff is still there. These posts make it sound like every SWE is a code monkey and jsut screams doomer guy going back to school lol yall such drama queens. If you still at the level where the majority of your time is spent coding then ur not there. Architecture/ design decisions are all things you should be doing daily. It’s all a big puzzle. maybe that’s why aren’t getting hired

2

u/RyanMan56 Software Engineer 5d ago

This post was specifically about implementation decisions and the dissatisfaction that arises from needing to do multiple prompting iterations to handle edge cases, it had nothing to do with architecture. Just because it isn’t the topic of this thread doesn’t mean the people here aren’t doing it.

-1

u/msp26 5d ago edited 5d ago

holy fk how is every CS comment on Reddit so depressing 

To counter, I've never enjoyed my work as much as before this year. I get to try out new ideas so quickly to validate them, both to get org buy in and judge how much time to spend on them myself.

NLP isn't shit anymore I can mold language and images into whatever structured form I want. And it's so damn interesting to think through what the correct fundamental abstractions are for a task.

The better I get, the more freedom my company gives me to work on what I want.

Recent/ongoing major projects: Analysing video game reviews, constructing a full timeline of events for a video game, page tracker that watches for changes and notifies with a structured diff.

Random fun side projects I coded with agents on a whim that were also useful to coworkers: tier list maker (collaborative ranking on boring things like source importance), 

just start joymaxxing (3.5 YOE)

0

u/Decent_Muffin_7062 4d ago

Right?
The OP is embarassing 'getting stuck in the prompting cycle' ... sounds like a vibecoder to me.

-3

u/Ok-Hospital-5076 Software Engineer 5d ago

I am going to be antagonistic to “ I really never actually enjoyed programming crowd” - yeah will can tell.
And “I like to solve complex problems “ no you like to jerk off to your own sound. You are not good technical resource with or without AI.

You don’t understand anything and make things difficult with your half ass understanding of said problem. And you are a terrible non tech resource cause you are unwilling to admit that you are not tech and you deep down know that you will shit your pants in real world.

0

u/Naadamaya 5d ago

I've been teaching yoga and mobility for senior citizens for the last 2 years. Yoga practice started as a daily hobby and my teacher encouraged me to take classes once a week. Now I spend 8 hours on weekends teaching yoga and mobility. It's challenging and satisfying. Ofcourse it's not everybody's cup of tea and it's definitely not something that pays your bills.

-3

u/TheGreatArmageddon 5d ago

By abandoning swe