I suspect that many of the loudest voices pushing back against AI coding tools never practiced programming as a hobby or saw it as especially fun, and the fact their job is changing won't make them start now.
I think just about everyone in the industry appreciated hand-typed programming as a job, because it was a pleasant enough craft to practice and for a solid couple of decades programmers were treated extremely well in comparison to the vast majority of other careers out there.
Today, juggling a bunch of agents to do what you want them to do, figuring out how to verify their work, remediating problems, and spreading yourself thin cognitively—all the while looking over your shoulder at an increasingly precarious job market—is notably less pleasant for a lot of people. It sounds and feels a lot more like an engineering or product management role—something a lot of programmers would never in a million years have signed up to do voluntarily.
I'm probably an 8 out of 10 on the cooked scale—I'm juggling a suite of ten iOS apps and haven't written or read a line of code in over a year—but I get where these people are coming from. I think the suggestion that they can reclaim what they've lost in this new job they've been loudly expressing distaste for by adopting a new unpaid hobby will ring hollow to them.
>I suspect that many of the loudest voices pushing back against AI coding tools never practiced programming as a hobby or saw it as especially fun, and the fact their job is changing won't make them start now.
This makes no sense. Everybody I know, including me, who hates the big picture of what AI has done loves programming immensely and does it as a hobby as well as a job. The people at my job who are most positive about AI are those who didn't particularly enjoy programming. You're applying Occam's Razor backwards.
I've never particularly enjoyed programming on its own merits, but also think AI is crap. Its mainly because AI clearly accelerates the parts of programming that I've found tend to lead to software projects falling apart, ie not understanding the code
The last 20 years of experience have told me that that's the #1 variable that correlates with the death of a project, so I'm in no hurry to speed that along. People have been trying to find some way to skip that difficult step of actually understanding what's happened since programming was invented, and its always a bad idea - because that process of internalising a projects structure is the single most valuable thing for a project. Creating a project structure that can be internalised by human beings - and then doing that - is software engineering
There is some truth to that, thus i wonder, if they will not solve that by creating architectural harnesses. Like look at repo x. Condense its coding style and architecture into a prompt. Remember that prompt everytime you create a new module.
It only remains to explain this to the management... That does not work with code, engages with AI only in the form of chatbots, but demands everything to be "AI native" and won't be there to deal with the consequences.
I would agree with this. Programming/coding has been a portion of my job as an Ops engineer for last few years, but it was the part I liked the most. So I’ve been pretty heavily against AI use.
However there are other folks in my company who, with very little programming knowledge, have produced viable, workable solutions for our company to use. All projects that were in my list of TODOs that I hadn’t gotten around to.
It was in that moment that I realized I’m very quickly going to be surpassed if I don’t adapt and move quicker with AI solutions. Since then my output has increased a bunch.
I’m not the most stoked on it, but as with all companies, results are far more important than the journey. So long as it works and is at least mostly maintainable, leadership does not really care how we got there.
But all of this was forcing my hand because people without the foundational skill set were creating equivalent output to my artisan, bespoke solutions. Writing is on the wall.
I think you're entitled to your opinion, but want to point out that there's 2 different axes on the graph here. You are unhappy about LLMs' affect on your working conditions, but also concede it's inevitable and the labs are at least somewhat sincere in their predictions of it displacing a significant amount of the value in the software engineering market.
It's not necessarily a given that the person you're replying to agrees on the latter, and therefore they might not be stoked on you starting off by agreeing with them but going on to make an argument that supports the companies responsible for the very thing they're complaining about.
I think there's a contradiction in you stating that management thinks LLM-generated output is "maintainable". They went to business school, they don't know what that means. It's your job to explain to them the consequences of shipping code faster than the people whose job it is to understand it can do so.
I don't know if it's just me, but I find that with a disciplined approach (or even an undisciplined one for some personal projects), LLM generated code is quite "maintainable" nowadays for the sorts of things that matter: adding new functionality, fixing the odd bug (usually a missed edge case, or behavior I didn't think-through well enough). They're also secure enough for me not to be overly concerned.
Granted, I stick to frontier models and avoid cheaper ones, but if it quacks like a duck...
If you're working on a CRUD/web app, absolutely. There's so much data for web apps out there that LLMs now produce better web app code than most of my coworkers from 2022 or so, since it follows consistent style rules. Web app code all looks the same, anyway.
> It's your job to explain to them the consequences of shipping code faster than the people whose job it is to understand it can do so.
The problem we’re collectively running into is that nobody knows if this actually poses a problem anymore. We’ll find out in 5-10 years, but businesses and clients can’t wait that long.
As a side note, I don’t think it’s fair to blame the “management” for setting expectations around AI use. They’re driven by market forces. If competitors are producing slop and customers are gobbling it up, then from a business perspective it _is_ a mistake to abstain from AI use.
What I’m finding quite fascinating is that we’re in a weird spot right now where we’re both expected to produce slop AND understand it / be responsible for it. Seems unreasonable.
I think the most important takeaway is that it takes time for these problems to manifest. If you start with a particularly coherent codebase it will take years for slop code to degrade it to a point where engineers are noticeably less productive.
I didn't downvote you, but if I had to guess why you were downvoted it's because it's very obvious to many working software engineers that decoherence is a real problem. In many ways that's what this OP was all about; not just loss of joy in programming for its own sake but loss of the ability to design deterministic, fully-understood systems that won't require constant off-the-books maintenance eating into your free time.
There's plenty of us who enjoy programming and still welcome AI. The act of programming isn't the product. Some products do good in the world and are difficult to fund.
Hard agree. My anecdotal experience: me and my friend group have math/coding contest national level background. We loved coding. All of us now devastated and consider retirement/different profession
People who was there for the benefits (no offense, pretty valid reason) are happy now
I declined manager position multiple times, now I am forced to it
And no, I can't code without agents as a hobby anymore. As a rational person, I feel like this is just useless nowdays. Huge part of the fulfilment that it was the most optimal way to solve the problem. Now I feel like I do useless work
>This makes no sense. Everybody I know, including me, who hates the big picture of what AI has done loves programming immensely and does it as a hobby as well as a job. The people at my job who are most positive about AI are those who didn't particularly enjoy programming. You're applying Occam's Razor backwards.
I think I know people in both camps who feel both ways. I'd say it's all just noise at this point. What's clear is some people like it (for now) and some people don't (and probably won't ever). I've gone from liking it to not over the course of the last year. I used to love programming/the craft, and then got burnt out of it, so I loved it because it made building things easier again after I stopped caring about that, and then it made work hellish when everyone basically stopped caring about the craft at all.
I feel for everyone in this situation. I don't think anyone is wrong to mourn the undeniably massive shift happening to something that has been such a big part of our lives, and I don't think anyone is wrong to be excited. I say this as someone who has worked in ML for coming up on 10 years now and is more towards the latter camp, where I love working with agents, and still spend plenty of time writing code by hand and studying. I don't think it's fair to pretend people are being unreasonable or are just "missing the big picture" for being unhappy.
But I also have found that where you work and what AI usage is like in your company is a pretty big deciding factor. Your comment, which I agree with, made me think about this. I consult a decent amount, and I've worked with companies where the engineering culture has adopted AI in a way I describe as "ugly." I should find a better word. But what I mean is that it's sort of like the attitude is "okay, now we can ship more tickets, so everyone take on 8x the workload". And they do a lot of "best practice" kind of stuff around using coding agents--every new anthropic article gets posted to slack, and there's always a new CI process for using agents--but they're fundamentally just trying to do the same work as before but kinda sorta faster. It's a weirdly miserable experience.
On the other hand, I've worked with companies where the engineering culture almost feels exuberant. I think a consistent difference is that in these companies, it feels like the engineers now have permission to try wildly ambitious things. It's not always optimally productive in the sense that more things get thrown away or end up just not really working out, but overall they move significantly faster and do more interesting work. Commonly, it's things they wanted to do before, but simply weren't realistic with their constraints around capacity. Or it's an idea like "this part of the codebase has always been a performance nightmare, but it's also a beast to untangle. I wonder if I could setup an autoresearch loop and let it run all day, even just to harvest some ideas?"
But yeah, when everyone sort of gives up and/or are forced to move an ungodly number of smaller tickets, it is a miserable time.
I definitely know what you mean about the difference in engineering culture. I'm definitely the kind to get excited by it and try out all manner of experiments and really have my head in the game on the new paradigm. My current team just isn't in that same wavelength. It's a lot more practical focus on shipping, and fair enough. It's a bit of an impedence mismatch for sure. Still, I have fun playing around with stuff in the evenings at home, but now at work I'm just trying to do bog-standard engineering and forget about the AI side of it to the degree that I can.
I feel the opposite, pushing keys was never the enjoyable part, deciding what types go in what places, uninteresting, switching between editor and terminal, boring at best, trying to translate errors to SO search queries and back again, maybe possible, dealing with under-documented dependencies, frustrating.
My goal has always been to create something and use it. Ai still requires we do the intellectual side of programming, that interesting side of programming. I get to do more of that now that while the bot handles that annoying stuff. I'm a the happiest programmer I have ever been. I spend more time writing human these days, because the bots are really bad at that.
> The people at my job who are most positive about AI are those who didn't particularly enjoy programming.
At least two people I've worked with have become "AI Influencers" on social media. They were two of the least capable programmers I had ever worked with. Both super nice people, and I enjoyed their company, but both generated absolutely terrible code.
I think there's generally something to people who were sidelined by their lack of skill feeling empowered by AI.
Just yesterday I got a fully LLM reply from a coworker about an issue.
I've never been the biggest hobbyist programmer. My hobby programming was a means to an end for the actual hobby project I wanted to use. I'm more of a "maker" than any one kind of engineer. That being said, it was still fun at times and those personal projects literally got me jobs and allowed me to bypass live programming tests because I was able to show I knew how to program as I explained every design decision.
LLMs sorta fucked me over. My strongest skills aren't raw programming knowledge or fact regurgitation. Personal projects were how I showed potential employers my actual end-to-end problem solving. The projects were never polished, they didn't have every error condition formally handled in a logging framework. But they organized ideas into data and made things happen.
All that is worthless now unless employers want to see my pre-war steel collection on old repos. I'm defeated. Using agents for personal projects feels like playing a game with all the cheat codes turned on. It stops being a game, it's pointless. Me telling the machine to make something doesn't prove anything.
I still want to remain housed into my senior years and this tech has possibly kicked that out from under me.
Wouldn't people who thought programming was fun be even more upset that they can't do it (a certain way they used to) as a job anymore? That they were never working a day in their life before and now have to work every day?
Yes. This is much closer to how many people are experiencing it and why the OP's suggestion of letting people practice it as an unpaid hobby doesn't address their issue.
It feels like spending your teens practicing football, playing varsity level in high school, getting really good at the college level, finally recruited into the NFL as a pro football player (dream came true!!) and suddenly, the team owner says, "No more football playing for you. You get the same salary but you're managing robots who play the football. Deal with it."
Computers can destroy Magnus. Yet he still plays and nobody gets to tell him or anyone else they have to stop.
If people stop being interested in human-played chess, then yes he's out of luck. But that could happen with or without computers. Same for football and anything else.
Of course the analogy works. It’s an analogy, not an exact duplicate of the situation.
The important parallels of the analogy are that:
* Magnus dedicated his whole life to chess, just as many programmers have done with programming.
* Magnus enjoys the craft of chess, the human elements of creativity and cleverness, just as many artisan programmers do.
* Both prefer to be hands on and don’t enjoy being relegated to managerial / supervisory roles, and would probably move on to something else if they could no longer do the part they love.
* Many outsiders do not have any idea how much time and dedication it takes to reach the upper echelons of a skill like that, and struggle to empathize with those who have done so, and perhaps even feel Schadenfreude to see these folks “taken down a peg.”
Mathematicians have recently been lumped into this category of knowledge workers at risk. Many are grieving gratuitously and suffering a lot of flippancy from Schadenfreude-feeling onlookers.
No, it doesn't work, because both analogies (basketball and chess) are entertainment/games. Magnus isn't being paid to produce the best possible chess moves, he's being paid to be the best human chess player and beat other humans. A basketball player is similar. So the act of playing chess, and the act of playing basketball, is what provides the (entertainment) value.
A computer programmer, on the other hand, is paid to produce something. They aren't entertaining anyone (except themselves). The act of producing code doesn't matter to the person that wants a binary. The binary is what matters. So if a computer can out-program a human, then the human is in trouble. So it's different.
But, nothing is stopping a human from programming for entertainment purposes. And nothing is stopping humans from being entertained by watching other humans program, maybe competitively. Like chess, or basketball. Or from getting together and solving programming problems. Then it doesn't matter that a computer can run circles around them, and nobody can tell them to stop doing it.
I get it, though. Younger people in tech should be worried.
We've commoditized programming because it often gives an output that can lead to many beneficial things. But that does not mean that programming itself isn't entertainment.
Making art is often considered entertainment, and it can also be commoditized. The difference between entertainment and work is often thin, dictated by personal enjoyment, not how one is paid. I can be paid for something I find very entertaining. I can also be paid for something I find dull.
If the thing I find entertaining disappears, it's reasonable for me to feel grief. For something I enjoyed is no longer available to me, at least not in full.
There's a community around programming, much like chess and basketball. Seeing that community deteriorate into solely programming for profit, and using AI to do so, is tragic. Programming has been very focused on profit for a long time, but now even those who think it fun are debating on whether or not to offload their work to a machine that does all the work for them.
The “entertainment value to the customer” is the product being produced by the professional game player. That’s what the team owners pay them for. I don’t see much of a difference. The programmer is being paid to use his skill at programming to create business value. The sportsball player is being paid to use his sports skill to create business value.
This is not what I said and you're being rude. I'm saying that I don't understand the grief being expressed for the loss of a hobby. Because as I explained, computers can't invalidate hobbies.
> Sounds like I got suckered into arguing with an AI yet again.
Nope. I'm a human and didn't use AI for anything I wrote. But thanks?
Speaking for myself. Not really. The problem that I had with enjoying programming was that many of my coworkers who didn't enjoy programming have some opinions that were frustrating to need to entertain.
Now all I have to do is make sure they're not peddling an actively bad idea and if not I can just tell the bot to incorporate their dubious ideas.
In the past it was all, I'm not familiar with this construct that solves our problem perfectly, why don't we cludge adapter pattern in here again.
If they haven't worked a day in their life before, then who has built all the software products we use today and from which LLMs are endlessly benefitting?
> I suspect that many of the loudest voices pushing back against AI coding tools never practiced programming as a hobby or saw it as especially fun, and the fact their job is changing won't make them start now.
Never thought Justin Searls would say that. So I reread the whole comment over and over again, and it clicked.
I liked building and making stuff work. I also didn't mind and often enjoyed coordinating with (good) clients, managers, or other engineers. I didn't love being a manager and requested a few years ago to go back to an IC role.
That said, I think I didn't like being a manager because of the turnaround time and/or quality of people I managed (partially due to my blind spots in managerial skills, at least in some cases). I improved but it wasn't worth the headache for me at the time.
With agents, I feel some of that pain again, but it also fixes some of the problems I had with it; relatively consistent quality and I find that I can lower my bar of communication with an LLM (I'm not writing in public to a real colleague) while simultaneously getting a lot more out of it, and it tends to not misconstrue what I've written.
I keep going back and forth between loving it and pining for being an old fashioned IC.
All that said, I really enjoy the puzzle of programming, in ways that I couldn't really always do at work -- "it's good enough", etc... I've done it in free time this year but it's hard not to view it as a waste of time now.
Not sure where I'm going with this besides expressing my current thoughts and somewhat agreement. /rant
I enjoy puzzles as much as the next guy. But I can just pick up a crossword or sudoku or something and get that mental stimulation elsewhere. The thing I always found vexing about programming was that the puzzle-solving was a prerequisite to getting anything done. Now that the two are decoupled, I'm a lot happier.
> It sounds and feels a lot more like an engineering or product management role—something a lot of programmers would never in a million years have signed up to do voluntarily
Now that you phrase it that way.. I think I'm very glad to have transitioned from 'programmer' or 'dev' to 'big-tech software engineer'. The jobs are very different. I had no idea what I was in for. SWE is much less fun. All meetings and alignments and docs. But I think that's what my job would have been forced to become with AI anyway, so at least it prepared me for this new world.
> I suspect that many of the loudest voices pushing back against AI coding tools never practiced programming as a hobby or saw it as especially fun, and the fact their job is changing won't make them start now.
As many people here and on Reddit can attest, I am one of these loud voices.
I actually see programming as all three: a hobby, fun and a profession. And AI itself is... neither. It's not enjoyable because you have to understand everything anyway if you want to do a decent job, no matter if for hobby or for work. The only thing AI can do is save you time when you have no starting point at all - i.e. reconnaissance in pentesting.
> It sounds and feels a lot more like an engineering or product management role—something a lot of programmers would never in a million years have signed up to do voluntarily.
True, but dealing with agents is still easier than dealing with people (at least for introverted personalities). That being said, you still need to deal with other people's army of agents.
Not a few engineers are actually doing stuff like planning the cooling for buildings, construct things in CAD or draw plans. There might be some people involved afterwards that actually put those plans into reality and then it becomes a supervisor job similar to what you describe. BUT, thats only part of the job, not the core.
I see it similar to programming, before it was kind of a craft, many crafts are not paid very well, I know that woodworking can be very fulfilling but Ikea exists and noone pays you 1000€ for a simple table. But programming was a well paid craft because people are bad at thinking in general and not everyone can do the thinking good. Now we externalize the thinking and hope it will just work somehow...
But the point is..that is a different job. Others already said it, suddenly you are a manager and not a craftsperson anymore. No more tinkering.
About the hobby stuff, I hate that the unannoited ones slop there way into _my_ hobby space, pollute everything with one shots that get abandoned in a few hours and drown everything with their half baked brain childs without polish that all look and feel so same-ish, the "map of something something" projects I have seen that were missing any kind of error validation or check of completness is astonishing.
Are you serious? I LOVE programming as a hobby. In fact is IS my hobby. And I HATE AI, hate it with a passion. The world was so much more interesting when people were doing it by hand. Now it's ugly.
I'll be honest, I struggled to get much done with SwiftUI each of the last four years but this summer I started 4 greenfield iOS 27 apps on SwiftUI and it's genuinely been pretty delightful and none have required escape hatches to UIKit/AppKit.
I get people are upset, but the edge cases and frustration in no way feel like fundamental failures—just stuff they haven't gotten around to yet. Yes, they should have gotten to them all sooner but that doesn't convince me they won't eventually.
I think just about everyone in the industry appreciated hand-typed programming as a job, because it was a pleasant enough craft to practice and for a solid couple of decades programmers were treated extremely well in comparison to the vast majority of other careers out there.
Today, juggling a bunch of agents to do what you want them to do, figuring out how to verify their work, remediating problems, and spreading yourself thin cognitively—all the while looking over your shoulder at an increasingly precarious job market—is notably less pleasant for a lot of people. It sounds and feels a lot more like an engineering or product management role—something a lot of programmers would never in a million years have signed up to do voluntarily.
I'm probably an 8 out of 10 on the cooked scale—I'm juggling a suite of ten iOS apps and haven't written or read a line of code in over a year—but I get where these people are coming from. I think the suggestion that they can reclaim what they've lost in this new job they've been loudly expressing distaste for by adopting a new unpaid hobby will ring hollow to them.
reply