우리의 기술을 애도하며
We mourn our craft
요약
저자는 AI가 프로그래밍 기술에 미치는 심오한 영향에 대해 성찰하며, 전통적인 코딩 방식에 대한 애도의 감정을 표현합니다. AI 도구의 능력이 점점 더 향상됨에 따라 프로그래머의 역할이 바뀌고 있으며, 저자는 직접 코딩하고 디버깅하는 과정에서 오는 만족감의 잠재적 상실을 안타까워합니다. 이러한 기술적 변화의 불가피성을 인정하면서도, 코딩이 순전히 인간의 노력으로 이루어졌던 시대의 종말을 함께 애도하자고 제안합니다.
댓글 (713)
And this surprises me, because I used to love writing code. Back in my early days I can remember thinking "I can't believe I get paid for this". But now that I'm here I have no desire to go back.
I, for one, welcome our new LLM overlords!
I for one think writing code is the rewarding part. You get to think through a problem and figure out why decision A is better than B. Learning about various domains and solving difficult problems is in itself a reward.
2. the tools still need a lot of direction, i still fight claude with opus to do basic things and the best experiences are when i provide very specific prompts
3. being idealistic on a capitalist system where you have to pay your bills every month is something i could do when my parents paid my bills
These apocalyptic posts about how everything is shit really don't match my reality at all. I use these tools every day to be more productive and improve my code but they are nowhere close to doing my actual job, that is figuring out WHAT to do. How to do it is mostly irrelevant, as once i get to that point i already know what needs to be done and it doesn't matter if it is me or Opus producing the code.
This may be the perspective of some programmers. It doesn't seem to be shared by the majority of software engineers I know and read and listen to.
also:
> We’ll miss the sleepless wrangling of some odd bug that eventually relents to the debugger at 2 AM.
no we won't lol wtf
but also: we will probably still have to do that anyways, but the LLM will help us and hopefully make it take less time
Things seem to be getting better from December 2022 (chatgpt launch), sure, but is there a ceiling we don't see?
For my whole life I’ve been trying to make things—beautiful elegant things.
When I was a child, I found a cracked version of Photoshop and made images which seemed like magic.
When I was in college, I learned to make websites through careful, painstaking effort.
When I was a young professional, I used those skills and others to make websites for hospitals and summer camps and conferences.
Then I learned software development and practiced the slow, methodical process of writing and debugging software.
Now, I get to make beautiful things by speaking, guiding, and directing a system which is capable of handling the drudgery while I think about how to make the system wonderful and functional and beautiful.
It was, for me, never about the code. It was always about making something useful for myself and others. And that has never been easier.
This new world makes me more effective at it.
And this new world doesn’t prevent me from crafting elegant architectures either.
Then it wasn't your craft.
It's like a woodworker saying, "Even though I built all those tables using precise craft and practice, it was NEVER ABOUT THE CRAFT OR PRACTICE! It was about building useful things." Or a surgeon talking about saving lives and doing brain surgery, but "it was never about learning surgery, it was about making people get better!"
I mean sure yeah but also not really.
Not because the tools are insufficient, it's just that the kind of person that can't even stomach the charmed life of being a programmer will rarely be able to stomach the dull and hard work of actually being creative.
Why should someone be interested in you creations? In what part of your new frictionless life would you've picked up something that sets you apart from a million other vibe-coders?
You order it.
I do find it that the developers that focused on "build the right things" mourn less than those who focused on "build things right".
But I do worry. The main question is this - will there be a day that AI will know what are "the right things to build" and have the "agency" (or illusion of) to do it better than an AI+human (assuming AI will get faster to the "build things right" phase, which is not there yet)
My main hope is this - AI can beat a human in chess for a while now, we still play chess, people earn money from playing chess, teaching chess, chess players are still celebrated, youtube influencers still get monetized for analyzing games of celebrity chess players, even though the top human chess player will likely lose to a stockfish engine running on my iPhone. So maybe there is hope.
To me, you sound more utilitarian. The philosophy you are presenting is a kind of Ikea philosophy. Utility, mass production, and unique beauty are generally properties that do not cohere together, and there's a reason for this. I think the use of LLMs in the production of digital goods is very close to the use of automation lines in the production of physical goods. No matter how you try some of the human charm, and thus beauty will inevitably be lost, the number of goods will increase, but they'll all be barely differentiable souless replications of more or less the same shallow ideas repeated as infinitum.
Me too, but... The ability to code was a filter. With AI, the pool of people who can build beautiful elegant software products expands significantly. Good for the society, bad for me.
If I had an LLM generate a piece of artwork for me, I wouldn't call myself an artist, no matter how many hours I spent conversing with the LLM in order to refine the image. So I wouldn't call myself a coder if my process was to get an LLM to write most/all the code for me. Not saying the output of either doesn't have value, but I am absolutely fine gatekeeping in this way: you are not an artist/coder if this is how you build your product. You're an artistic director, a technical product manager, something of that nature.
That said, I never derived joy from every single second of coding; there were and are plenty of parts to it that I find tedious or frustrating. I do appreciate being able to let an LLM loose on some of those parts.
But sparing use is starting to really only work for hobby projects. I'm not sure I could get away with taking the time to write most of it manually when LLMs might make coworkers more "productive". Even if I can convince myself my code is still "better" than theirs, that's not what companies value.
To the skeptics: by all means, don't use AI if you don't want to; it's your choice, your career, your life. But I am not sure that hitching your identity to hating AI is altogether a good idea. It will make you increasingly bitter as these tools improve further and our industry and the wider world slowly shifts to incorporate them.
Frankly, I consider the mourning of The Craft of Software to be just a little myopic. If there are things to worry about with AI they are bigger things, like widespread shifts in the labor force and economic disruption 10 or 20 years from now, or even the consequences of the current investment bubble popping. And there are bigger potential gains in view as well. I want AI to help us advance the frontiers of science and help us get to cures for more diseases and ameliorate human suffering. If a particular way of working in a particular late-20th and early-21st century profession that I happen to be in goes away but we get to those things, so be it. I enjoy coding. I still do it without AI sometimes. It's a pleasant activity to be good at. But I don't kid myself that my feelings about it are all that important in the grand scheme of things.
Why did you stop? Because, you realize, LLMs are giving up the process of creating for the immediacy of having. It's paying someone to make for you.
Things are more convenient if you live the dream of the LLM, and hire a taskrabbit to run your wood shop. But it's not you that's making.
Luckily for real programmers, AI's not actually very good at generating quality code. It generates the equivalent of Ali Baba code: it lasts for one week and then breaks.
This is going to be the future of programming: low-paid AI clerks to generate the initial software, and then the highly paid programmers who fix all the broken parts.
For how long do you think this is sustainable? In the sense of you, or me, or all these other people here being able to earn a living. Six months? A couple of years? The time until the next-but-one Claude release drops?
Does everyone have to just keep re-making themselves for whatever the next new paradigm turns out to be? How many times can a person do that? How many times can you do that?
I don't think it's nearly as valuable to people who do enjoy writing code, because I don't think prompting an agent (at least in their current state) is actually more productive than just writing the code. So I don't see any reason to mourn on either side.
I can't empathize with the complaint that we've "lost something" at all. We're on the precipice of something incredible. That's not to say there aren't downsides (WOPR almost killed everyone after all), but we're definitely in a golden age of computing.
Put in a word and see what it means? That's been easy for at least a century. Have a meaning in mind and get the word? The only way to get this before was to read a ton of books and be knowledgable or talk to someone who was. Now it's always available.
I feel like we've reached the worst age of computing. Where our platforms are controlled by power hungry megacorporations and our software is over-engineered garbage.
The same company that develops our browsers and our web standards is also actively destroying the internet with AI scrapers. Hobbyists lost the internet to companies and all software got worse for it.
Our most popular desktop operating system doesn't even have an easy way to package and update software for it.
I was born in 84 and have been doing software since 97
it’s never been easier, better or more accessible time to make literally anything - by far.
Also if you prefer to code by hand literally nobody is stopping you AND even that is easier.
Cause if you wanted to code for console games you literally couldn’t in the 90s without 100k specialized dev machine.
It’s not even close.
This “I’m a victim because my software engineering hobby isn’t profitable anymore” take is honestly baffling.
Fundamentally this is the only point I really have on the 'anti-AI' side, but it's a really important one.
But I mourned when CRT came out, I had just started programming. But I quickly learned CRTs were far better,
I mourned when we moved to GUIs, I never liked the move and still do not like dealing with GUIs, but I got used to it.
Went through all kinds of programming methods, too many to remember, but those were easy to ignore and workaround. I view this new AI thing in a similar way. I expect it will blow over and a new bright shiny programming methodology will become a thing to stress over. In the long run, I doubt anything will really change.
One question is how will AI factor in to this. Will it completely remove the problem? Will local models be capable of finding or fixing every dependency in your 20yo project? Or will they exacerbate things by writing terrible code with black hole dependency trees? We're gonna find out.
Total dependence on a service?
There have been wild technological developments but we've lost privacy and autonomy across basically all devices (excepting the people who deliberately choose to forego the most capable devices, and even then there are firmware blobs). We've got the facial recognition and tracking so many sci-fi dystopias have warned us to avoid.
I'm having an easier time accomplishing more difficult technological tasks. But I lament what we have come to. I don't think we are in the Star Trek future and I imagined doing more drugs in a Neuromancer future. It's like a Snow Crash / 1984 corporate government collab out here, it kinda sucks.
We could easily approach a state of affairs where most of what you see online is AI and almost every "person" you interact with is fake. It's hard to see how someone who supposedly remembers computing in the 80s, when the power of USENET and BBSs to facilitate long-distance, or even international, communication and foster personal relationships (often IRL) was enthralling, not thinking we've lost something.
Hardware that ships with documentation about what instructions it supports. With example code. Like my 8-bit micros did.
And software that’s open and can be modified.
Instead what we have is:
- AI which are little black boxes and beyond our ability to fully reason.
- perpetual subscription services for the same software we used to “own”.
- hardware that is completely undocumented to all but a small few who are granted an NDA before hand
- operating systems that are trying harder and harder to prevent us from running any software they haven’t approved because “security”
- and distributed systems become centralised, such as GitHub, CloudFlare, AWS, and so on and so forth.
The only thing special about right now is that we have added yet another abstraction on top of an already overly complex software stack to allow us to use natural language as pseudocode. And that is a version special breakthrough, but it’s not enough by itself to overlook all the other problems with modern computing.
Simon doesn't touch on my favorite part of Chris's video though, which is Chris citing his friend Jesse Kriss. This stuck out at me so hard, and is so close to what you are talking about:
> The interesting thing about this is that it's not taking away something that was human and making it a robot. We've been forced to talk to computers in computer language. And this is turning that around.
I don't see (as you say) a personality. But I do see the ability to talk. The esoteria is still here underneath, but computer programmers having this lock on the thing that has eaten the world, being the only machine whisperers around, is over. That depth of knowledge is still there and not going away! But notably too, the LLM will help you wade in, help those not of the esoteric personhood of programmers to dive in & explore.
Now the determinism is gone and computers are gaining the worst qualities of people.
My only sanctuary in life is slipping away from me. And I have to hear people tell me I'm wrong who aren't even sympathetic to how this affects me.
In fact, I remember when I could actually shop on Amazon or browse for restaurants on Yelp while trusting the reviews. None of that is possible today.
We have been going through a decade of enshitification.
So, in a sense our "craft" no longer matters, but what really happens is that the repetitive know-how has become commoditized. We still need people to do creative work, but what is not clear is how many such people we will need. After all, at least in short term, most people build their career by perfecting procedural work because transferring the know-how and the underlying whys is very expensive to human. For the long term, though, I'm optimistic that engineers just get an amazing tool and will use it create more opportunities that demand more people.
The difference is that the computer only talks back to you as code because you’re paying its owners, with you not being part of the owners. I find it really baffling that people put up with this. What will you do when Alphabet or Altman will demand 10 times the money out of you fir the privilege of their computer talking to you in programming code?
That was the layman version of computing, something shown to the masses in movies like War Games and popular media, one that we mocked.
I also lived through the FOSS peak. The current proprietary / black-box / energy lock in would be seen as the stuff of nightmares.
Maybe they made us feel magic, but actual magic is the opposite of what I want computers to be. The “magic” for me was that computers were completely scrutable and reason-able, and that you could leverage your reasoning abilities to create interesting things with them, because they were (after some learning effort) scrutable. True magic, on the other hand, is inscrutable, it’s a thing that escapes explanation, that can’t be reasoned about. LLMs are more like that latter magic, and that’s not what I seek in computers.
> We're literally living in the 1980s fantasy where you could talk to your computer and it had a personality.
I always preferred the Star-Trek-style ship computers that didn’t exhibit personality, that were just neutral and matter-of-fact. Computers with personality tend to be exhausting and annoying. Please let me turn it off. Computers with personality can be entertaining characters in a story, but that doesn’t mean I want them around me as the tools I have to use.
I agree!. One criticism I've heard is that half my colleagues don't write their own words anymore. They use ChatGPT to do it for them. Does this mean we've "lost" something? On the contrary! Those people probably would have spoken far fewer words into existence in the pre-AI era. But AI has enabled them to put pages and pages of text out into the world each week: posts and articles where there were previously none. How can anyone say that's something we've lost? That's something we've gained!
It's not only the golden era of code. It's the golden era of content.
It's because of the way that I use the tools, and I have the luxury of being a craftsman, as opposed to a "TSA agent."
But then, I don't get paid to do this stuff, anymore. In fact, I deliberately avoid putting myself into positions, where money changes hands for my craft. I know how fortunate I am, to be in this position, so I don't say it to aggravate folks that aren't.
https://en.wikipedia.org/wiki/ELIZA_effect
I also can't believe it's actually happening. ;)
Frankly, I have my doubts about the utter efficiency of LLMs writing code unattended; it will take quite some time before whatever comes after the current crop learns to do that efficiently and reliably. (Check out how many years went between first image generation demos and today's SOTA.) But the vector is obvious: humans would have to speak a higher-level language to computers, and hand-coding Typescript is going to be as niche in 10 years as today is hand-coding assembly.
This adds some kinds of fun, but also removes some other kinds of fun. There's a reason why people often pick something like PICO-8 to write games for fun, rather than something like Unreal Engine. So software development becomes harder because the developer has to work on more and more complex things, faster, and with fewer chances to study the moving parts to a comfortable depth.
I liked programming, it was fun, and I understood it. Now it's gone.
If you're someone with a background in Computer Science, you should know that we have formal languages for a reason, and that natural language is not as precise as a programming language.
But anyway we're peek AI hype, hitting the top on HN is worth more than a reasonable take, reasonableness doesn't sell after all.
So here we're seeing yet another text about how the world of software was solved by AI and being a developer is an artifact of the past.
Right? At least on HN, there's a critical mass of people loudly ignoring this these days, but no one has explained to me how replacing formal language with an english-language-specialized chatbot - or even multiple independent chatbots (aka "an agent") - is good tradeoff to make.
English or any other natural language can of course be concise enough, but when being brief they leave much to imagination. Adding verbosity allows for greater precision, but I think as well that that is what formal languages are for, just as you said.
Although, I think it's worth contemplating whether the modern programming languages/environments have been insufficient in other ways. Whether by being too verbose at times, whether the IDEs should be more like databases first and language parsers second, whether we could add recommendations using far simpler, but more strict patterns given a strongly typed language.
My current gripes are having auto imports STILL not working properly in most popular IDEs or an IDE not finding referenced entity from a file, if it's not currently open... LLMs sometimes help with that, but they are extremely slow in comparison to local cache resolution.
Long term I think more value will be in directly improving the above, but we shall see. AI will stay around too of course, but how much relevance it'll have in 10 years time is anybody's guess. I think it'll become a commodity, the bubble will burst and we'll only use it when sensible after a while. At least until the next generation of AI architecture will arrive.
Oh come on. 95% of the folks were gluing together shitty React components and slathering them with Tailwind classes.
If you really buy all that you'd be part of the investor class that crashed various video game companies upon seeing Google put together a rather lame visual stunt and have their AI say, and I quote because the above-the-fold AI response I never asked for has never been more appropriate to consult…
"The landscape of AI video game generation is experiencing a rapid evolution in 2025-2026, shifting from AI-assisted asset creation to the generation of entire interactive, playable 3D environments from text or image prompts. Leading initiatives like Google DeepMind's Project Genie and Microsoft's Muse are pioneering "world models" that can create, simulate physics, and render games in real-time."
And then you look at what it actually is.
Suuuure you will, unwanted AI google search first response. Suuure you will.
This is the narrow understanding of programming that is the whole point of contention.
Sure, they are still needed for debugging and for sneering at all those juniors and non-programmers who will finally be able to materialise their fantasies, but there is no way back anymore, and like riding horses, you can still do it while owning a car.
Nothing will prevent you from typing “JavaScript with your hands”, from “holding code in our hands and molding it like clay…”, and all the other metaphors. You can still do all of it.
What certainly will change is the way professional code will be produced, and together with that, the avenue of having a very well-paid remuneration, to write software line-by-line.
I’ll not pretend that I don’t get the point, but it feels like the lamentation of a baker, tailor, shoemaker, or smith, missing the days of old.
And yet, most people prefer a world with affordable bread, clothes, footware, and consumer goods.
Will the world benefit the most from “affordable” software? Maybe yes, maybe not, there are many arguments on both sides. I am more concerned the impact on the winners and losers, the rich will get more rich and powerful, while the losers will become even more destitute.
Yet, my final point would be: it is better or worse to live in a world in which software is more affordable and accessible?
Except the community of people who, for whatever reason, had to throw themselves into it and had critical mass to both distribute and benefit from the passion of it. This has already been eroded by the tech industry coopting programming in general and is only going to diminish.
The people who discovered something because they were forced to do some hard work and then ran with it are going to be steered away from that direction by many.
Food:
A lot of the processed foods that are easily available make us unhealthy and sick. Even vegetables are less nutritious than they were 50 years ago. Mass agriculture also has many environmental externalities.
Consumer goods:
It has become difficult to find things like reliable appliances. I bought a chest freezer. It broke after a year. The repairman said it would cost more to fix than to buy a new one. I asked him if there was a more reliable model and he said no: they all break quickly.
Clothing:
Fast fashion is terrible for the environment. Do we need as many clothes as we have? How quickly do they end up in landfills?
Would we be better off as a society repairing shoes instead of buying new ones every year?
Right now I can think of very few white-collar jobs that I would feel comfortable training 4+ years for (let alone spending money or taking on debt to do so). It is far from a guarantee that almost any 4-year degree you enroll in today will have any value in four years. That has basically never before been true, even in tech. Blue collar jobs are clearly safer, but I wouldn't say safe. Robotics is moving fast too.
I really can't imagine the social effects of this reality being positive, absent massive and unprecedented redistribution of the wealth that the productivity of AI enables.
The modal person just trying to get their job done wasn't a software artisan; they were cutting and pasting from Stack Overflow, using textbook code verbatim, and using free and open-source code in ways that would likely violate the letter and spirit of the license.
If you were using technology or concepts that weren't either foundational or ossified, you found yourself doing development through blog posts. Now, you can at least have a stochastic parrot that has read the entire code and documentation and can talk to it.
I’ve built a number of team-specific tools with LLM agents over the past year that save each of us tens of hours a month.
They don’t scale beyond me and my six coworkers, and were never designed to, but they solve challenges we’d previously worked through manually and allow us to focus on more important tasks.
The code may be non-optimal and won’t become the base of a new startup. I’m fine with that.
It’s also worth noting that your evidence list (increased CVEs, outages, degraded quality) is exclusively about what happens when LLMs are dropped into existing development workflows. That’s a real concern, but it’s a different conversation from whether LLMs create useful software.
My tools weren’t degraded versions of something an engineer would have built better. They’re net-new capability that was never going to get engineering resources in the first place. The counterfactual in my case isn’t “worse software”—it’s “no software.“
Why use a spade? Even those construction workers use the right sized tools. They ain't stupid.
LLM would be if the digging and hauling of the dirt happened without any people involved except the planning of logistics.
I would add a nuance from OPs perspective sorta: a close friend of mine works in construction, and often comments on how projects can be different. On some, everyone in the entire building supply chain can be really inspired to work on a really interesting project because of either its usefulness or its craftsmanship (the 2 of which are related), and on some, everyone’s, just trying to finish the project is cheaply quickly as possible.
It’s not that the latter hasn’t existed in tech, but it does appear that there is a way to use LLMs to do more of the latter. It’s not “the end of a craft”, but without a breakthrough (and something to check the profit incentive) it’s also not a path to utopia (like other comments seem to be implying)
Craftsmanship doesn’t die, it evolves, but the space in between can be a bit exhausting as markets fail to understand the difference at first.
I don't mourn or miss anything. No more then the previous generation mourned going from assembly to high level languages.
The reason why programming is so amazing is getting things done. Seeing my ideas have impact.
What's happening is that I'm getting much much faster and better at writing code. And my hands feel better because I don't type the code in anymore.
Things that were a huge pain before are nothing now.
I didn't need to stay up at night writing code. I can think. Plan. Execute at a scale that was impossible before. Alone I'm already delivering things that were on the roadmap for engineering months worth of effort.
I can think about abstractions, architecture, math, organizational constraints, product. Not about what some lame compiler thinks about my code.
And if someone that's far junior to me can do my job. Good. Then we've empowered them and I've fallen behind. But that's not at all the case. The principals and faculty who are on the ball are astronomically more productive than juniors.
Nothing I've ever built has lasted more than a few years. Either the company went under, or I left and someone else showed up and rewrote it to suit their ideals. Most of us are doing sand art. The tide comes in and its gone.
Code in and of itself should never have been the goal. I realized that I was thinking of the things I build and the problems I selected to work on from the angle of code quality nearly always. Code quality is important! But so is solving actual problems with it. I personally realized that I was motivated more by the shape of the code I was writing than the actual problems it was written to solve.
Basically the entire way I think about things has changed now. I'm building systems to build systems. Thats really fun. Do I sometimes miss the feeling of looking at a piece of code and feeling a sense of satisfaction of how well made it is? Sure. That era of software is done now sadly. We've exited the craftsman era and entered into the Ikea era of software development.
I’m putting that on my wall.
maybe this say something more about your career decisions than anything else?
Do what isn't replaceable. You're being told literally everything is replaceable. Note who's telling you that and follow the money.
I feel bad for this essayist, but can't really spare more than a moment to care about his grief. I got stuff to do, and I am up and doing. If he was in any way competing with the stuff I do? One less adversary.
I would rather bring him into community and enjoy us all creating together… but he's acting against those interests and he's doomering and I have no more time for that.
No they cannot, And an AI bro squeezing every talking point into a think piece while pretending to have empathy doesn't change that. You just want an exit, and you want it fast.
> and if you don’t believe me, wait six months
This reads as a joke nowadays.
I still feel proud when skillfully guiding a set of AI agents to build from my imagination. Especially when it was out of my reach just 6-months ago.
I’m a 49 year old veteran who started at just 10 years old and have continued to find pure passion in it.
I’m in consulting now and it’s all the same crap. Enterprises want to “unleash AI” so they can fire people. Maximize profits. My nephews who are just starting their careers are blindly using these tools and accepting the PR if it builds. Not if it’s correct.
I’m in awe of what it can do but I also am not impressed with the quality of how it does it.
I’m fortunate to not have any debt so I can float until the world either wises up or the winds of change push me in a new direction.
I liked the satisfaction of building something “right” that was also “useful”. The current state of Opus and Codex can only pretend to do the latter.
I would also point out that the author, and many AI enthusiasts, still make certain optimistic assumptions about the future role of "developer," insisting that the nature of the work will change, but that it will somehow, in large measure, remain. I doubt that. I could easily envision a future where the bulk of software development becomes something akin to googling--just typing the keywords you think are relevant until the black box gives you what you want. And we don't pay people to google, or at least, we don't pay them very much.
It's not that impressive that Claude wrote a C compiler when GitHub has the code to a bunch of C compilers (some SOTA) just sitting there.
I'm using an LLM to write a compiler in my spare time (for fun) for a "new" language. It feels more like a magical search engine than coding assistant. It's great for bouncing ideas from, for searching the internet without the clutter of SEO optimized sites and ads, it's definitely been useful, just not that useful for code.
Like, I have used some generated code in a very low stakes project (my own Quickshell components) and while it kind of worked, eventually I refactored it myself into 1/3 of the lines it produced and had to squash some bugs.
It's probably good enough for the people who were gluing React components together but it still isn't on the level where I'd put any code it produces into production anywhere I care about.
I find myself, ironically, spending more time typing out great code by hand now. Maybe some energy previously consumed by tedium has been freed up, or maybe the wacky machines brought a bit of the whimsy back into the process for me.
[0] And in programming, for the readers of Zed Shaw's books :)
fact of the matter is, being able to churn out bash oneliners was objectively worth $100k/year, and now it just isnt anymore. knowing the C++ STL inside-out was also worth $200k/year, now it has very questionable utility.
a lot of livelihoods are getting shaken up as programmers get retroactively turned into the equivalent of librarians, whose job is to mechanically index and fetch cognitive assets to and from a digital archive-brain.
I find it unsettling how many people in the comments say that they don't like writing code. Feels aliens to me. We went into this field for seemingly very different reasons.
I do use LLMs and even these past two days I was doing vibe coding project which was noticeably faster to setup and get to its current state than if I wrote in myself. However I feel almost dirty by how little I understand the project. Sure, I know the overall structure, decisions and plan. But I didn't write any of it and I don't have deep understanding of the codebase which I usually have when working on codebase myself.
The craft was dying long before LLMs. Started in dotcom, ZIRP added some beatings, then LLMs are finishing the job.
This is fine, because like in furniture making, the true craftsmen will be even more valuable (overseeing farm automation, high end handmade furniture, small organic farms), and the factory worker masses (ZIRP enabled tech workers) will move on to more fulfulling work.
With woodworking and farming you get as a result some physical goods. Some John Smith that buys furniture can touch nice cherry paneling, appreciate the joinery and grain. With farming you he can taste delicious organic tomatoes and cucumbers, make food with it.
Would this John Smith care at all about how some software is written as long as it does what he wants and it works reliably? I'm not sure.
I think we should move past this quickly. Coding itself is fun but is also labour , building something is the what is rewarding.
It's not even always a more efficient form of labour. I've experienced many scenarios with AI where prompting it to do the right thing takes longer and requires writing/reading more text compared to writing the code myself.
Perhaps people or machines will finally figure out how to make software which actually works without a need to weekly patching
But I am still quite annoyed at the slopful nature of the code that is produced when you're not constantly nagging it to do better
We've RLed it to produce code that works by hook or by crook, putting infinity fallback paths and type casts everywhere rather than checking what the semantics should be.
Sadly I don't know how we RL taste.
Speak for yourself. They produce shit code and have terrible judgment. Otherwise we wouldn't need to babysit them so much.
But software engineering is the only industry that is built on the notion of rapid change, constant learning, and bootstrapping ourselves to new levels of abstraction so that we don't repeat ourselves and make each next step even more powerful.
Just yesterday we were pair programming with a talented junior AI developer. Today we are treating them as senior ones and can work with several in parallel. Very soon your job will not be pair programming and peer reviewing at all, but teaching a team of specialized coworkers to work on your project. In a year or two we will be assembling factories of such agents that will handle the process from taking your requirements to delivering and maintaining complex software. Our jobs are going to change many more times and much more often than ever.
And yet there will still be people finding solace in hand-crafting their tools, or finding novel algorithms, or adding the creativity aspect into the work of their digital development teams. Like people lovingly restoring their old cars in their garage just for the sake of the process itself.
And everything will be just fine.
Not sure I agree. I think most programming today looks almost exactly the same as it did 40 years ago. You could even have gotten away with never learning a new language. AI feels like the first time a large percentage of us may be forced to fundamentally change the way we work or change careers.
Like iambateman said: for me it was never about code. Code was a means to an ends and it didn't stop at code. I'm the kind of software engineer that learned frontends, systems, databases, ETLs, etc -- whatever it was that was that was demanded of me to produce something useful I learned and did it. We're now calling that a "product engineer". The "craft" for me was in creating useful things that were reliable and efficient, not particularly how I styled lines, braces, and brackets. I still do that in the age of AI.
All of this emotional spillage feels for not. The industry is changing as it always has. The only constant I've ever experienced in this industry is change. I realized long ago that when the day comes that I am no longer comfortable with change then that is my best signal that this industry is no longer for me.
It's also important to step back and realize that it goes way beyond coding. Coding is just the deepest tooth of the jagged frontier. In 3 years there will be blog posts lamenting the "death of law firms" and the "death of telemedicine". Maybe in 10 years it will be the death of everything. We're all in the same boat, and this boat is taking us to a world where everyone is more empowered, not less. But still, there will be that cutting edge in any field that will require real ingenuity to push forward.
And you still need plans.
Can you write a plan for a sturdy house, verify that it meets the plan that your nails went all the way in and in the right places?
You sure can.
Your product person, your directors, your clients might be able to do the same thing, it might look like a house but its a fire hazard, or in the case of most LLM generated code a security one.
The problem is that we moved to scrum and agile, where your requirements are pantomime and postit notes if your lucky, interpretive dance if you arent. Your job is figuring out how to turn that into something... and a big part of what YOU as an engineer do is tell other people "no thats dumb" without hurting their feelings.
IF AI coding is going to be successful then some things need to change: Requirements need to make a come back. GOOD UI needs to make a comeback (your dark pattern around cancelation, is now going to be at odds with an agent). Your hide the content behind a login or a pay wall wont work any more because again, end users have access too... the open web is back and by force. If a person can get in, we have code that can get in now.
There is a LOT of work that needs to get done, more than ever, stop looking back and start looking forward, because once you get past the hate and the hype there is a ton of potential to right some of the ill's of the last 20 years of tech.
If you see your job as a "thinking about what code to write (or not)" monkey, then you're safe. I expect most seniors and above to be in this position, and LLMs are absolutely not replacing you here - they can augment you in certain situations.
The perks of a senior is also knowing when not to use an LLM and how they can fail; at this point I feel like I have a pretty good idea of what is safe to outsource to an LLM and what to keep for a human. Offloading the LLM-safe stuff frees up your time to focus on the LLM-unsafe stuff (or just chill and enjoy the free time).
It used to be I didn't mind going through all the meetings, design discussions, debates with PMs, and such because I got to actually code something cool in the end. Now I get to... prompt the AI to code something cool. And that just doesn't feel very satisfying. It's the same reason I didn't want to be a "lead" or "manager", I want to actually be the one doing the thing.
I'm not so confident that it'll only be code monkeys for too long
AI is getting better at picking up some important context from other code or documentation in a project, but it's still miles away from what it needs to be, and the needed context isn't always present.
But I also have no idea how people are going to think about what code to write when they don't write code. Maybe this is all fine, is ok, but it does make me quite nervous!
The bottleneck becomes how fast you can write the spec or figure out what the product should actually be, not how quickly you can implement it.
So the future of our profession looks grim indeed. There will be far fewer of us employed.
I also miss writing code. It was fun. Wrangling the robots is interesting in its own way, but it's not the same. Something has been lost.
I often have one programming project I do myself, on the side, and recently I've been using coding agents. Their average ability is no doubt impressive for what they are. But they also make mistakes that not even a recent CS graduate with no experience would ever make (e.g. I asked the agent for it's guess as to why a test is failing; it suggested it might be due to a race condition with an operation that is started after the failing assertion). As a lead, if someone on the team is capable of making such a mistake even once, then that person can't really code, regardless of their average performance (just as someone who sometimes lands a plane in the wrong airport or even crashes without their being a catastrophich condition outside their control can't really fly regardless of their average performance). "This is more complicated than we though and would take longer than we expected" is something you hear a lot, but "sorry, I got confused" is something you never hear. A report by Anthropic last week said, "Claude will work autonomously to solve whatever problem I give it. So it’s important that the task verifier is nearly perfect, otherwise Claude will solve the wrong problem." Yeah, that's not something a team lead faces. I wish the agent could work like a team of programmers and I would be doing my familiar role of a project lead, but it doesn't.
The models do some things well. I believe that programming is an interesting mix of inductive and deductive thinking (https://pron.github.io/posts/people-dont-write-programs), and the models have the inductive part down. They can certainly understand what a codebase does faster than I can. But their deductive reasoning, especially when it comes to the details, is severely lacking (e.g. I asked the agent to document my code. It very quickly grasped the design and even inferred some important invariants, but when it saw an `assert` in one subroutine it documented it as guarding a certain invariant. The intended invariant was correct, it just wasn't the one the assertion was guarding). So I still (have to) work as a programmer when working with coding assistants, even if in a different way.
I've read about great successes at using coding agents in "serious" software, but what's common to those cases is that the people using the agents (Mitchell Hashimoto, antirez) are experts in the respective codebase. At the other end of the spectrum, people who aren't programmers can get some cool programs done, but I've yet to see anything produced in this way (by a non programmer) that I would call serious software.
I don't know what the future will bring, but at the moment, the craft isn't dead. When AI can really program, i.e. the experience is really like that of a team lead, I don't think that the death of programming would concern us, because once they get to that point, the agents will also likely be able to replace the team lead. And middle management. And the CTO, the CFO, and the CEO, and most of the users.
It gets hard to compare AI to humans. You can ask the AI to do things you would never ask a human to do, like retry 1000 times until it works, or assign 20 agents to the same problem with slightly different prompts. Or re-do the entire thing with different aesthetics.
This is a 100% honest question. Because whatever your justification to this is, it can probably be used for AI programmers using temperature 0.0 as well, just one abstraction level higher.
I'm 100% honestly looking forward to finding a single justification that would not fit both scenarios.
But I've seen this conversation on HN already 100 times.
The answer they always give is that compilers are deterministic and therefore trustworthy in ways that LLMs are not.
I personally don't agree at all, in the sense I don't think that matters. I've run into compiler bugs, and more library bugs than I can count. The real world is just as messy as LLMs are, and you still need the same testing strategies to guard against errors. Development is always a slightly stochastic process of writing stuff that you eventually get to work on your machine, and then fixing all the bugs that get revealed once it starts running on other people's machines in the wild. LLMs don't write perfect code, and neither do you. Both require iteration and testing.
Compiler is your interface.
If you treat LLM as your interface... Well, I wouldn't want sharing codebase with you.
It's not about having abstraction levels above or below (BTW, in 21st century CPUs, the machine code itself is an abstraction over much more complex CPU internals).
It's about writing a more correct, efficient, elegant, and maintainable code at whichever abstraction layer you choose.
AI still writes messier, sloppier, buggier, more redundant code than a good programmer can when they care about the craft of writing code.
The end result is worse to those who care about the quality of code.
We mourn, because the quality we paid so much attention to is becoming unimportant compared to the sheer quantity of throwaway code that can be AI-generated.
We're fine dining chefs losing to factory-produced junk food.
When I write a program, I understand the architecture of the computer, I understand the assembly, I understand the compiler, and I understand the code. There are things that I don't understand, and as I push to understand them, I am rewarded by being able to do more things. In other words, Understanding is both beautiful and incentivized.
When making something with an LLM, I am disincentivized from actually understanding what is going on, because understanding is very slow, and the whole point of using AI is speed. The only time when I need to really understand something is when something goes wrong, and as the tool improves, this need will shrink. In the normal and intended usage, I only need to express a desire to achieve a result. Now, I can push against the incentives of the system. But for one, most people will not do that at all; and for two, the tools we use inevitably shape us. I don't like the shape into which these tools are forming me - the shape of an incurious, dull, impotent person who can only ask for someone else to make something happen for me. Remember, The Medium Is The Message, and the Medium here is, Ask, and ye shall receive.
The fact that AI use leads to a reduction in Understanding is not only obvious, but also studies have shown the same. People who can't see this are refusing to acknowledge the obvious, in my opinion. They wouldn't disagree that having someone else do your homework for you would mean that you didn't learn anything. But somehow when an LLM tool enters the picture, it's different. They're a manager now instead of a lowly worker. The problem with this thinking is that, in your example, moving from say Assembly to C automates tedium to allow us to reason on a higher level. But LLMs are automating reasoning itself. There is no higher level to move to. The reasoning you do now while using AI is merely a temporary deficiency in the tool. It's not likely that you or I are the .01% of people who can create something truly novel that is not already sufficiently compressed into the model. So enjoy that bit of reasoning while you can, o thou Man of the Gaps.
They say that writing is God's way of showing you how sloppy your thinking is. AI tools discourage one from writing. They encourage us to prompt, read, and critique. But this does not result in the same Understanding as writing does. And so our thinking will be, become, and remain vapid, sloppy, inarticulate, invalid, impotent. Welcome to the future.
> why do you not program in assembly?
There's a balance of levels of abstraction. Abstraction is a great thing. Abstraction can make your programs faster, more flexible, and more easy to understand. But abstraction can also make your programs slower, more brittle, and incomprehensible.The point of code is to write specification. That is what code is. The whole reason we use a pedantic and somewhat cryptic schema is that natural language is too abstract. This is the exact reason we created math. It really is even the same reason we created things like "legalese".
Seriously, just try a simple exercise and be adversarial to yourself. Describe how to do something and try to find loopholes. Malicious compliance. It's hard, to defend and writing that spec becomes extremely verbose, right? Doesn't this actually start to become easier by using coding techniques? Strong definitions? Have we not all forgotten the old saying "a computer does exactly what you tell it to, not what you intend to tell it to do"? Vibe coding only adds a level of abstraction to that. It becomes "a computer does what it 'thinks' you are telling it to do, not what you intend to tell it to do". Be honest with yourself, which paradigm is easier to debug?
Natural language is awesome because the abstraction really compresses concepts, but it requires inference of the listener. It requires you to determine what the speaker intends to say rather than what the speaker actually says.
Without that you'd have to be pedantic to even describe something as mundane as making a sandwich[1]. But inference also leads to misunderstandings and frankly, that is a major factor of why we talk past one another when talking on large global communication systems. Have you never experienced culture shock? Never experienced where someone misinterprets you and you realize that their interpretation was entirely reasonable?[2] Doesn't this knowledge also help resolve misunderstandings as you take a step back and recheck assumptions about these inferences?
> using temperature 0.0
Because, as you should be able to infer from everything I've said above, the problem isn't actually about randomness in the system. Making the system deterministic only has one realistic outcome: a programming language. You're still left with the computer doing what you tell it to do, but have made this more abstract. You've only turned it into the PB&J problem[1] and frankly, I'd rather write code than instructions like those kids are. Compared to the natural language the kids are using, code is more concise, easier to understand, more robust, and more flexible.I really think Dijkstra explains things well[0]. (I really do encourage reading the entire thing. It is short and worth the 2 minutes. His remark at the end is especially relevant in our modern world where it is so easy to misunderstand one another...)
The virtue of formal texts is that their manipulations, in order to be legitimate, need to satisfy only a few simple rules; they are, when you come to think of it, an amazingly effective tool for ruling out all sorts of nonsense that, when we use our native tongues, are almost impossible to avoid.
Instead of regarding the obligation to use formal symbols as a burden, we should regard the convenience of using them as a privilege: thanks to them, school children can learn to do what in earlier days only genius could achieve.
[0] https://www.cs.utexas.edu/~EWD/transcriptions/EWD06xx/EWD667...[1] https://www.youtube.com/watch?v=FN2RM-CHkuI
[2] Has this happened to you and you've been too stubborn to realize the interpretation was reasonable?
Your craft is not my craft.
It's entirely possible that, as of now, writing JavaScript and Java frontends (what the author does) can largely be automated with LLMs. I don't know who the author is writing to, but I do not mistake the audience to be "programmers" in general...
If you are making something that exists, or something that is very similar to something that exists, odds are that an LLM can be made to generate code which approximates that thing. The LLM encoding is lossy. How will you adjust the output to recover the loss? What process will you go through mentally to bridge the gap? When does the gap appear? How do you recognize it? In the absolute best case you are given a highly visible error. Perhaps you've even shipped it, and need to provide context about the platform and circumstances to further elucidate. Better hope that platform and circumstance is old-hat.
Mourning the passing of one form of abstraction for another is understandable, but somewhat akin to bemoaning the passing of punch card programming. Sure, why not.
I'll miss it not because the activity becomes obsolete, but because it's much more interesting than sitting till 2am trying to convince LLM to find and fix the bug for me.
We'll still be sitting till 2am.
> They can write code better than you or I can, and if you don’t believe me, wait six months.
I've been hearing this for the last two years. And yet, LLMs, given abstract description of the problem, still write worse code than I do.
Or did you mean type code? Because in that case, yes, I'd agree. They type better.
What I do mourn is the reliability. We're in this weird limbo where it's like rolling a die for every piece of work. If it comes up 1-5, I would have been better off implementing it myself. If it comes up 6, it'll get it done orders of magnitude faster than doing it by hand. Since the overall speedup is worthwhile, I have to try it every time, even if most of the time it fails. And of course it's a moving target, so I have to keep trying the things that failed yesterday because today's models are more capable.
Perhaps Im a cynic but I don't know
When cameras became mainstream, realism in painting went out of fashion, but this was liberating in a way as it made room for many other visual art styles like Impressionism. The future of programming/computing is going to be interesting.
We're 'simply' moving up the abstraction hierarchy again. Good!
I mourn the horse masters and stable boys of a century past because of their craft. Years of intuition and experience.
Why do you watch a chess master play, or a live concert, or any form of human creation?
Should we automate parts of our profession? Yes.
Should he mourn the loss of our craft. Also yes.
Two things are true at the same time, this makes people uneasy.
I mourn having to repeatedly hear this never-quite-true promise that an amazing future of perfect code from agentic whatevers will come to fruition, and it's still just six months away. "Oh yes, we know we said it was coming six, twelve, and eighteen months ago, but this time we pinky swear it's just six months away!"
I remember when I first got access to the internet. It was revolutionary. I wanted to be online all the time, playing games, chatting with friends, and discovering new things. It shaped my desire to study computer science and learn to develop software! I could see and experience the value of the internet immediately. It's utility was never "six months away," and I didn't have to be compelled to use it—I was eager to use it of my own volition as often as possible.
LLM coding doesn't feel revolutionary or exciting like this. It's a mandate from the top. It's my know-nothing boss telling me to "find ways to use AI so we can move faster." It's my boss's know-nothing boss conducting Culture Amp surveys about AI usage, but ignoring the feedback that 95% of Copilot's PR comments are useless noise: "The name of this unit test could be improved." It's waiting for code to be slopped onto my screen, so I can go over it with a fine-toothed comb and find all the bugs—and there are always bugs.
Here's what I hope is six months away: The death of AI hype.
Nobody credible is promising you a perfect future. But, a better future, yes! If you do not see it, then know this. You have your head firmly planted in the sand and are intentionally refusing to see what is coming. You may not like it. You may not want it. But it is coming and you will either have to adapt or become irrelevant.
Does Copilot spit out useless PR comments. 100% yes! Are there tools that are better than Copilot? 100% yes! These tools are not perfect. But even with their imperfections, they are very useful. You have to learn to harness them for their strengths and build processes to address their weaknesses. And yes, all of this requires learning and experimentation. Without that, you will not get good results and you will complain about these tools not being good.
What's much more interesting is looking back 6, 12, 18, or 24 months. 6 months ago was ChatGPT 5, 12 months ago was GPT 4.5, 18 months ago was 4o, and 24 months ago ChatGPT 3.5 was released (the first one). If you've been following closely you'll have seen incredible changes between each of them. Not to get to perfect, because that's not really a reasonable goal, but definite big leaps forward each time. A couple of years ago one-shotting a basic tic tac toe wasn't really possible. Now though, you can one-shot a fairly complex web app. It won't be perfect, or even good by a lot of measures compared to human written software, but it will work.
I think the comparison to the internet is a good one. I wrote my first website in 1997, and saw the rapid iteration of websites and browsers back then. It felt amazing, and fast. AI feels the same to me. But given the fact that browsers still aren't good in a lot of ways I think it's fair to say AI will take a similarly long time. That doesn't mean the innovations along the way aren't freaking cool though.
6 months ago is when my coding became 100% done by AI. The utility already has been there for a while.
>I didn't have to be compelled to use it—I was eager to use it of my own volition as often as possible.
The difference is that you were a kid then with an open mind and now your world view has fixed into a certain way the world works and how things should be done.
Maybe you’re just older.
Then next month, of course, latest thing becomes last thing, and suddenly it's again obvious that actually it didn't quite work.
It's like running on a treadmill towards a dangling carrot or something. It's simultaneously always here in front of our faces but also not here in actual hand, obviously.
The tools are good and improving. They work for certain things, some of the time, with various need for manual stewarding in the hands of people who really know what they're doing. This is real.
But it remains an absolutely epic leap from here to the idea that writing code per se is a skill nobody needs any more.
More broadly, I don't even really understand what that could possibly mean on a practical level, as code is just instructions for what the software should do. You can express instructions on a higher level, and tooling keeps making that more and more possible (AI and otherwise), but in the end what does it mean to abstract fully away from the instruction in the detail? It seems really clear that will never be able to result in getting software that does what you want in a precise way rather than some probabilistic approximation which must be continually corrected.
I think the real craft of software such that there is one is constructing systems of deterministic logic flows to make things happen in precisely the way we want them to. Whatever happens to tooling, or what exactly we call code or whatever, that won't change.
I’ve been programming since 1984.
OP basically described my current role with scary precision.
I mostly review the AI’s code, fix the plan before it starts, and nudge it in the right direction.
Each new model version needs less nudging — planning, architecture, security, all of it.
There’s an upside.
There’s something addictive about thinking of something and having it materialize within an hour.
I can run faster and farther than I ever could before.
I’ve rediscovered that I just like building things — imagining them and watching them come alive — even if I’m not laying every brick myself anymore.
But the pace is brutal.
My gut tells me this window, where we still get to meaningfully participate in the process, is short.
That part is sad, and I do mourn it quite a bit.
If you think this is just hype, you’re doing it wrong.
I have encountered a lot of people say it will be better in six months, and every six months It has been.
I have also seen a few predictions that say 'in a year or two they will be able to do a job completely. I am sceptical, but I would say such claims are rare. Dario Amodei has been about the only prominent voice that I have encountered that puts such abilities on a very short timeframe, and he still points to more than a year.
The practical use of AI has certainly increased a lot in the last six months.
So I guess what I'm asking is more specifics on what you feel was claimed, by whom, and how much did they fall short?
Without that supporting evidence you could just be being annoyed by the failure of claims that exist in your imagination.
> it's still just six months away
Reminds me of another "just around the corner" promise...[0]I think it is one thing for the average person to buy into the promises but I've yet to understand why that happens here. Or why that happens within our community of programmers. It is one thing for non-experts to fall for obtuse speculative claims, but it is another for experts. I'm excited for autonomous vehicles, but in 2016 is was laughable to think they're around the corner and only 10 years later does such a feat seem to start looking like it's actually a few years away.
Why do we only evaluate people/claims on their hits and not their misses? It just encourages people to say anything and everything, because eventually one will be right. It's 6 months away because eventually it will actually be 6 months away. But is it 6 months away because it is actually 6 months away or because we want it to be? I thought the vibe coder's motto is "I just care that it works." Honestly, I think that's the problem. Everyone care's about if it works or not and that's the primary concern of all sides of the conversation here. So is it 6 months away because it is 6 months away or is it 6 months away because you've convinced yourself it is 6 months away. You got good reasons for believing that, you got the evidence, but evidence for a claim is meaningless without comparing to evidence that counters the claim.
[0] https://en.wikipedia.org/wiki/List_of_predictions_for_autono...
I wonder if there are some interesting groupings.
My headspace is now firmly in "great, I'm beginning to understand the properties and affordances of this new medium, how do I maximise my value from it", hopefully there's more than a few people who share this perspective, I'd love to talk with you about the challenges you experience, I know I have mine, maybe we have answers to each others problems :)
I assume that the current set of properties can change, however it seems like some things are going to be easier than others, for example multi modal reasoning still seems to be a challenge and I'm trying to work out if that's just hard to solve and will take a while or if we're not far from a good solution
Mechanising the production of code is good thing. And crafting code as art is a good thing. It is sign of a wider trend that we need to look at these things like adversaries.
I look forward to the code-as-art countermovement. It's gonna be quite something.
I feel generative AI is being imposed onto society. While it is a time-saving tool for many applications, I also think there are many domains where generative AI needs to be evaluated much more cautiously. However, there seems to be relentless pressure to “move fast and break things,” to adopt technology due to its initial labor-saving benefits without fully evaluating its drawbacks. That’s why I feel generative AI is an imposition.
I also resent the power and control that Big Tech has over society and politics, especially in America where I live. I remember when Google was about indexing the Web, and I first used Facebook when it was a social networking site for college students. These companies became successful because they provided useful services to people. Unfortunately, once these companies gained our trust and became immensely wealthy, they started exploiting their wealth and power. I will never forget how so many Big Tech leaders sat at Trump’s second inauguration, some of whom got better seats than Trump’s own wife and children. I highly resent OpenAI’s cornering of the raw wafer market and the subsequent exorbitant hikes in RAM and SSD prices.
Honestly, I have less of an issue with large language models themselves and more of an issue with how a tiny handful of powerful people get to dictate the terms and conditions of computing for society. I’m a kid who grew up during the personal computing revolution, when computation became available to the general public. I fell for the “computers for the rest of us,” “information at your fingertips” lines. I wanted to make a difference in the world through computing, which is why I pursued a research career and why I teach computer science.
I’ve also sat and watched research industry-wide becoming increasingly driven by short-term business goals rather than by long-term visions driven by the researchers themselves. I’ve seen how “publish-and-perish” became the norm in academia, and I also saw DOGE’s ruthless cuts in research funding. I’ve seen how Big Tech won the hearts and minds of people, only for it to leverage its newfound power and wealth to exploit the very people who made Big Tech powerful and wealthy.
The tech industry has changed, and not for the better. This is what I mourn.
My whole life I have been reading other people’s code to accumulate best practices and improve myself. While a lot of developers start with reading documentation, I have always started with reading code.
And where I was previously using the GitHub Code Search to eat up as much example code as I could, I am now using LLMs to speed the whole process up. Enormously. I for one enjoy using it.
That said, I have been in the industry for more than 15 years. And all companies I have been at are full of data silos, tribal knowledge about processes and organically grown infrastructure, that requires careful changes to not break systems you didn’t even know about.
Actually most of my time isn’t put into software development at all. It’s about trying to know the users and colleagues I work with, understand their background and understand how my software supports them in their day to day job.
I think LLMs are very, very impressive, but they have a long way to go to reach empathy.
As an (ex-)programmer in his late 40s, I couldn't agree more. I'm someone who can be detail-oriented (but, I think also with a mind toward practicality) to the point of obsession, and I think this trait served me extremely well for nearly 25 years in my profession. I no longer think that is the case. And I think this is true for a lot of developers - they liked to stress and obsess over the details of "authorship", but now that programming is veering much more towards "editor", they just don't find the day-to-day work nearly as satisfying. And, at least for me, I believe this while not thinking the change to using generative AI is "bad", but just that it's changed the fundamentals of the profession, and that when something dies it's fine to mourn it.
If anything, I'm extremely lucky that my timing was such that I was able to do good work in a relatively lucrative career where my natural talents were an asset for nearly a quarter of a century. I don't feel that is currently the case regarding programming, so I'm fortunate enough to be able to leave the profession and go into violin making, where my obsession with detail and craft is again a huge asset.
That's the future for maybe half of programmers.
Remember, it's only been three years since ChatGPT. This is just getting started.
After ten years of professional coding, LLMs have made my work more fun. Not easier in the sense of being less demanding, but more engaging. I am involved in more decisions, deeper reviews, broader systems, and tighter feedback loops than before. The cognitive load did not disappear. It shifted.
My habits have changed. I stopped grinding algorithm puzzles because they started to feel like practicing celestial navigation in the age of GPS. It is a beautiful skill, but the world has moved on. The fastest path to a solution has always been to absorb existing knowledge. The difference now is that the knowledge base is interactive. It answers back and adapts to my confusion.
Syntax was never the job. Modeling reality was. When generation is free, judgment becomes priceless.
We have lost something, of course. There is less friction now, which means we lose the suffering we often mistook for depth. But I would rather trade that suffering for time spent on design, tradeoffs, and problems that used to be out of reach.
This doesn't feel like a funeral. It feels like the moment we traded a sextant for a GPS. The ocean is just as dangerous and just as vast, but now we can look up at the stars for wonder, rather than just for coordinates.
1. Crafting something beautiful. Figuring out correct abstractions and mapping them naturally to language constructs. Nailing just the right amount of flexibility, scalability and robustness. Writing self-explanatory, idiomatic code that is a pleasure to read. It’s an art.
2. Building useful things. Creating programs that are useful to myself and to others, and watching them bring value to the world. It’s engineering.
These things have utility but they are also enjoyable onto themselves. As best I can tell, your emotional response to coding agents depends on how much you care about these two things.
AI has taken away the joy of crafting beautiful things, and has amplified the joy of building things by more than 10x. Safe bet: It will get to 100x this year.
I am very happy with this tradeoff. Over the years I grew to value building things much more highly. 20yo me would’ve been devastated.
You think its just SWE? It will be accountants, customer service, factory workers, medical assistance basically anyone who doesn't work with their hands directly, and they'll try to solve that here soon too and alienate them too.
Look at who's in charge, do you think they're going to give us UBI? No, they're going to sign us up to go fight wars to help them accumulate resources. Stop supporting this, they're going to make us so poor young men will beg to fight in a war. Its the same playbook from the first half of the 20th Century.
You think I'm paranoid, give it 5 years.
We are at all time high's in the stock market/equities and they've laid off 400k SWE's in the last 16 months. While going on podcasts to tell us we are going to have more time to create and do what we love. We have to work to pay our bills. We don't want whats coming, but they're selling us some lie that this will solve all our problems, it will solve the ruling classes problems that will be it. You will have no bargaining chips and you will be forced to take whatever morsels given to you.
Your competency will be directly correlated 1:1 to the quantity and quality of tokens that you can afford, given access too (or loaned??) We're literally at the beginning of a black mirror episode before it gets dark.
People that grew up in the Capitalist West have been brainwashed since they were 10 years old they they can be a billionaire too, no you can't there's 2k-3k of them and 8 billion of us.
These automation tools are the ultimate weapon for the ruling class to strip all value of you from your labor, and you're embracing that as a miracle. Its not, your life is in the process of being torn of all meaning.
Good luck to everyone who agrees, we're going to need it.. Anyone supporting these companies or helping enhance these model's capabilities, you're a class traitor and soon to be slave.
Required reading: https://archive.nytimes.com/www.nytimes.com/books/97/05/18/r...
The "difficult", "opinionated", "overpaid" maniacs are virtually all gone. That's why such a reckless and delusional idea like "we'll just have agents plan, coordinate, and build complete applications and systems" is able to propagate.
The adults were escorted out of the building. Managements' hatred of real craftspeople is manifesting in the most delusional way yet. And this time, they're actually going to destroy their businesses.
I'm here for it. They're begging to get their market share eaten for breakfast.
Yet I feel much more connected with my old code. I really enjoyed actually writing all that code even though it wasn't the best.
If AI tools had existing 5 years ago when I first started working on this codebase, obviously the code quality would've been much higher. However, I feel like I really loved writing my old code and if given the same opportunity to start over, I would want to rewrite this code myself all over again.
Also, don't forget the things that AI makes possible. It's a small accomplishment, but I have a World of Warcraft AddOn that I haven't touched in more than 10 years. Of course now, it is utterly broken. I pointed ChatGPT at my old code and asked it to update it to "retail" WoW, and it did it. And it actually worked. That's kind of amazing.
> Today, I would say that about 90% of my code is authored by Claude Code. The rest of the time, I’m mostly touching up its work or doing routine tasks that it’s slow at, like refactoring or renaming.
> I see a lot of my fellow developers burying their heads in the sand, refusing to acknowledge the truth in front of their eyes, and it breaks my heart because a lot of us are scared, confused, or uncertain, and not enough of us are talking honestly about it. Maybe it’s because the initial tribal battle lines have clouded everybody’s judgment, or maybe it’s because we inhabit different worlds where the technology is either better or worse (I still don’t think LLMs are great at UI for example), but there’s just a lot of patently unhelpful discourse out there, and I’m tired of it.
https://nolanlawson.com/2026/01/24/ai-tribalism/
If you're responding to this with angry anti-AI rants (or wild AI hype), might want to go read that post.
I have to say this reads a bit hollow to me, and perhaps a little bit shallow.
If the content this guy created could be scraped and usefully regurgitated by an LLM, that same hack, before LLMs, could have simply searched, found the content and still profited off of it nonetheless. And probably could have done so without much more thought than that required to use the LLM. The only real difference introduced by the LLM is that the purpose of the scraping is different than that done by a search engine.
But let's get rid of the loaded term "hack" and be a little less emotional and the complaint. Really the author had published some works and presumably did so that people could consume that content: without first knowing who was going to consume it and for what purpose.
It seems to me what the author is really complaining about is that the reward from the consuming party has been displaced from himself to whoever owns the LLM. The outcome of consumption and use hasn't changed... only who got credit for the original work has.
Now I'm not suggesting that this is an invalid complaint, but trying to avoid saying, "I posted this for my benefit"... be that commercial (ads?) or even just for public recognition...is a bit disingenuous.
If you poured you knowledge, experience, and creativity into some content for others to consume and someone else took that content as their own... just be forthright about what you really lost and don't disparage the consumer. Just because they aren't your "hacks" anymore, but that middlemen are now reaping your rewards.
I could not be having a better time.
I liked coding! It was fun! But I mourned because I felt like I would never get out 1% of the ideas in my head. I was too slow, and working on shit in my free time just takes so much, is so hard, when there's so little fruitful reward at the end of a weekend.
But I can make incredible systems so fast. This is the craft I wanted to be doing. I feel incredibly relieved, feel such enormous weigh lifted, that maybe perhaps some of my little Inland Empire that lives purely in my head might perhaps make it's way to the rest of the world, possibly.
Huge respect for all the sadness and mourning. Yes too to that. But I cannot begin to state how burdened and sad I felt, so unable to get the work done, and it's a total flip, with incredible raw excitement and possibility before me.
That said, software used to reward such obsessive deep following pursuit, such leaning into problems. And I am very worried, long term, what happens to the incredible culture of incredible people working really hard together to build amazing systems.
Sure, maybe it takes me a little while to ride across town on my bike, but I can reliably get there and I understand every aspect of the road to my destination. The bazooka-powered jetpack might get me there in seconds, but it also might fly me across state lines, or to Antarctica, or the moon first, belching out clouds of toxic gas along the way.
I mourn a little bit that in 20 years possibly 50% of software jobs will get axed or unless you are elite/celebrity dev salary will stagnate. I mourn that in the future upward mobility and moving up into upper middle class will be harder without trying to be entrepreneur.
You can use AI to write all your code, but if you want to be a programmer and can't see that the code is pretty mid then you should work on improving your own programming skills.
People have been saying the 6 month thing for years now, and while I do see it improving in breadth, quality/depth still appears to be plateauing.
It's okay if you don't want to be a programmer though, you can be a manager and let AI do an okay job at being your programmer. You better be driven to be a good at manager though. If you're not... then AI can do an okay job of replacing you there too.
Many are calling people like me Luddites for mourning this, and I think that I am prepared to wear that label with pride. I own multiple looms and a spinning wheel, so I think I may be in a better position speculates on how the Luddites felt than most people are nowadays.
And what I see is that the economic realities are what they are - like what happened to cottage industry textile work, making software by hand is no longer the economical option. Or at least, soon enough it won’t be. I can fret about deskilling all I like, but it seems that soon enough these skills won’t be particularly valuable except as a form of entertainment.
Perhaps the coding agents won’t be able to make certain things or use certain techniques. That was the case for textile manufacturing equipment, too. If so then the world at large will simply learn to live without. The techniques will live on, of course, but their practical value will be as an entertainment for enthusiasts and a way for them to recognize one another when we see it in each others’ work.
It’s not a terrible future, I suppose, in à long enough view. The world will move on, just like it did after the Industrial Revolution. But, perhaps also like the Industrial Revolution and other similar points in history, not until after we get through another period where a small cadre of wealthy elites who own and control this new equipment use that power to usher in a new era of neofeudalism. Hopefully this time they won’t start quite so many wars while they enjoy their power trips.
AI has a ways to go before it's senior level if it ever reaches that level, but I do feel bad for juniors that survive this who never will have the opportunity to sculpt code by hand.
Musicians mourned synthesizers. Illustrators mourned Photoshop. Typesetters mourned desktop publishing. In every case the people who thrived weren't the ones who refused the new tool or the ones who blindly adopted it. They were the ones who understood that the tool absorbed the mechanical layer while the taste layer became more valuable, not less.
The real shift isn't from hand-coding to AI-coding. It's from "I express intent through syntax" to "I express intent through constraints and review." That's still judgment. Still craft. Just a different substrate.
What we're actually mourning is the loss of effort as a signal of quality. When anyone can generate working code, the differentiator moves upstream to architecture, to knowing what to build, to understanding why one approach fails at scale and another doesn't. Those are harder skills, not easier ones.
Sure, if you have the money, get a carpenter to build your kitchen from solid oak. Most people buy MDF, or even worse, chipboard. IKEA, etc. In fact, not too long ago, I had a carpenter install prefabricated cabinets in a new utility room. The cabinets were pre-assembled, and he installed them on the wall in the right order and did the detailed fittings. He didn’t do a great job, and I could have done better, albeit much slower. I use handsaws simply because I’m afraid of circular saws, but I digress.
A lot of us here are like carpenters before IKEA and prefabricated cabinets, and we are just now facing a new reality. We scream “it is not the same”. It indeed isn’t for us. But the consumers will get better value for money. Not quality, necessarily, but better value.
How about us? We will eventually be kitchen designers (aka engineers, architects), or kitchen installers (aka programmers). And yes, compared to the golden years, those jobs will suck.
But someone, somewhere, will be making bespoke, luxury furniture that only a few can afford. Or maybe we will keep doing it anyway because our daily jobs suck, until we decide to stop. And that is when the craft will die.
The world will just become less technical, as is the case with other industrial goods. Who here even knows how a combustion engine works? Who knows how fabric is made, or even how a sawing machine works? We are very much like the mechanics of yesteryear before cars became iPads on wheels.
As much as we hate it, we need to accept that coding has peaked. Juniors will be replaced by AI, experts will retire. Innovation will be replaced by processes. And we must accept our place in history.
So if my corporate overlords will have me talk to the soul-less Claude robot all day long in a Severance-style setting, and fix its stupid bugs, but I get to keep my good salary, then I'll shed a small tear for my craft and get back to it. If not... well, then I'll be shedding a lot more tears ... i guess
I’m using a mix of Gemini, grok, and gpt to translate some matlab into c++. It is kinda okay at its job but not great? I am rapidly reading Accelerated C++ to get to the point where I can throw the llm out the window. If it was python or Julia I wouldn’t be using an LLM at all bc I know those languages. AI is barely better than me at C++ because I’m halfway through my first ever book on it. What LLMs are these people using?
The code I’m translating isn’t even that complex - it runs analysis on ecg/ppg data to implement this one dude’s new diagnosis algorithm. The hard part was coming up with the algorithm, the code is simple. And the shit the LLM pours out works kinda okay but not really? I have to do hours of fix work on its output. I’m doing all the hard design work myself.
I fucking WISH I could only work on biotech and research and send the code to an LLM. But I can’t because they suck so I gotta learn how computer memory works so my C++ doesn’t eat up all my pc’s memory. What magical LLMs are yall using??? Please send them my way! I want a free llm therapist and a programmer! What world do you live in?? Let me in!
I think also they tend to be generating non-C++ code where there are more guardrails and less footguns for LLMs to run into. Eg they're generating Javascript or Python or Rust where type systems and garbage collection eliminates entire classes of mistakes that LLMs can run into. I know you said you don't use it for Python because you know the language but even experienced Python devs still see value in LLM-generating Python code.
(But for real, a good test suite seems like a great place to start before letting an LLM run wild... or alternatively just do what you're doing. We definitely respect textbook-readers more than prompters!)
It's not like all of a sudden I'm working 2-3 hours a day. I'm just getting a lot more done.
Perhaps I’m too opinionated / a micromanager.
Dont train your replacements, better yet lets stop using them whenever we can.
I do agree with some of your points, AI may result in a techno-feudalist world and yes as a direct result of "taking humans out of the equation." The solution isn't to be a luddite as you may suggest, it's to take a more proactive role in steering these models.
* People still craft wood furniture from felled trees entirely with hand tools. Some even make money doing it by calling it 'artisanal'. Nothing is stopping anyone from coding in any historical mode they like. Toggle switches, punch cards, paper tape, burning EPROMs, VT100, whatever.
* OP seems to be lamenting he may not be paid as much to expend hours doing "sleepless wrangling of some odd bug that eventually relents to the debugger at 2 AM." I've been there. Sometimes I'd feel mild satisfaction on solving a rat-hole problem but more often, it was significant relief. I never much liked that part of coding and began to see it as a failure mode. I found I got bigger bucks - and had more fun - the better I got at avoiding rat-hole problems in the first place.
* My entire journey creating software from ~1983 to ~2020 was about making a thing that solved someone's problem better, cheaper or faster - and, on a good day, we managed all three at once. At various times I ended up doing just about every aspect of it from low-level coding to CEO and back again, sometimes in the same day. Every role in the journey had major challenges. Some were interesting, a few were enjoyable, but most were just "what had to get done" to drag the product I'd dreamt up kicking and screaming into existence.
* From my first teenage hobby project to my first cassette-tape in-a-baggie game to a $200M revenue SaaS for F100, every improvement in coding from getting a floppy disk drive to an assembler with macros to an 80 column display to version control, new languages, libraries, IDEs and LLMs just helped "making the thing exist" be easier, faster and less painful.
* Eventually, to create even harder, bigger and better things I had to add others coding alongside me. Stepping into the player-coach role amplified my ability to bring new things into existence. It wasn't much at first because I had no idea how to manage programmers or projects but I started figuring it out and slowly got better. On a good day, using an LLM to help me "make the thing exist" feels a lot like when I first started being a player-coach. The frustration when it's 'two steps forward, one back' feels like deja vu. Much like current LLMs, my first part-time coding helpers weren't as good as I was and I didn't yet know how to help them do their best work. But it was still a net gain because there were more of them than me.
* The benefits of having more coders helping me really started paying off once I started recruiting coders who were much better programmers than I ever was. Getting there took a little ego adjustment on my part but what a difference! They had more experience, applied different patterns, knew to avoid problems I'd never seen and started coming up with some really good ideas. As LLMs get better and I get better at helping them help me - I hope that's were we're headed. It doesn't feel directionally different than the turbo-boost from my first floppy drive, macro-assembler, IDE or profiler but the impact is already greater with upside potential that's much higher still - and that's exciting.
Yes, watching an LLM spit out lots of code is for sure mesmerizing. Small tasks usually work ok, code kinda compiles, so for some scenarios it can work out.. BUT anyone serious about software development can see how piece of CRAP the code is.
LLMs are great tools overall, great to bounce ideas, great to get shit done. If you have a side project and no time, awesome.. If your boss/company has a shitty culture and you just want to get the task done, great. Got a mundane coding task, hate coding, or your code wont run in a critical environment? please, LLM that shit over 9000..
Remember though, an LLM is just a predictor, a noisy, glorified text predictor. Only when AI reaches a point of not optimizing for short term gains and has built-in long term memory architecture (similar to humans) AND can produce some linux kernel level code and size, then we can talk..
Overall, I’d say AI tooling has maybe close to doubled the time I spend on PR reviews. More knowledgeable developers do better with these tools but they also fall for the toolings false confidence from time to time.
I worry people are spending less time reading documentation or stepping through code to see how it works out of fear that “other people” are more productive.
The hard part is always the last 20%.
guy who doesn't realize we still use hammers. This article was embarrassing to read.
I might be mistaken, but I bet they said the same when Visual Basic came out.
This is a complaint someone is making about their job propspects thinly wrapped in floral language. I know for some people (it seems especially prominent in Americans I've found) their identity is linked to their job. This is a chance to work on this. You can decouple yourself and redefine yourself as a person.
Who knows? Once you're done you may go write some code for fun again.
from other sources: 6-12 months, by end of 2025, ChatGPT 7.
It's a concern trolling and astroturfing at it best.
One camp of fellow coders who are saying how their productivity grew 100x but we are all doomed, another camp of AI enthusiasts who got ability to deliver products and truly believe in their newly acquired superiority.
It's all either true or false, but if in six months it becomes true, we'll know it, each one of us.
However, if it's all BS and in six months there will be Windows 95 written by LLM but real code still requires organic intelligence, there won't be any accountability, and that's sad.
> Eventually your boss will start asking why you’re getting paid twice your zoomer colleagues’ salary to produce a tenth of the code.
And then I couldn’t relate because no one ever paid me for lines of code. And the hardest programming I ever did was when it took me 2 days to write 2 lines of C code, which did solve a big problem.
I abhorred the LOC success metric because we had to clean up after those who dumped their code diarrhea to fool those who thought every line of code is added value. Not to mention valuing LOC strictly makes you a junior programmer.
E.g. you have to know more to do the following in 2 lines (yes, you can):
‘’’ t = a; a = b; b = a; ‘’’
According to LOC missionaries these 3 lines are more expensive to write and shows that you’re a better programmer than the XOR swap. But it’s actually more expensive to run it than the XOR swap, and it’s more expensive to hire the person who can write the XOR swap. (Not endorsing clever/cryptic code, just making a point about LOC)
So, if the LOC missionaries are out of a job because of LLMs, I will probably celebrate.
Boss that counts LOC will be fired or will bankrupt the company/team.
One of my friend who never lost a touch with coding in hist 30+ years career recently left FAANG and told me it's the best time to realize his dream of building a start up. And it's not because AI can write code for him - it would take him about 12 month to build the system from the ground up manually, but it's the best time because nobody can replicate what he's doing by using AI only. His analogy was "it's like everyone is becoming really good cyclist with electric bikes, even enthusiast cyclists, but you secretly train for Tour de France".
Yes, at least according to ChatGPT:
"Compilers didn’t arrive to universal applause; they arrived into a world where a chunk of programmers absolutely believed the machine could not be trusted to write “real” code—until the productivity wins (and eventually the performance) became undeniable."
Damn that sounds familiar.
I'd probably have way more fun debating LLMs if it wasn't tied to my ability to pay rent, have healthcare, or feel like a valued person contributing something to society. If we had universal healthcare and a federal job guarantee it would probably calm things down.
No the fuck we wont
If the tools get good enough to not need senior oversight, they're good enough to not need junior intermediaries either. The "juniors with jetpacks outpacing seniors" future is unrealistic and unstable—it either collapses into "AI + a few senior architects" or "AI isn't actually that reliable yet."
I’m sure the plan is to create a paperclip maximizing company which is fully AI. And the sea turned salty because nobody remembered how to turn it off.
Why will I miss it? I will be coding my small scripts and tools and hobby projects by hand because there is no deadline attached to them. Hell, I will also tag them as "bespoke hand-crafted free range artisanal" code. There will be a whole hipster category of code that is written as such. And people will enjoy it as they enjoy vinyl records now. Many things would have changed by then but my heart will still be a programmer's heart.
In that analogy that would be picking the right library/framework/service vs. vibe coding it. I do NOT need to write all the code to provide value.
Knowing which tool to use for the task is precisely what requires honing a skill and requires judgement. It's not about how many kilometers you manage to cover.
Things programmers forgot to do before AI started writing a bunch of software:
1. Learn how to review code
Some tools exist, some of them are even quite good! Large organizations have tried to build best practices to balance urgency with correctness, but programmers are still quite bad at this.
2. Compare program A vs program B
In a similar vein, we simply do not know how to measure one program vs another. Or a function against another. Or even one variableName vs another_variable_name.
"It depends" Depends on what? We never sorted this out.
3. Talk to other professions
We are not the first profession forced to coordinate with Automation as a coworker, and we certainly won't be the last. We're not even the first knowledge workers to do so.
How did other laborers deal with this? We don't know because we were busy making websites.
[0]: https://bsky.app/profile/did:plc:wh7bie3ld7bmg3cz76sbjkwj/po...
leetcode, TC farming, praising anti social behavior, ego of devs at companies...
the archetype had to change
How many 6-month periods do we have to go through before we can all admit that this isn't actually the case?
I do feel a kind of personal loss in the sense that society is in the process of stopping to value or admire the design and coding skill I've cultivated since I was 6yo. At the same time, I'm kind of thrilled that I can write a detailed readme.md and tell an agent to "make it so" and I can iterate to a utility program in 20 minutes instead of an hour. When I feel a pit in my stomach is when that utility program uses some framework that I haven't learned, and don't need to because their code worked perfectly the first time. Surely that means I'm going to basically stop learning the details, as the details I've accumulated over my life quickly begin to not matter anymore.
Honestly I'm planning to use AI to make a kick-ass retro development environment a la "Sending Modern Languages Back to 1980s Game Programmers" (https://prog21.dadgum.com/6.html) and spend my retirement having fun in it.
>> spend my retirement having fun in it.
People who have reaped the rewards of their careers tend not to be the ones concerned about their futures. Apathy.
There are some of us who enjoyed the code as a thing to explore. Others here don't seem to like that as much.
The craftspeople doing the other 20% of the code are at the top end of the skill spectrum, but AI is starting from the bottom and working its way up. They should be the least worried about AI taking over their output.
This is like throwing together dozens of stick frame homes that look alike vs. building custom log, brick, or stone houses. No one is going to be tearing down my drywall and marveling at how well the studs are spaced.
And the problem isn't even the Junior Zoomer devs running circles around seniors. It's the CTO or Engineering VP himself disappearing for a few months and single-handedly consolidating a handful of products into a full rewrite for the company, excluding most of their engineering team from the process, and then laying them off after.
The problem is the CEO pretending to be an engineer and thinking they know better because they can write English prompts and spit out a hideous prototype.
The problem is Product Owners using LLMs to "write code" while their engineering team does zero human review before merging it, because their AI tooling was made solely responsible for code quality. If something's broken, just prompt a sloppy fix full of hidden performance and security bugs that the automated code review step missed.
If you think this is hyperbole, I was recently laid off from a company that did exactly the above.
Then in 2027, it will be product owners replacing the entire engineering team, including the CTO, because they made their system too reliable to justify their employment, while the "thinkers" get to build the product, engineers be damned. Why? Because the CEO is a naive, overconfident moron.
People with real skills they acquired over lifetime are no longer shaping business. Reckless efficiency towards being average will rule the day.