Recovering the joy and critical thinking in our craft?
Posted by NewEnergy21@reddit | ExperiencedDevs | View on Reddit | 87 comments
While the money in our profession is great, I originally fell into it for love of the self-taught craft. The problem-solving, critical thinking, and excitement of building something has always brought me joy.
Reflecting on the past several months; I feel like the joy in software engineering work has all but vanished for me. Worse, half the time I feel like I can’t focus or think through a problem deeply without delaying or just chucking it to an LLM. Broadly, I think it falls between overuse of LLM tooling and a bad work environment, but I can’t be the only one feeling like this.
ChatGPT the past 3 years has been amazing and useful. The beauty of the attention mechanism has made it so easy to debug esoteric issues and explore niche topics and plan out new features or proofs of concept of interesting ideas. If anything, using it in this capacity has accelerated my learning. I felt extremely competent in my career 7 years in; 10 years in with the last 3 years of learning feels like there are few limits to what I can do technically speaking.
Copilots like GitHub Copilot and Cursor Tab have been extremely convenient when they stay on task and skip me through the repetitive stuff.
On the agentic side, my last job started pushing us to use Cursor and their agentic development tools extensively in Q1. It was pretty obnoxious and effectively useless in a mature, multi-team, multi-repository codebase. A few months later I jumped to an AI startup with the hope of learning more about AI… the entire system is so blatantly vibe-coded with agentic development like Cursor agents and more Claude Code emojis than you can count. It’s painful to work on - in fact, the only way I’ve been able to work on it successfully is to lean in and say “**** it”, and vibe code with the rest of the team. To make it worse, the team on an individual basis doesn’t actually understand any of the systems they’ve built - which, unfortunately I realize is spilling over to me not understanding either. Not a position I want to be in.
Somewhere along the way, the agentic stuff combined with a bad work environment (the issues don’t stop at the code, but that’s a story for a different time), I feel like my love of the craft has evaporated. Even sitting down to work on a side project I used to enjoy feels like a chore. It’s too easy to let an LLM do the work, and there’s not enough time (now that I have kids) for me to do the work myself from scratch.
I’m not really sure how (or even if it’s possible) to regain a deep love and passion for the craft. I don’t think LLMs will ever fully replace human ingenuity, particularly not in our profession. However, it feels like for every bit of utility they bring to the table, they seep a bit of joy and imagination out of the work.
It’s also not a realistic solution to stop using the tooling cold turkey. Businesses care about velocity and revenue, not quality - from the first company’s perspective, it was about exploring potential, from the current startup’s perspective, it’s about out-competing the competitors. Simply choosing not to use the tools feels like a modern variant of being a graybeard who refuses to use an IDE by staying in their Notepad comfort zone. The young kids fresh out of school who don’t know any better will vibe code unperformant, insecure, but shiny featuresque circles around you.
I’m not really sure what to do or if there’s a solution to this feeling. But, I can’t imagine that I’m alone in this sensation that this new age of AI-driven development is sucking some joy out of the profession. I’m sure a big piece of it on my end is the bad work environment so a new job might help, but I feel like there’s a deeper issue with how we are working today.
Has anyone else felt this way? Have you been able to do anything to counter it? For anyone that’s felt this way and rediscovered the magic in software development, what did it for you?
ilikeaffection@reddit
I used to have side projects that excited me, or I'd contribute to something open source for giggles. These days I can barely get through the day without adhd meds and some motivational words from my wife at lunchtime. Sigh.
I feel ya. I got into this profession after learning C in HS back in the 90s, and writing code for a MUD on a local BBS. Fell in love with the idea of teaching computers to do things. Nowadays all I seem to do is run from fire to fire, and everything is priority one and needs to be worked after hours. I'm so tired.
NewEnergy21@reddit (OP)
Same. Lately this is the only thing that gets me through the day as well.
MarriedAdventurer123@reddit
Msn his wife must be real popular.
But seriously, it's like we're all the same people.
I built a Claude skill that interrupts its vibe coding to challenge you with an atomic piece of work that it needs to write.
It will only challenge you if the problem is within your current ability level via an elo system, and validates your response via a test suite.
I'm using it to both build stuff and learn the rust language.. Trying to rebuild my joy and passion for coding (not going to plug it here for that reason).
Maybe find a real project you want to work on and do it on the clock?
We all seem to have adhd (mostly) and we will all face the same social challenges and unfairness at work - just ignore the toxic bits and focus on all that you have.
I don't have all the answers but DM me if you want to chat.
wobblydramallama@reddit
I propose you turn it into an AI powered matchmaking plugin for devs to competitively solve problems brought by claude to raise their elo
MarriedAdventurer123@reddit
Honestly? I thought about that, but it required more work (a room for real time pairing, a ladder/achi system etc).
In my mind there were two modes: mentoring (senior/junior) and pairing (similar ability).
Ultimately I have another side project that I'm getting passionate about, which required audio processing, hence needing to up my rust game :)
Create a github issue if you're really keen and I'll try to start small and do it on the side.
wobblydramallama@reddit
oh i was only joking, i was thinking something like thunderdome. 2 developers enter, only one leaves
MarriedAdventurer123@reddit
The other dev leaves as well but later, right...
Right...?
wobblydramallama@reddit
he's vibe coded into the Claude's consciousness
swapripper@reddit
Pls share this Claude skill if possible. Seems useful
MarriedAdventurer123@reddit
Sure thing - just published the plugin @ https://github.com/razlani/rust-tutor-claude-plugin
Feel free to add suggestions/change requests etc., and have fun learning rust :)
Frozboz@reddit
Sounds exactly like my life, even the writing code for MUDs in the 90s. I'd give almost anything to recapture that feeling again.
midasgoldentouch@reddit
…would you forward along those motivational words please?
uber_neutrino@reddit
I love this I was the same way. We had an amazing BBS scene in my home town that I started plugging into. Met a wealth of super interesting people are Sysop meetings, got exposed to all kinds of stuff than I ever would as just some kid.
That being said I still love coding on interesting stuff.
Gwolf4@reddit
I know. I am not taking any meds but there is no energy to work on passion projects after work. I would prefer doing other things instead.
kyoob@reddit
I’ve felt the same way and it made me realize that I was wrapping a lot of my identity up in my day job work. I derive meaning from being perceived as prolific and clever, and I was able to join a cohort of people who were doing something that I thought was impressive. It just feels less impressive now.
Of course the problem is that I need to find that elsewhere now, if I still want to get some meaning that way. Everyone at work is that much closer to being as prolific and clever as I historically have been, and the cohort is bigger and less elite. People have always said “don’t wrap up your well being in day job work” and until recently I’ve thought “well, why not?” Now I get it.
I mourned it for a while but now it’s just life. I collect my paycheck and go do other things to fill the hole. I write. I shoot hoops with the kids. I build magic decks.
agumonkey@reddit
Same here, but it's not fully about my image (clever and prolific), that's how my brain is wired too. I love the bliss of crafting solutions wide and fast. State of flow and all that. I'm afraid that if I get pushed out by vibecoders, i will lose both comfy salary and any opportunity to learn more skills and have time to enjoy them.
Huge-Leek844@reddit
I understand your point. I am always comparing to others: this guy works at NASA, this guy has a perfect thesis, oh this guy is a top AI researcher. I got a good thesis not a perfect one and i was almost crying of frustration.
Boofmaster4000@reddit
I don’t have any advice, but I have voiced this same sentiment myself: AI might make us more productive, but it does so by automating parts of software development that I enjoyed doing. This is a tough pill to swallow.
KallistiTMP@reddit
I'm still not convinced they're a convenience.
Here's the thing, I haven't seen an AI that can write elegant code. It might compile, if you're lucky it might do what it's supposed to do, but it's enterprise flavored spaghetti. It isn't good, it isn't maintainable, it doesn't scale. Most of the code it writes is code that should never be necessary in the first place.
And it doesn't fit into my workflow, because my workflow involves realizing "Wow, writing all this boilerplate crap is really boring and repetitive. Maybe I should fix the design flaw."
And then I fix the design flaw. Because I'm an engineer. I'm lazy and I know how to make the computer do the boring repetitive grunt work for me. Fix the inheritance structure or use a metaclass or plug into lower level interfaces or whatever.
I'm too strategically lazy to use AI. It's just so much more work to babysit the slop generator than it is to just build it myself so that it doesn't require thousands of lines of slop.
Maybe at some point it will be useful - I think it's fun to build applications that leverage AI in creative ways, and can see the benefit of using it for codebase analysis or as an advanced rubber duck, but the code generation part just seems like a solution in search of a problem.
ZergTerminaL@reddit
I mean even for boilerplate I don't see much of a use case. Snippets have been a thing since forever, and I've been using vim macros for a decade now. The only benefit I've found is that instead of talking to a rubber duck I'm now talking to an LLM, and even then the LLM is way to quick to believe my bullshit, whereas the rubber duck always looked at me with suspicion.
Sharpei_are_Life@reddit
"whereas the rubber duck always looked at me with suspicion" - well that makes sense, you only ever came to talk to it when you ha a problem.
alchebyte@reddit
this.
valence_engineer@reddit
I have the AI write the code. I look at it. I realize it's a whole bunch of crappy boiler plate and then I fix it. It saves the whole loop of writing a bunch of boiler plate myself, getting annoyed and then realizing its crap.
The AI's code is free, the agent runs in the background and then you get results. You don't need to use its code.
IHeartMustard@reddit
This is exactly how I've been feeling, but it seems to me that it's more a factor of the environments we're working in. The gold rush to out-compete and gain an edge over every competitor - greed, pure and simple - is killing this industry.
I remember when they said "Get a job doing what you love and you will never work a day in your life."
Never did I imagine that might be a warning.
WASDx@reddit
I mostly disagree. I use it to automate repetitive work like finding the right documentation or generating skeleton code that I know how it will look beforehand. It wouldn't say it makes my work less intellectually stimulating in general, perhaps occasionally. I think the key is that I use it to solve small tasks that are easy but take time, and now it takes less time. I make sure to understand all the output, and if I get something unfamiliar I look it up and learn something new. For more challenging tasks I can be in deep focus and enjoyment like I always have.
papawish@reddit
Like every transformation. Some people will like it more, some people won't like it anymore.
Perfectly normal to feel that. Changing jobs is also an option.
ghost_of_erdogan@reddit
being empathetic is an option too
Material_Policy6327@reddit
Yeah nah
latchkeylessons@reddit
Yes. Honestly, I'm not sure if it will ever go back at this point. Corporate American hates software engineering/software engineers because of $$$ and generally does not care about quality since so many areas are monopolized or have regulatory capture. That perfect storm is what brought about the programming AI marketing hellscape going on, so even when you remove "AI" the business culture shift remains.
I think a realistic path for actual interesting software development might find historic parallels in other crafts. Personally, I think it will become artisanal. If "software development" is essentially commodified then what remains of interest is highly specialized, which offers something very rewarding for a higher price-point and with a smaller client base and corresponding job market. I think you already see a reflection of that in something like video game development. Is it essential to the economy? No, not at all. Video game programming is a business/craft with generally low pay, generally excellent output and a relatively small job market. Because almost no one wants to pay $500 for a game.
Anyway, tl;dr, my take is the job market is permanently shrinking and racing to the bottom because of global societal problems and how businesses are run. The craft is going to have to find meaningful outlets elsewhere for people who enjoy the craft, mostly.
wobblydramallama@reddit
this can get more philosophical but in general humans won't find enjoyment when things are too easy to do. The pleasure comes from the struggle and overcoming it. That's just human nature.
AI and vibe coding trivialize coding completely so if you drown in that, of course you start to feel like you hate it. What god most of us in engineering is ~~money~~ the joy of tinkering and that takes brainpower. So to undo that, go back to the roots and start doing what brought you here in the first place. If you can't do it at work, find other ways to bring it into your life.
sousou4893@reddit
Finding small projects or challenges that ignite your passion can help rekindle that excitement. Engaging in community-driven initiatives, whether through hackathons or open source, often brings back that sense of creativity and critical thinking that made us love this field in the first place.
HK-65@reddit
I table it under alienation. It's not just LLMs, but LLMs are a new front of the same problem. For me it's the same issue as the one that comes from a push towards engineers being viewed as an interchangeable commodity, a culture of process over people (SAFe or just general JIRA weirdness), financialisation of corporations to the point that the product matters much less than the perception of the perception of the product, and so on.
I solve the issue by getting into hobbies, specifically with two conditions:
This is what works for me, IDK about everyone else.
Huge-Leek844@reddit
Me too brother. Cant wait for my job to end and fire kerbal and write scripts do some calculation. Most people play it as a game, i play it as a sabdbox for my algorithms lol
HK-65@reddit
I have several repositories for Arma mission scripts. Also a bunch of "tech demo" level projects in Godot.
High five!
bluetista1988@reddit
I've leaned into this a lot more in the last year and it's helped. Doing things for their own sake and chasing a sense of personal curiousity and satisfaction rather than chasing hot trends and potential for ROI has felt good.
I'll admit that I feel a lot of FOMO for not being part of the hot new things in the subspace of my personal hobbies (ARC Raiders, AI, Zwift). Getting away from algorithm-driven social media has helped a bit.
HK-65@reddit
Playing most live service games is not healthy. Honestly, I think chugging a bottle of hard liquor might be less unhealthy for some than to play some of these through a Sunday.
bluetista1988@reddit
I've learned my lesson with live service games.
What inevitably ends up happening is that I fall behind everyone else because I can't schedule my free time around grinding levels or keeping up with content. My friends end up at level 50 before I've cracked level 10 and then it's no fun for us to play with each other.
HK-65@reddit
I like playing Warframe with my brothers since it's not like that, it's basically always PvE, everyone is ridiculously powerful, difficulty does not exist, and you can get old stuff even if you "missed out".
That said, my wake up call has been doing a War Thunder battle pass that takes like a month, and wants you to login daily. I was due to go on my engagement trip for a week at one of the nicest places on the planet, and I was debating whether to take my laptop "just to get the login awards".
I realised how ridiculous that is, and uninstalled the game and left my laptop home. Didn't play it at all for 3 years because of how repulsed I felt from it, now I play it every once in a while, without caring for the "live" content. One of the best choices of my life.
Bren-dev@reddit
I agree with a lot of what you’re saying. AI tooling is great, but “agentic” coding is not good, and very quickly compounds issues from literal AI code slop.
I think there needs to be a big push to ‘stop the slop’ and make sure people who are generating shite that they don’t understand, get called out on it. It’s asking for trouble down the road.
MarriedAdventurer123@reddit
I think creating a balance between agentic coding and coding yourself to keep your skills sharp/prevent brain rot is a good idea to keep the productivity gains.
I just published a claude plugin on the back of this post after someone requested it which hooks into claude and forces you to code (or not if yoou want to skip, up to you :) )
For me it's given me the joy back in coding/learning again. plugin here https://github.com/razlani/rust-tutor-claude-plugin (currently supporting rust only)
NewEnergy21@reddit (OP)
Agreed 100%, but depending on your work environment, “stop the slop” is a risky proposition. The challenge in my current role is a tragedy of the commons. Everyone is doing it because they can move faster. If you are the one person speaking up against it or calling things out, you are the one person slowing the team down and therefore putting a target on your back.
laccro@reddit
Yeah I've run into this exactly - I have coworkers who are pushing out just massive amounts of tickets into code review, getting lots of praise, but the quality is abysmal. Literally some of the worst that I've seen.
But then the problem is, they can only get the other "slop" people to review their code because all of us "slower" developers are exhausted with telling them 1000 things to change. So huge quantities of slop are getting merged by a group of fast/bad people, while us slow people are keeping our little sections of the codebase clean.
But none of us can speak up about the slop because we're already "not using AI enough" according to leadership.
NewEnergy21@reddit (OP)
I'm with you in solidarity. It sucks. At least you have tickets. We don't even have those, despite 6 unique attempts that I can count to try to get process in place.
tiebird@reddit
We had this exact conversation in our team today. Lot’s of generated code that nobody understands and still gets approved. I gently pushed back by reminding that tech debt is a real thing and is building faster then ever. This means slower feature development, more stuff breaking, clients complaining and bad for morale/onboarding.
The productivity increased by using AI but not by enough to ignore these issues. We agreed that we are going to put some limits on the AI use but this on it’s own will be a challenge. Also keep reminding them, if they get dependent on these AI services that they will be more expensive in the future and still need guidance in some form and will never be liable.
Atagor@reddit
Question is, was the code ever a problem? In many cases, the problems are around integrations between different teams, unclear requirements and etc
I do understand the existential fear though, many of us spent years to learn the craft. Now the identity is pressured because it's not that special anymore. Moreover LLMs opened doors for people in coding who, in my perspective, do not deserve calling themselves as programmers (what an ego haha!). At the same time I'm pretty sure there will be many bright minds who leveraged LLMs to speed up their learning and become even better than "old generation"
Solution? Idk.. Find a stable job, work 9 to 5 (Or better less just don't tell anyone) and go tinkering with Emacs/Vim configs or any other stuff that brings joy
ZergTerminaL@reddit
With vim I could outpace the slop that was being produced by bad devs. With AI I've found that bad devs can now keep up.
AlexanderTroup@reddit
I've found that LLMs hallucinate at all levels, and you sort of have to realise that they have this inherent problem across all domains, not just the ones where you can spot their mistakes right away.
When you see the code suggestion, and you say "Yeah that looks right" you forget that when you take on a problem from tdd first principles, you very often get edge cases come out that are unique to the problem, and you wouldn't have thought of them if you just wrote out the cases you can think of ahead of time. LLMs show you the first thoughts you would have had, for every problem, at every level.
Another aspect I think about is that the training data is not from Doc Martin, or the best developers in the world: it's from above average devs who won't necessarily see all the problems, so even if we have perfect predictions, the training data just doesn't exist to build excellent solutions for the particular problem you're solving.
But all that said, my answer is c++. More specifically to take on paradigms and problem spaces you're unfamiliar with. I'm getting that joy from game development and unmanaged code: areas that require precision and are extremely challenging for AI. I can't tell you how frustrating it has been to have to understand linkers and old-school packages, but I've loved every minute. Particularly around 3D graphics where you need to learn Linear Algebra for the most basic applications.
I got the same feeling when I learned F# and functional programming as a field, and took a dive into constraint programming. You discover all these bizarre ways of thinking about problems, but come out with whole new ways to make stuff, and it just reminds you how vast computing is.
If all that fails, get into Kubernetes and devops. It's insane, there's lots of money, and you'll lose your mind to pods!
Steely1809@reddit
Satisfaction comes when you have direct control over shipping cool shit. The longer you stay in the job, the more distant you become from that. And the bigger the company you work at, the less common that tends to happen.
justUseAnSvm@reddit
I like to make sure I'm always reading, and learning new things. That at least keeps things fresh, like diving into a database system, or learning some math and machine learning, helps take my mind off the fact that I'm basically a low level manager with the responsibility to deliver against goals but without the authority to solve the people problems.
Idk, i like the corporate stuff: lots of power, we build things, but it does get frustrating.
Ok_Hovercraft_1690@reddit
LLMs are not even remotely the main issue.
The main issue has been pointed out by others. Its the crazy corporate culture, with clueless management, random assignment of projects to the wrong people then boxing them with nonsense requirements, arbitrary deadlines pulled out of the ass, 1984 level kool-aid drinking, zero capacity for self reflection in C levels and also enginners, blame games, back stabbing, so on and so forth.
We've made a strange world. We made computers and the internet and smartphones with the perhaps unsaid, but implicit promise of "making lives easier". But whos life is easier? Every software engineer I've met, has some level of stress and unhappiness connected to their jobs, and its usually quite high. Almost every individual continues to work for the pay check, and if in the US, because the healthcare is tied to it. This is despite the engineers being supremely talented and interested in their work.
The Very Large Corp that I work work makes a product used by hundreds of millions. The vast majority of customers I see on the internet absolutely hate the product. The vast majority of internal users & colleagues hate it. Clearly their lives are not easy either. Those who love it, are often making money off of it in other ways. So what exactly is everyone working so hard and getting stressed out for?
Point is, workers in software & hardware, supposedly created to "improve the quality of life" are as stressed and unhappy as other careers if not more. Everyone is working to make billionaires richer. Its usually the decent paycheck that keeps software engineers going.
hockey3331@reddit
You're not alone. We started relying more heavily on Claude Code at work. The novelty was thrilling. It's so good that I decided to use it to build two fairly ambitious personal projects within a time limit.
Along the way, I got lost in my own personal projects. Everhthing came to life, features builts in minutes, etc. However, when I dove in the codebase to make a change, I realized I didn't actually know the codebase at all. And some design decisions were actually not what i was expecting. Like the core functionality looks like it's working, but under the hood isn't doing what I wanted and will be difficult to change without refactoring the whole thing.
It's ok though, it's a personal project. I take it as a lesson. But, it's making me a bit sad to realize that I didn't really learn anything technical. Perhaps I learned some project management skills, but yeah, not tech ones.
A similar thing is happening at work where my boss has been a huge advocate for LLM usage, but seems to go a little too deep into it.
ImprovementMain7109@reddit
Block off LLM-free blocks to wrestle problems yourself; use models later as reviewers.
Dolo12345@reddit
Opposite for me, it brought back to joy.
Typing tends of thousands of LOC isn’t fun. Creating something is.
gHx4@reddit
There's some weeks I just don't have the time to really commit to coding outside work, and to me that's fine. I still enjoy coding to the point that I feel refreshed after a day of doing it.
But I find that endless meetings or crunch drain me quite a lot, and doing designs for new features (or big refactors), while fun and interesting, is stressful with deadlines to keep ahead of. It's not really worth spending a sprint to make a design that's at most 5% better than the existing one, and agile workplaces usually don't budget for anything that takes longer than a sprint.
So day-to-day maintenance and finishing well-scoped tickets is still quite fun for me. But I fold under fast-paced high-pressure, "everything's urgent" work environments. That's usually when I start tuning out a bit. Side-projects give me the chance to do the fun parts without any of the pressure, even if they get nowhere.
behusbwj@reddit
Kiro has been the best agentic experience so far. It really makes you think through your design, then it just handles the manual labor of typing for you. I was able to spec mine down to specific interfaces and components so i didnt really feel i was missing out much
grassclip@reddit
Man I might be opposite, but the state the LLMs have gotten to has massively improved the joy. I don't have to try to figure out why some line is failing with breakpoints and print statements, how many tests to create, or even bigger, I don't worry about code conventions. So much in the past is making all the files documented correctly, explained, commented. That stuff happens now.
And you can say that it's slop, but if you really take your time planning, reviewing the design ideas, using other models to review, you absolutely get better code than you yourself could have written in crazy tiny timescale. To me that's amazing.
Maybe LLMs won't replace human ingenuity, but it's not like they take all of that away. I can spend so much more time planning with the models to get a really great plan for how to write the code, and then I don't have to do the typing. Being able to spend all the time thinking, planning, sketching out roadmaps, reviewing the PRs that they create and working hard to keep the code in check is way more fun than doing ticket implementation myself. All depends on how you look at the situation.
NewEnergy21@reddit (OP)
I am inclined to agree, within reason.
This philosophy works really well in personal projects, where you have complete creative control over the entire process. I've benefited from what you're describing - I had a personal project over the summer doing some IoT / edge device orchestration stuff, and treating the LLMs as a planning tool and some initial iterative POC'ing was a massive timesaver and I still got a lot out of it in the way of understanding. This among other projects.
However, where I think it breaks down is in a team / group / company / employment scenario. The reality is not everyone is using the tools in the way you describe. Those that are, are doing it well, but it takes time; and when everyone is using the tools in parallel, the net quality output of the team tends to devolve to the weakest link(s) / worst contributor(s). At least, that's what I'm seeing in my current role. There are one or two people who will try to plan and do it "well"; but their work gets overshadowed by the absolute volume of trash output by the more careless team members.
The tooling is good if applied well, it's just hard to apply it well when you're competing with people who are pushing quantity over quality.
Confident_Ad100@reddit
This sounds like a team issue, more so than AI issue. 90% of AI complaints in this sub sound the same: some incompetent coworker uses AI to mask their incompetence and everyone else carries the burden.
In my company, everyone uses cursor and the latest AI tool. Everyone else reviews their own code and the code they stamp. And if it has issues on production, we review incidents to make sure it doesn’t happen frequently.
I agree with OP, I love coding with LLMs. It actually lets me focus on the problem as opposed to just the craft of writing code.
grassclip@reddit
I agree with what you said, of breaking down with team absolutely. Current team I'm on is probably 2.5 people, which makes it possible to put some of that into play there. But to even do that you need everyone to agree that we want to leverage the models, and come up with agreed workflows. Otherwise we're stuck in the ask online tool and then copy paste some results. If you don't have full alignment, then you're out of luck.
But doing personal projects (again, infinitely more fun when I don't have to think about how to do frontend call to the api backend) you can see the value. And then in a professional situation if you can't use the same tools it feels like stoneage work.
I think the thing that is missed is at least with the new models (I'm talking Opus 4.5 meaning very recently.) that it's absolutely going to be able to write better code that you alone. And if you learn good management with it, which we all can, we absolutely should all be using it. We can use the tools independently and produce good code, but if all use is and get good practices, it's better for all.
Really does bring up in the head though max human team sizes. I had issues with teams above 3 in the past because then you get people who don't match, some who think they're smarter than others and always fight, etc. Keeping teams smaller where they all use models seems like the way it has to be from now on.
SimilarDisaster2617@reddit
Maybe you can ship a feature quickly, but there is also the time spent on going back and changing or fixing something. I wonder if AI is really that much more productive.
bluetista1988@reddit
Fast now, slow later. When it becomes a problem it'll be the next person's fault.
Confident_Ad100@reddit
Fast now, slow later is not a bad thing depending on the product.
More often than not, you have no idea if your product will even be used by real customers. Once you have PMF and real adoption, then you should worry about scaling.
Willbo@reddit
It ain't the tool, it's the purpose, culture, and conditions.
Imagine you're a well digger that gets to use a diesel-powered excavator and drill, except you have to sit next to your manager in the cabin who screams orders at you and presses buttons while you're working, there's a high chance of cave-ins and hitting bedrock, you get paid the same rate no matter how much you dig, and at the end of the day everyone throws their hands up and says "Eh just a hole in the ground."
Compare that to a well digger that just uses a hand shovel on the softest and most fertile soil on Earth, they work in a well-organized autonomous team that carts the soil away, they get paid per well they dig, and at the end the village says "Thank you, this well restores water to our village."
You have to realize LLMs are just a tool, and often times tools aren't about what they're able to do, but how they're used and for what purpose. If you're using a tool to do meaningless or evil work, there's no amount of features or trickery that will make you enjoy it.
NewEnergy21@reddit (OP)
Excellent analogy. I think a large part of my current frustration is that the current work environment is like the first example, when I'm fortunate to have experienced the second example. It just spills over, unfortunately.
NoobChumpsky@reddit
I think there is some nuance here
First id argue that if everyone at your company is pooping out slop that is a cultural problem. We have a rule at my place that you're using the AI as a tool but you need to understand your code and it has to be reviewed. If it's slop then that is the devs fault. I feel like we've been a bit more diligent around reviews recently. I wouldn't feel comfortable pushing code I don't understand.
I think using this stuff to churn out the parts that kind of suck (lots and lots of boilerplate, skeletons of tests) is great. I've done this stuff a billion times and I don't want to do more.
I haven't had much luck at more detailed/fine grained work and that's fine. I can get it to do the annoying stuff like building the test case for a bug to reproduce while I look at the actual issue.
There is also a lot of shit work I've been given that would take me out for days or a week. Something just not in my domain that is a bug, stuff like that. Using AI to crawl code and tell me about something I don't actually care about is very useful. I don't get much out of understanding code bases on going to see once every few months for some esoteric issue.
Id say it lets me be more measured about how I spend my time. I can invest a lot more for valuable stuff and ignore the stuff that kind of sucks. Id also say a consistent, well typed codebase, tested and documented works very well with LLM tooling. There is a loop here where good craft makes this stuff better. I can focus on that stuff and less on the little things. I get a kick out of a nice end product though and coming up with cool things to do.
NewEnergy21@reddit (OP)
Agreed it's a cultural problem. In my story, it was a cultural problem at the current role long before I got there and will continue to be long after I'm gone. Not something I am going to be able to solve as much as I'd love (and have tried) to. Not worth diving into further.
Agree on all the other points. It's a valuable tool when I am able to apply it to the right problems. I think the pain / mental toll of it comes in when it's the only solution (i.e. when you're in an Idiocracy like I am currently where every problem gets hit with a 500 lb vibe coded LLM gorilla instead of a nuanced assessment first).
It helps to apply it in a loop where the craft was good to start, or intentionally is started in a good direction. It's much harder to break a bad loop.
Jmc_da_boss@reddit
I just dont use them, I'm faster without them than the people using them.
When everyone else shoots themselves in the foot, its easier to be impressive just for walking.
Wooden-Glove-2384@reddit
I feel joy every payday and have for years
motorbikler@reddit
I am reminded of Michael Caine's quote on his involvement with Jaws 2:
"I have never seen the film, but by all accounts it was terrible. However I have seen the house that it built, and it is terrific."
Teh_Original@reddit
After reading about things like Data-Oriented Design, and watching a few Casey Muratori videos, I found that working with the computer in mind and bringing performance to more of a forefront concern made programming much more like actual engineering to me, which makes me happy.
skeletordescent@reddit
One thing I've learned or I'm trying to learn more deeply is the pleasure of slowing down. Maybe it wouldn't be the worst idea to make or find a totally offline computer and grab a book for a language you enjoy or you want to learn, and try to slowly and ponderously make something with it? Take the speed aspect away from it. Just learn to stay in the process of reading, trying, debugging, reading.
indirectum@reddit
Yeah but then FOMO hits and you're back in business 😅
skeletordescent@reddit
That’s a totally fair point. And I can’t say I’m immune to it. But I think part of what things like AI and search take from us is the need to just keep banging your head on a problem until you solve it. I miss that, somewhat.
neums08@reddit
You've excellently put to words what I've been feeling over the past couple years. It feels like taking time to really understand a problem and engineer an elegant solution is now discouraged.
Professional developers have been pushed to deliver mediocre code as quickly as possible for a long time, but a well-designed solution would usually prove to be worth the effort.
But with agent-assisted development, the speed at which developers can produce good-enough code is astounding. This makes it almost impossible to justify the time investment required to produce the quality of code that we, or at least I, aspire to produce.
The most rewarding part of development for me is discovering solutions that are just beautifully simple. But too often I'm forced to move on as soon as the tests pass and the bare minimum functionality is achieved. I rarely get the cognitive reward that I'm chasing.
NewEnergy21@reddit (OP)
I’m finding that even tests - of any kind - unit, smoke, interaction, etc - are being discouraged in the name of speed.
More often than not, our customers are testing our software (without realizing it - they expect it to work and churn when it doesn’t).
At least, that’s the case in my current role at an AI slop shop. Not sure if this is a general case or an isolated case.
I’ve always known speed is valued over elegance, but it’s becoming even more disheartening and asymmetric these days.
No-Economics-8239@reddit
Every profession has felt the drum beat of doing more with less. If you listen to that beat, most employers will happily take every ounce of time, attention, creativity, and joy you possess to feed their bottom line. The question is always, how much are you willing to give for your paycheck?
I worked a couple of 80 hour weeks early in my career. There was a year I was taking 24 credits in school and still working full time. Was it worth it to advance my career? I now have three decades of hindsight, and I'm still not sure how best to answer that. On one hand, I've done pretty well for myself. On the other hand, I've given a lot of myself to get here, and that is time I will never get back.
At the least, most of my career has been automating things. I've put positions and even entire departments out of jobs. I use tooling and resources that make me significantly more productive than when I started. From CICD pipeline automation, open source frameworks, IDEs, containerization, and a host of other tools. But in every case, I was automating away the lower value drudgery to free people up to spend more time on higher value goals.
Or so I've been told. Or told myself. I'm sure some of those people enjoyed their old work and found it rewarding and enriching. I get automating away the parts of the job you don't enjoy. That is one of the main superpowers of being a programmer. I can have a button on my desktop that says 'sudo bring me a cheeseburger' that will cause a burger to magically appear at my house.
But why would we want to automate away the fun parts of the job? Or, at least, the rewarding parts?
WhenSummerIsGone@reddit
One person's drudgery is another person's joy. I like making my own burgers! Some guys I know enjoy writing infrastructure stuff...
WhenSummerIsGone@reddit
Near the beginnig of The Grapes Of Wrath, chapter 5 or so, there is a great description of the way farmers are being pushed off the land. This comes up in character dialogue too. The idea that they are tied to the land, and the guys in tractors can't touch it, can't understand it, can't care the same way. How they are unable to protest because it's the system pushing them off, not a person they can confront or fight.
I highly recommend this book, btw. The writing is beautiful.
I think what some of us are feeling with AI is similar to what Steinbeck was trying to express (and sounds a bit like Marx). We have a real sense of "craft", the pleasure of building with our own minds. We know the code and know the reasons for its evolution. We've struggled over it, trying to do well. With AI, Capitalism takes that away, and we feel lost and alienated. Pushed off our metaphorical land, replaced by metaphorical tractors that destroy our fences and shacks. Owned by faceless VCs or private equity. Helpless to effectively protest since the job market stinks right now.
uber_neutrino@reddit
I solve this problem by only working on things that I want to work on that are actually interesting to me. This is definitely a tradeoff against security and money but whatcha gonna do. You can't always get what you want.
That being said I love working with the agents on code, especially lately. However, they are multipliers, I think things would quickly be a mess without you spending significant time and guidance fixing it when it does the stupid. I did some straight up vibe coded work and then work where I spent more time specifically guiding not just what, but how, and there was a world of difference.
A little less vibe and a little more using it as a tool to help design and implement a superior architecture in less time. My 2 cents.
Calamety@reddit
Same I’m trying to enjoy programming again but it’s hard lol. Everyone at work just abuses LLMs and I do use it as well for some problems but I still write 70-80% of the code myself but I see myself falling behind those that do use it a lot more. They are able to solve tickets / problems more quickly. The sad part is that it’s good enough. If it works the business does not care if it was vibe coded or not they just care about working output
jjysoserious@reddit
I feel the same way. There's no solution really. At the end of the day I don't think AI is 10xing your output so you could take AI breaks to focus on thinking and coding on your own without anyone noticing.
NewEnergy21@reddit (OP)
I think the Dead Internet Theory argument here is valid, and in some sense choosing not to use AI tooling to stay fresh is a hedge against AI slop devs. However, my worry is the hedge is no different than hedging by being an experienced COBOL or FORTRAN dev; there’s a very small market for it, and people on average are getting paid market rate, not the mythical $300K+ numbers folks say you get by having the legacy skill.
I do agree that the bubble will burst and cost will lessen the attractiveness of businesses subsidizing / using / incentivizing devs to use AI. I don’t see the pace or pressure bursting with it, unfortunately.
Dark-learner@reddit
We are becoming lazy day by day. I know there was a time when we had to read so many sites for solutions even waiting in stack overflow that someone will answer. These things are gone now.
filter-spam@reddit
I’m tired boss
interrupt_hdlr@reddit
I have the same feeling and was wondering if another industry would give the same feeling of crafting something you are proud of.
Helpjuice@reddit
AI is nice, but try not to overuse it or you'll start forgetting things and cause a failure in retaining the basics you spent so hard to learn.
There are many things AI just won't get right ever and it's still best to have a human in the loop making things happen. Also be sure to not use it to do all of your work, and only as a tool to help with things here and there so you can stay marketable and actually useful.
Not doing so will end up with you turning from a software engineer to just being a prompter who can no longer write high quality software and be just like general public.
This-Layer-4447@reddit
I've been thinking vibe coding as has been increasing my output 10X, but between the amount of time I spend waiting and how poor it is at inferences and having to rework and read it's shitty code manually, I still think there's an increase at most it's 2-3X not 10X