Feeling sad about AI
150 points by andybalaam
150 points by andybalaam
I think I've felt sad because of the disrespect. For most of my life I have loved programming: I've made it my hobby, my work, my identity. I made it my way of proving I have value, because I can be good at something, and improve at something, and it is useful, and beautiful
This really captured my entire feelings about it. This whole thing has made me absolutely jaded.
This captures some of my feelings about it all too but now that I'm in my 40s I'm realizing that AI or not, parts of this can be pathological. Writing software (and designing hardware) has been a hobby of mine since I was about 10 years old or so. It, or things adjacent, have been my work since I was 15 years old. I started on a Vic-20 with 3kB of RAM. I remember the first time I went on the Internet at an Internet Cafe for $6/hour, armed with a list of URLs I wanted to visit that I'd written down from library books. Installing Linux for the first time, from Slackware floppies, on my family's Pentium 133 and... causing problems... Yadda yadda yadda.
What I somehow managed to not do was to turn it into a core identity. For sure I was always "the computer guy", but that was an externally imposed identity, not internal so much. Being an engineer did make it (as someone who designs and builds things, software or not) in as part of my identity, and I would be devastated if I somehow lost the ability to build things, but even then it's only a piece of the whole puzzle.
Professionally, I have no idea where this is all going. It feels like there are several reckonings coming and I'm sure I'll figure out how to adapt, but I definitely will mourn how things were and how they change. This isn't the first time there's been earth-shaking changes, but this one feels different in an uncomfortable way.
As far as building as a hobby goes, I'm still exploring. For some projects, I've used LLMs to bootstrap the boring parts, turning what would be multi-week projects into compact one-weekend projects; for others, writing the software IS the fun part and nothing about the introduction of LLMs can take that away from me.
This is going to sound a little bit trite but... I highly recommend finding things to enjoy and get good at purely for personal enjoyment. You have value, you don't need to prove it to anyone. I like to brew beer. I've never entered a competition, I don't ever intend to. I make it and share it with friends. I like to bike, sometimes with my wife, sometimes just solo. Woodworking and designing 3D printable models, sometimes practical, sometimes whimsical. No one can take any of this away from you.
What I somehow managed to not do was to turn it into a core identity. For sure I was always "the computer guy", but that was an externally imposed identity, not internal so much. Being an engineer did make it (as someone who designs and builds things, software or not) in as part of my identity
This is the part I struggle with most. To me, being someone who builds things includes being responsible when things go wrong and ensuring a certain degree of quality. To keep the engineering analogy going, AI empowers the people building bridges out of sticks and calling "blowing on it really hard" a structural integrity assessment to completely take over the process of software development.
I am not against using AI to find potential bugs (if you own proving it is a real bug), doing tedious boilerplate or implementing slight variations of data structures for the Nth time, but feature work driven by AI goes so fast that the combinatorics of 4-5 people slopping together 2000 lines plus PRs every day results in brittle software, which I am on the hook for, either directly because I am on the on-call rotation or indirectly because something breaking in the stack makes the overall product worse.
I believe that software engineering needs better engineering discipline, but AI made me lose hope that we'll ever grow up as an industry.
Not only that but they're training all of these models off our OSS code and then turning around and charging us for the models, then have the audacity to tell us we're not good or modern enough unless we use them.
None of the AI coding agents would have been possible with OSS code. So the thousands of people who thought they were helping to advance civilization inadvertently had their creative output co-opted to sucker punch labor. It is kinda nuts.
Yeah, it's hard, but we need to try and find ways to resist and work together and hold our heads up! đź’š
I personally won't try to resist. I believe now that the models exist the damage is already done. Better accept it, and see if I can enjoy AI the way I do programming.
Though I still program by hand for my own enjoyment I have now also been playing with local models running on the university ML machines. It's been fun to have them try to maintain my tests for me, or prototype new designs.
Love to you too ❤️
If nothing else, at least the AI bubble has shown me more than ever who my people are and where my community is.
I feel like the emergence of AI has really killed my motivation to learn new things about software development. I already had substantially less time for this due to priorities shifting to family, house work etc, but now it feels like it's a waste of time. Previously, learning new languages, frameworks and algorithms made me feel like I would be better at my job and that gave a sense of security and satisfaction. Now it feels like it's just a matter of time until all wealth is funneled upwards to billionaires.
Don't give up! It's still fun, it's still good for your brain, and it's very likely to be good for your career.
Same here. I was considering starting a PhD earlier this year, but I see no point in it, my field being formal methods. Funny isn’t it? Ideas that used to take months to develop now take a few minutes. Plus the flood of slop research. Plus the fact that most likely than not my research would be used to speed coding agents even more. To make even MORE software? And then to end up in models that will plagiarize it? No way. At work it is sad too, junior developers will either 1) take longer to checkout a small task than I can get it done with agents, 2) pick a large task and deliver some crazy bloated shit code that they have no idea how it works while mgmt thinks is reasonable for me to maintain 10 apps…
What ever happened to the fun in the world?
See, even math problems now have become PR fodder for big tech.
I refuse to despair over it. I gave up on the internet a long time ago, so I make a deliberate effort to interact with real people and do my computing locally and air-gapped for the most part, aside from work.
I don't care about efficiency when I'm working on my own stuff on my own time, unless it's getting in the way of being there for my wife and children. I use old operating systems, old software, the same shit I've been using for 20 years. Windows 7 hasn't changed since Microsoft stopped touching it, and Win32 never broke backward compatibility, so I still write all the software and tooling I personally need on them. Still works. Still obsolete to nobody but people who've never used it.
I've noticed a shift away from being online, and as far as the effects of AI/LLM usage go, I think that's a good thing. It naturally filters out the people I probably wouldn't have much interest in talking to anyway. I don't judge people for wanting to use LLMs, and I don't care if they do. Just don't push it on me.
These quotes are all bangers:
I refuse to despair over it
deliberate effort to interact with real people
I still write all the software and tooling I personally need
To anyone feeling this way perhaps consider Handmade Cities, either through joining a mailing list or applying for our community chat (which works similarly to the Lobsters invite tree.) You and OP would be automatically welcome.
AI has turned my once wonderful job, into a complete bean counting numbers game. Game the system, win points, keep directors happy. Its a farce.
For people watching to learn: don't listen to people who say this skill is obsolete. Let me be clear here: even if the highly optimistic predictions about AI are true, we are going to need a lot of code, and the people who understand how it works are going to be very, very useful.
What are the chances that understanding code becomes more valuable? If more people lean on AI and less people learn to code, supply of such people will decrease.
I think that's true already.
The more programming work I do with AI assistance, the more I realize how hard programming is, even once you are liberated from having to instantly recall the exact syntax and patterns at a code level for anything you might want to do.
Think about what you need to know in order to design and implement a genuinely secure, performant, usable, and robust web application. Ours is a very deep profession!
If you lose understanding of your project, your ability to actively improve that project and make good decisions about it quickly atrophies.
It breaks my heart to hear from kids these days who decide not to take computer science at university because they think it's a dead-end career now. AI tooling means people who truly understand how things work under the hood will have even more of an advantage going forward in life.
It breaks my heart to hear from kids these days who decide not to take computer science at university because they think it's a dead-end career now. AI tooling means people who truly understand how things work under the hood will have even more of an advantage going forward in life.
It's unfortunate that perception around this can be so wildly different, even among practicing software engineers. I think (or least hope) that most engineers understand this fact as a matter of principle, but the rhetoric among leadership, and especially leadership at AI companies paints a very different picture. We've been some number of months away from software engineering being dead for a few years now.
The bulk of the time spent developing software is developing a theory of the problem being solved, not typing out the code. The way you get the promised speed up is by offloading understanding. The rest of the process has far less juice to squeeze.
Additionally, there are trillions of dollars being invested into making human brains economically useless. I don't believe there's magic in the human brain that makes this impossible to achieve. When this kind of money is involved, breakthroughs tend to happen. If that wider goal is achieved, game out human agency and political power, and think through the implications.
If this isn't your desired outcome, maybe avoiding it's a good idea to avoid funding AI, and rejecting AI boosterism.
In my experience, software development is mostly made up of chores. It is true that significant time is spent developing a correct theory of the program; I find myself spending even more time fighting with adjacent projects, surrounding infrastructure, or the organization responsible for the software.
The latter is very evidently made worse by AI, but I am very happy to apply AI to the former areas. I don't want to have space in my brain dedicated to the quirks of Bazel, Gradle, Cargo, Autotools, GNU vs. BSD Makefiles, etc. I hope I never learn anything about build systems or their various quirks and DSLs again for the rest of my life or of whatever frameworks are imposed upon me.
It feels like I've wasted so much life gluing together or hacking the innards of disparate projects to get a deliverable. It is hard to appreciate learning about their inner workings when you're just trying to get them to work as advertised or to integrate them with other systems. It's usually just plumbing problems, and it is not the romanticized platonic ideal of software development. It's dreadful busywork and I'm thankful that such chores are usually resolved within a single prompt today.
I don't want to have space in my brain dedicated to the quirks of Bazel, Gradle, Cargo, Autotools, GNU vs. BSD Makefiles, etc.
Looking back at my collection of TILs has really emphasized this for me. Back in 2021 I was celebrating figuring out how to have nginx proxy to a Unix domain socket - and writing that up because it was frustrating to figure out and me posting it would increase the chance someone else might stumble across the answer they needed.
I don't worry about figuring out or noting down trivia like that at all any more.
Exactly, you no longer need to understand the way nginx works. You've outsourced understanding, and this is the source of any acceleration. This thinking also applies to many algorithms, system architecture, and so on.
Any understanding that is automated is something you could dismiss as "trivia like that". Requirements gathering, system architecture, product market fit, visual balance in artwork to UX design, or any other aspect of the system. And, I think any understanding can be automated, at least in theory.
What would you refuse to use, even if it was successfully offload able to AI? Is there any understanding you you value more than pure efficiency?
Keeping in mind your response to the previous question: Do you value education? If so, why?
The amount of understanding and expertise that it's possible to outsource is already surprisingly high; it's not going to decrease.
Right now, AI isn't very good. That may not always be true.
It doesn't follow from what simonw said that understanding the way nginx works has zero value. it depends on what you hope to accomplish. CEOs of large companies have long had the ability to completely offload all thinking to very smart agents (humans) but it's relatively common for CEOs to value learning. Why do you think that is?
CEOs of large companies have long had the ability to completely offload all thinking to very smart agents
The job of the CEO is a political position, in a way that I would hope directing LLMs is not.
I think accountability is more important than understanding. We've also had a crisis of accountability across the industry well before LLMs. The problems of the software of my airline, my bank, event ticketing platforms, operating system providers, and my government are not caused by LLMs exactly, but LLMs are certainly solving problems I have all the time.
My airline's website is just as broken and bloated as it was ten years ago. Recently, I had an experience where they left my luggage behind. They offered to ship my luggage to my destination and they sent me a link to provide an address. However, there was an issue in the scripts that prevented the form from being submitted. I was able to save an offline copy of it, have Claude reason about the offline copy, and apply a one-liner it recommended in the browser console whilst in flight that allowed the form to be submitted. The bug was something like... the Calendar's selected date is always cleared on any mouse click once a country is selected iff the type of destination is not Hotel.
Do the people who assembled that website even know how it works or that it's broken? I don't know if they have an understanding of their own product. It is instead very important to me that my luggage is with me at my destination when I arrive at my destination. Would it have been better for me not to use LLMs in this case? With it, I was able to get the luggage successfully delivered to my destination. Without it, I might not have had clean underwear for a week.
I think humans are necessary for accountability; LLMs aren't corporeal enough for it. I don't know if that necessarily means humans should be left to do all the actual construction. People with responsibilities have often, long before LLMs, delegated actual work and comprehension to others.
It breaks my heart to hear from kids these days who decide not to take computer science at university because they think it's a dead-end career now.
Conversely, I tended to tell my students to learn CS concepts but not as a career. Our market is oversaturated, and we shouldn't encourage new folks to come in unless they can't imagine doing anything else. The skills you learn, though, give you the ability to navigate our overly tech-driven environment much easier, and you can have a nice hobby :)
I wonder if CS degrees will end up in the same category as history or literature - you rarely get a career directly doing those subjects, but the skills you learn are indispensable for all manner of other professions.
(Personally I wouldn't bet against CS careers yet, I'm still hoping for a Jevons paradox explosion in demand for custom software thanks to its lower cost.)
Has anyone actually measured the new cost of custom software, or are we still making assumptions now that it is easy to create a demo or toy?
I would love to see some breakdowns of the costs associated with developing bespoke software before and after fall of 2025, especially if someone has done the math using real token cost instead of the subsidized flat rate plans.
Numbers are really hard to lock down here, because the definition of "software" is so broad, and categories of software that provide value are so varied.
I can knock out a single page HTML tool in a minute or so at a cost of a few cents. Is that valuable? That depends entirely on what the tool does and who it's for.
I still think the best comparison, at least for smaller projects, is spreadsheets. A huge number of companies run their entire businesses on spreadsheets that were created by non-expert users. Putting a value on those is equally difficult.
The only thing I can speak credibly to is the cost of developing the kind of software I build myself, which has dropped enormously... because I'm an expert at building it and can hence use the new tools to build it way faster.
Does that experience map neatly to other companies building other kinds of software? I can't speak to that with anything other than informed but wild guesses.
Maybe CS will return to its home soil of the mathematics department. But maybe mathematics departments will look far different too. Who knows!
It will be valuable alright but it will mean wading through soul-crushing mountains of slop. Unfortunately that's what the future looks like. The biggest problem is the sheer volume of the code that is being produced this way.
I'm pretty optimistic about AI being a useful tool to work through some of the legacy code best practices. there's always a ton of grunt work involved, so having some help iterate on that makes trying out refactoring and rearchitecting ideas a lot easier.
The problem will be volume and scaling. It is now so much easier to pump out code than to properly maintain it. This was always the case to some extent but I feel that the balance has been shifting in a major way. Soon we will have to own 10x the code we do today. Or 100x, most of which is never meaningfully reviewed or read by humans until it's an emergency. That won't be great or fun no matter what tools we use. It will get much worse before... it gets even worse. I guess I am not very optimistic :)
Yeah, it's likely that when the dust settles people who understand will do ok, but I fear there is a lot of chaos ahead of us before that. đź’š
I kinda disagree here - did people learning react and getting their first job ever bother to learn about the react compiler .
React compiler is a relatively new thing which optimizes re-renders by applying some hooks, and it has been promoted to stable relatively recently.
If you mean JSX transpilation, I would say yes, if you want to understand it deeper, you would learn pretty quickly what happens after and how it works. And if you mean the VDOM and diff algorithm, some basics also yes, but not the actual algorithm. But definitely enough to understand at least where to look for advanced features.
Web in general is amazing with reliable abstractions, but you can go quite deep on the client -- how does the browser parses the document, loads and parses styles and scripts, how it is executed and optimized, how re-renders happen, etc. It is possible to learn about reflow and repaint during your first job; not immediately but soon.
If you know what you are doing, you can have a much larger impact than someone who has absolutely no idea what they are doing - I mean this with no sarcasm. Output while using AI is correlated with user skill level. At work a citizen developer spent a 100 bucks during a day trying to get a 40k line file down to something not obscenely large and failed. I split it under 10 minutes and a few cents because I asked AI to write a script to analyze the AST directly for a few of the largest offenders — for example methods with no reference to self could be automatically extracted to mixins and helpers, automatically extracting multiline constants etc. this is well beyond the best intentioned citizen dev. Ok if they can mock a screen in seconds. A skilled, experience dev can put out an app in minutes
I really enjoyed the "Feel the cool" series on scheme from some years ago. Makes me a bit sad to see some very visible members of our community having a hard time. I am also having a hard time.
I always liked writing software because you got to do something. Now you don't really do anything. It just happens.
have you thought about doing something bigger? We might need to find the fun of it again but it is definitely there. I started to code to create things, fell in love for the craft and still love it. Creating more ambitious projects motivates me the same way as when I started creating Dragon Ball Z websites.
I think this is the right answer. You have to go to where the friction is if you want to do interesting, rewarding work. The friction is no longer in writing functions, algorithms, or even applications. Now the friction is in designing very large systems that can't fit into the AI's memory, and which can't really be built without human intervention.
For instance, it used to be that writing a programming language and bootstrapping the compiler was a high-friction, very rewarding and impressive accomplishment.
Now, AI makes this trivial, so it's not as impressive. But that doesn't mean PL development is solved, because there are still infinite many PLs to write. So the AI machine just means you have the ability now to iterate through many bootstrapped languages to find a good one, rather than to just bootstrap one and be satisfied with that.
If you view it as "AI can make boostrapped languages automatically, why even bother" you're missing out on the actual value proposition AI provides.
Unfortunately there is nothing impressive (by others) or rewarding (to myself) about generating something satisfactory with an LLM, no matter how many iterations and criticisms and prompts it takes.
Now the friction is in designing very large systems that can't fit into the AI's memory, and which can't really be built without human intervention.
that sounds like distributed systems work, and I would love to do more of that.
If I'm doing programming as a solo hobby, the learning curve is steeper (and barrier for good/realistic ideas is higher), but if my goals are to learn and grow in this, it's definitely possible. But I don't know how to get into this professionally without significant prior professional or academic experience in distributed systems. It was definitely easier to get a backend/fullstack engineer job and sneak in ways to grow my skills 3-5 years ago, when "are you decent at building software in general" was still the main qualifier for many software jobs.
My intuition is telling me that if the LLMs continue to eat our industry, most decent software jobs that remain will be highly specialised. It's possible that down the line everything readjusts towards that, and software engineers of the future would basically have to get advanced degrees and specialise to do "serious" software work (kind of like doctors?). But as a generalist who exists in this interim, I feel pretty rough to be going through this.
I feel similarly, but to take a more political view, it’s our industry being deskilled and “proletarianized” as they say. So, organize a union in your office, even if they have nice snacks.
I have moved from sadness to anger I think. :)
The point on disrespect really resonates. It is extremely clear to me that perhaps the tech industry should look at splitting itself in two, because what's going on currently is not working. (It hasn't been working for awhile, actually.) I would argue the line of the schism is whether you are here for 'serious' engineering or not (terrible descriptor but you get the gist).
There's no judgment on either side. I just think they have almost nothing to say to one another at this point. They want completely different things!
The less-serious crowd, which likely constitutes at least 50-60% of developers can keep doing their thing, and even have all the usual sites for decidedly less serious discussion. It's not that discussion can't be serious there, but more of the fact that no one expects that. The more serious crowd, meanwhile, should create semi-cloistered and gatekept spaces to facilitate high quality discussion among themselves. From that, a much smaller and tighter community can be built of people who are actively choosing to be there based on their interest.
Can definitely relate, especially with the part about being disrespected. Generative models have the effect of devaluing human creativity and alienate us from one-another. What gives me hope, personally, is seeing the movements against it grow, both in software and in other professions; I do believe we can all band together against it and push it back. It's very unethical and has no place in the world.
You're not alone; there are many of us, and we should find one-another and band together. Not only in programming, but with all other affected professions. <3
A nice post. I'm reminded of a recent post by Terry Tao on the childlike exploration aspect of mathematics (and how indiscriminate AI usage destroys it.)
Human slop happens well before AI slop. Industrial software has long since given up the value of understanding or enlightenment. So at least it's not the first time, hacker brothers!
This needs the ai tag.
It used to have the ai tag, which was misapplied (by the description of the tag) since it doesn't discuss developing AI models. User suggestions removed it without re-adding vibecoding, which I believe would be the appropriate tag for this story according to lobste.rs.