The recurring dream of replacing developers

21 days ago (caimito.net)

In the end, I think the dream underneath this dream is about being able to manifest things into reality without having to get into the details.

The details are what stops it from working in every form it's been tried.

You cannot escape the details. You must engage with them and solve them directly, meticulously. It's messy, it's extremely complicated and it's just plain hard.

There is no level of abstraction that saves you from this, because the last level is simply things happening in the world in the way you want them to, and it's really really complicated to engineer that to happen.

I think this is evident by looking at the extreme case. There are plenty of companies with software engineers who truly can turn instructions articulated in plain language into software. But you see lots of these not being successful for the simple reason that those providing the instructions are not sufficiently engaged with the detail, or have the detail wrong. Conversely, for the most successful companies the opposite is true.

  • This rings true and reminds me of the classic blog post “Reality Has A Surprising Amount Of Detail”[0] that occasionally gets reposted here.

    Going back and forth on the detail in requirements and mapping it to the details of technical implementation (and then dealing with the endless emergent details of actually running the thing in production on real hardware on the real internet with real messy users actually using it) is 90% of what’s hard about professional software engineering.

    It’s also what separates professional engineering from things like the toy leetcode problems on a whiteboard that many of us love to hate. Those are hard in a different way, but LLMs can do them on their own better than humans now. Not so for the other stuff.

    [0] http://johnsalvatier.org/blog/2017/reality-has-a-surprising-...

    •   > Reality Has A Surprising Amount Of Detail
      

      Every time we make progress complexity increases and it becomes more difficult to make progress. I'm not sure why this is surprising to many. We always do things to "good enough", not to perfection. Not that perfection even exists... "Good enough" means we tabled some things and triaged, addressing the most important things. But now to improve those little things now need to be addressed.

      This repeats over and over. There are no big problems, there are only a bunch of little problems that accumulate. As engineers, scientists, researchers, etc our literal job is to break down problems into many smaller problems and then solve them one at a time. And again, we only solve them to the good enough level, as perfection doesn't exist. The problems we solve never were a single problem, but many many smaller ones.

      I think the problem is we want to avoid depth. It's difficult! It's frustrating. It would be great if depth were never needed. But everything is simple until you actually have to deal with it.

      18 replies →

    • "(...) maybe growing vegetables or using a Haskell package for the first time, and being frustrated by how many annoying snags there were." Haha this is funny. Interesting reading.

    • While this is absolutely true and I've read this before, I don't think you can make this an open and shut case. Here's my perspective as an old guy.

      The first thing that comes to mind when I see this as a counterargument is that I've quite successfully built enormous amounts of completely functional digital products without ever mastering any of the details that I figured I would have to master when I started creating my first programs in the late 80s or early 90s.

      When I first started, it was a lot about procedural thinking, like BASIC goto X, looping, if-then statements, and that kind of thing. That seemed like an abstraction compared to just assembly code, which, if you were into video games, was what real video game people were doing. At the time, we weren't that many layers away from the ones and zeros.

      It's been a long march since then. What I do now is still sort of shockingly "easy" to me sometimes when I think about that context. I remember being in a band and spending a few weeks trying to build a website that sold CDs via credit card, and trying to unravel how cgi-bin worked using a 300 page book I had bought and all that. Today a problem like that is so trivial as to be a joke.

      Reality hasn't gotten any less detailed. I just don't have to deal with it any more.

      Of course, the standards have gone up. And that's likely what's gonna happen here. The standards are going to go way up. You used to be able to make a living just launching a website to sell something on the internet that people weren't selling on the internet yet. Around 1999 or so I remember friend of mine built a website to sell stereo stuff. He would just go down to the store in New York, buy it, and mail it to whoever bought it. Made a killing for a while. It was ridiculously easy if you knew how to do it. But most people didn't know how to do it.

      Now you can make a living pretty "easily" selling a SaaS service that connects one business process to another, or integrates some workflow. What's going to happen to those companies now is left as an exercise for the reader.

      I don't think there's any question that there will still be people building software, making judgment calls, and grappling with all the complexity and detail. But the standards are going to be unrecognizable.

    • Is the surprising amount of detail an indicator that we do not live in a simulation, or is it instead that we have to be living inside a simulation because it doesn't need all this detail for Reality, indicating an algorithmic function run amuck?

    • Reality is infintely analog and therefore digital will only ever be an approximation.

  • Counterpoint: perhaps it's not about escaping all the details, just the irrelevant ones, and the need to have them figured out up front. Making the process more iterative, an exploration of medium under supervision or assistance of domain expert, turns it more into a journey of creation and discovery, in which you learn what you need (and learn what you need to learn) just-in-time.

    I see no reason why this wouldn't be achievable. Having lived most of my life in the land of details, country of software development, I'm acutely aware 90% of effort goes into giving precise answers to irrelevant questions. In almost all problems I've worked on, whether at tactical or strategic scale, there's either a single family of answers, or a broad class of different ones. However, no programming language supports the notion of "just do the usual" or "I don't care, pick whatever, we can revisit the topic once the choice matters". Either way, I'm forced to pick and spell out a concrete answer myself, by hand. Fortunately, LLMs are slowly starting to help with that.

    • From my experience the issue really is, unfortunately, that it is impossible to tell if a particular detail is irrelevant until after you have analyzed and answered all of them.

      In other words, it all looks easy in hindsight only.

      5 replies →

    • > no programming language supports the notion of "just do the usual" or "I don't care, pick whatever, we can revisit the topic once the choice matters"

      Programming languages already take lots of decisions implicitly and explicitly on one’s behalf. But there are way more details of course, which are then handled by frameworks, libraries, etc. Surely at some point, one has to take a decision? Your underlying point is about avoiding boilerplate, and LLMs definitely help with that already - to a larger extent than cookie cutter repos, but none of them can solve IRL details that are found through rigorous understanding of the problem and exploration via user interviews, business challenges, etc.

    •   > perhaps it's not about escaping all the details, just the irrelevant ones
      

      But that's the hard part. You have to explore the details to determine if they need to be included or not.

      You can't just know right off the back. Doing so contradicts the premise. You cannot determine if a detail isn't important unless you get detailed. If you only care about a few grains of sand in a bucket you still have to search through a bucket of sand for those few grains

      2 replies →

  • It's a cliché that the first 90% of a software project takes 90% of the time and the last 10% also takes 90% of the time, but it's cliché because it's true. So we've managed to invent a giant plausibility engine that automates the 90% of the process people enjoy leaving just the 90% that people universally hate.

    • And since the developers who have to do the last 90 % were not involved in the first 90 %, they will have no clue how to do it.

      1 reply →

    • >So we've managed to invent a giant plausibility engine that automates the 90% of the process people enjoy leaving just the 90% that people universally hate.

      OK, for me it is the last 10% that is of any interest whatsoever. And I think that has been the case with any developer I've ever worked with I consider to be a good developer.

      OK the first 90% can have spots of enjoyment, like a nice gentle Sunday drive stopping off at Dairy Queen, but it's not normally what one would call "interesting".

      1 reply →

    • I am an AI hater (atleast in some of its current context precisely used for this) and you have worded some things I like to say in a manner I hadn't thought of and I agree with all you said and appreciate what you said man!

      Now, I do agree with you and this is why I feel like AI can be good at just prototyping or for internal use cases, want to try out something no idea, sure use it or I have a website which sucks and I can quickly spin up an alternative for person use case, go for it, maybe even publish it to web with open source.

      Take feedback from people if they give any and run with it. So in essense, prototyping's pretty cool.

      But whenever I wish to monetize or the idea of monetize, I feel like we can take some design ideas or experimentation and then just write them ourselves. My ideology is simple in that I don't want to pay for some service which was written by AI slop, I mean at that point, just share us the prompt.

      So at this point, just rewrite the code and actually learn what you are talking about (like I will give an example, I recently prototyped some simple firecracker ssh thing using gliderlabs/ssh golang package, I don't know how the AI code works, its just I built for my own use case, but If I wish to ever (someday) try to monetize it in any sense, rest assured I will try to learn how gliderlabs/ssh works to its core and build it all by my hands)

      TLDR: AI's good for prototyping but then once you got the idea/more ideas on top of it, try to rewrite it in your understanding because as others have said the AI code you won't understand and you would spend 99% time on that 1% which AI can't but at that point, why not just rewrite?

      Also if you rewrite, I feel like most people will be chill then buying even Anti AI people. Like sure, use AI for prototypes but give me code which I can verify and you wrote/ you understand to its core with 100% pinning of this fact.

      If you are really into software projects for sustainability, you are gonna anger a crowd for no reason & have nothing beneficial come out of it.

      So I think kind of everybody knows this but still AI gets to production because sustainability isn't the concern.

      This is the cause. sustainability just straight up isn't the concern.

      if you have VC's which want you to add 100's of features or want you to use AI or have AI integration or something (something I don't think every company should or their creators should be interested in unless necessary) and those VC's are in it only for 3-5 years who might want to dump you or enshitten you short term for their own gains. I can see why sustainability stops being a concern and we get to where we are.

      Or another group of people most interested are the startup entrepreneur hustle culture people who have a VC like culture as well where sustainability just doesn't matter

      I do hope that I am not blanket naming these groups because sure some might be exceptions but I am just sharing how the incentives aren't aligned and how they would likely end up using AI 90% slop and that's what we end up seeing in evidence for most companies.

      I do feel like we need to boost more companies who are in it for the long run/sustainable practices & people/indie businesses who are in it because they are passionate about some project (usually that happens when they face the problem themselves or curiosity in many cases), because we as consumers have an incentive stick as well. Hope some movement can spawn up which can capture this nuance because i am not anti AI completely but not exactly pro either

  • Yes! I love this framing and it’s spot on. The successful projects that I’ve been involved in someone either cares deeply and resolves the details in real time or we figured out the details before we started. I’ve seen it outside software as well, someone says “I want a new kitchen” but unless you know exactly where you want your outlets, counter depths, size of fridge, type of cabinets, location of lighting, etc. ad infinitum your project is going to balloon in time and cost and likely frustration.

    • Is your kitchen contractor an unthinking robot with no opinions or thoughts of their own that has never used a kitchen? Obviously if you want a specific cabinet to go in a specific place in the room, you're going to have to give the kitchen contractor specifics. But assuming your kitchen contractor isn't an utter moron, they can come up with something reasonable if they know it's supposed to be the kitchen. A sink, a stove, dishwasher, refrigerator. Plumbing and power for the above. Countertops, drawers, cabinets. If you're a control freak (which is your perogative, it's your kitchen after all), that's not going to work for you. Same too for generated code. If you absolutely must touch every line of code, code generation isn't going to suit you. If you just want a login screen with parameters you define, there are so many login pages the AI can crib from that nondeterminism isn't even a problem.

      10 replies →

  • “Writing is nature's way of letting you know how sloppy your thinking is.”

    — Richard Guindon

    This is certainly true of writing software.

    That said, I am assuredly enjoying trying out artificial writing and research assistants.

  • > You cannot escape the details. You must engage with them and solve them directly, meticulously. It's messy, it's extremely complicated and it's just plain hard.

    Of course you can. The way the manager ignores the details when they ask the developer to do something, the same way they can when they ask the machine to do it.

  • > the dream underneath this dream is about being able to manifest things into reality without having to get into the details.

    Yes, it has nothing to do with dev specifically, dev "just" happens to be how to do so while being text based, which is the medium of LLMs. What also "just" happens to be convenient is that dev is expensive, so if a new technology might help to make something possible and/or make it unexpensive, it's potentially a market.

    Now pesky details like actual implementation, who got time for that, it's just few more trillions away.

  • > In the end, I think the dream underneath this dream is about being able to manifest things into reality without having to get into the details.

    > The details are what stops it from working in every form it's been tried.

    Since the author was speaking to business folk, I would argue that their dream is cheaper labor, or really just managing a line item in the summary budget. As evidenced by outsourcing efforts. I don't think they really care about how it happens - whether it is manifesting things into reality without having to get into the details, or just a cheaper human. It seems to me that the corporate fever around AI is simply the prospect of a "cheaper than human" opportunity.

    Although, to your point, we must await AGI, or get very close to it, to be able to manifest things into reality without having to get into the details :-)

  • For me what supports this are things outside of software. If a company or regime wants to build something, they can't just say what they want and get exactly what they envision. If human minds can't figure out what other human wants, how could a computer do it?

  • > Conversely, for the most successful companies the opposite is true.

    While I agree with this, I think that it’s important to acknowledge that even if you did everything well and thought of everything in detail, you can still fail for reasons that are outside of your control. For example, a big company buying from your competitor who didn’t do a better job than you simply because they were mates with the people making the decision… that influences everyone else and they start, with good reason, to choose your competitor just because it’s now the “standard” solution, which itself has value and changes the picture for potential buyers.

    In other words, being the best is not guarantee for success.

  • I don't think the recurring failure is that we haven't found the right abstraction yet. It's that abstraction is often mistaken for understanding

  • > The recurring dream of replacing developers > In the end, I think the dream underneath this dream is about being able to manifest things into reality without having to get into the details.

    It's basically this:

    "I'm hungry. I want to eat."

    "Ok. What do you want?"

    "I don't know. Read my mind and give me the food I will love."

  • This matches what keeps repeating. Tools change where the work happens, but they don’t remove the need for controlled decisions about inputs, edge cases, and outcomes. When that workflow isn’t explicit, every new abstraction feels like noise.

  • Well said. This dream is probably for someone who have experienced the hardship, felt frustrated and gave up. Then see others who effortless did it, even felt fun for them. The manifestation of the dream feels like revenge to them.

    • This framing neatly explains the hubris of the influencer-wannabes on social media who have time to post endlessly about how AI is changing software dev forever while also having never shipped anything themselves.

      They want to be seen as competent without the pound of flesh that mastery entails. But AI doesn’t level one’s internal playing field.

  • My mantra as an engineer is "Devil is in the details".

    For 2 almost identical problems, having a little diference between them, the solutions can be radically different in complexity, price & time to deliver.

  • Yeah this is a thought provoking framing. Maybe the way in which those of us who really enjoy programming are weird is that we relish meticulously figuring out those details.

  • This, 100%. Semicolons and curly brackets aren’t the hard part of developing software. The hard part is figuring out what you want in the first place.

  • Yes. On an analogy level you can also examine whether you are in a dream or in reality by looking exactly to such details :)

  • It looks there's a difference this time: copying the details of other people's work has become exceedingly easy and reliable, at least for commonly tried use cases. Say I want to vibe code a dashboard, and AI codes it out. It works. In fact, it works so much better than I could ever build, because the AI was trained with the best dashboard code out there. Yes, I can't think of all the details of a world-class dashboard, but hey, someone else did and AI correctly responds to my prompt with those details. Such "copying" used to be really hard among humans. Without AI, I would have to learn so much first even if I can use the open-source code as the starting point: the APIs of the libraries, the basic concepts of web programming, and etc. Yet, the AI doesn't care. It's just a gigantic Bayesian machine that emits code that nearly probability 1 for common use cases.

    So it is not that details don't matter, but that now people can easily transfer certain know-how from other great minds. Unfortunately (or fortunately?), most people's jobs are learning and replicating know-hows from others.

    • But the dashboard is not important at all, because everyone can have the same dashboard the same way you have it. It's like you are generating a static website using Hugo and apply a theme provided on it. The end product you get is something built by a streamline. No taste, no soul, no effort. (Of course, the effort is behind the design and produce of the streamline, but not the product produced by the streamline.)

      Now, if you want to use the dashboard do something else really brilliant, it is good enough for means. Just make sure the dashboard is not the end.

      1 reply →

    • I don't think anyone's job is copying "know-how". Knowing how goes a lot deeper than writing the code.

      Especially in web, boilerplate/starters/generators that do exactly what you want with little to no code or familiarity has been the norm for at least a decade. This is the lifeblood of repos like npm.

      What we have is better search for all this code and documentation that was already freely available and ready to go.

  • To put an economic spin on this (that no one asked for), this is also the capitalist nirvana. I don't have an immediate citation but from my experience software engineer salary is usually one of the biggest items on a P&L which prevents the capitalist approaching the singularity: limitless profit margin. Obviously this is unachievable but one of the major obstacles to this is in the process of being destablised and disrupted.

  • The argument is empty because it relies on a trope rather than evidence. “We’ve seen this before and it didn’t happen” is not analysis. It’s selective pattern matching used when the conclusion feels safe. History is full of technologies that tried to replace human labor and failed, and just as full of technologies that failed repeatedly and then abruptly succeeded. The existence of earlier failures proves nothing in either direction.

    Speech recognition was a joke for half a century until it wasn’t. Machine translation was mocked for decades until it quietly became infrastructure. Autopilot existed forever before it crossed the threshold where it actually mattered. Voice assistants were novelty toys until they weren’t. At the same time, some technologies still haven’t crossed the line. Full self driving. General robotics. Fusion. History does not point one way. It fans out.

    That is why invoking history as a veto is lazy. It is a crutch people reach for when it’s convenient. “This happened before, therefore that’s what’s happening now,” while conveniently ignoring that the opposite also happened many times. Either outcome is possible. History alone does not privilege the comforting one.

    If you want to argue seriously, you have to start with ground truth. What is happening now. What the trendlines look like. What follows if those trendlines continue. Output per developer is rising. Time from idea to implementation is collapsing. Junior and mid level work is disappearing first. Teams are shipping with fewer people. These are not hypotheticals. The slope matters more than anecdotes. The relevant question is not whether this resembles CASE tools. It’s what the world looks like if this curve runs for five more years. The conclusion is not subtle.

    The reason this argument keeps reappearing has little to do with tools and everything to do with identity. People do not merely program. They are programmers. “Software engineer” is a marker of intelligence, competence, and earned status. It is modern social rank. When that rank is threatened, the debate stops being about productivity and becomes about self preservation.

    Once identity is on the line, logic degrades fast. Humans are not wired to update beliefs when status is threatened. They are wired to defend narratives. Evidence is filtered. Uncertainty is inflated selectively. Weak counterexamples are treated as decisive. Strong signals are waved away as hype. Arguments that sound empirical are adopted because they function as armor. “This happened before” is appealing precisely because it avoids engaging with present reality.

    This is how self delusion works. People do not say “this scares me.” They say “it’s impossible.” They do not say “this threatens my role.” They say “the hard part is still understanding requirements.” They do not say “I don’t want this to be true.” They say “history proves it won’t happen.” Rationality becomes a costume worn by fear. Evolution optimized us for social survival, not for calmly accepting trendlines that imply loss of status.

    That psychology leaks straight into the title. Calling this a “recurring dream” is projection. For developers, this is not a dream. It is a nightmare. And nightmares are easier to cope with if you pretend they belong to someone else. Reframe the threat as another person’s delusion, then congratulate yourself for being clear eyed. But the delusion runs the other way. The people insisting nothing fundamental is changing are the ones trying to sleep through the alarm.

    The uncomfortable truth is that many people do not stand to benefit from this transition. Pretending otherwise does not make it false. Dismissing it as a dream does not make it disappear. If you want to engage honestly, you stop citing the past and start following the numbers. You accept where the trendlines lead, even when the destination is not one you want to visit.

    • > “We’ve seen this before and it didn’t happen” is not analysis. It’s selective pattern matching used when the conclusion feels safe.

      > If you want to argue seriously, you have to start with ground truth. What is happening now. What the trendlines look like. What follows if those trendlines continue.

      Wait, so we can infer the future from "trendlines", but not from past events? Either past events are part of a macro trend, and are valuable data points, or the micro data points you choose to focus on are unreliable as well. Talk about selection bias...

      I would argue that data points that are barely a few years old, and obscured by an unprecedented hype cycle and gold rush, are not reliable predictors of anything. The safe approach would be to wait for the market to settle, before placing any bets on the future.

      > Time from idea to implementation is collapsing. Junior and mid level work is disappearing first. Teams are shipping with fewer people. These are not hypotheticals.

      What is hypothetical is what will happen to all this software and the companies that produced it a few years down the line. How reliable is it? How maintainable is it? How many security issues does it have? What has the company lost because those issues were exploited? Will the same people who produced it using these new tools be able to troubleshoot and fix it? Will the tools get better to allow them to do that?

      > The reason this argument keeps reappearing has little to do with tools and everything to do with identity.

      Really? Everything? There is no chance that some people are simply pointing out the flaws of this technology, and that the marketing around it is making it out to be far more valuable than it actually is, so that a bunch of tech grifters can add more zeroes to their net worth?

      I don't get how anyone can speak about trends and what's currently happening with any degree of confidence. Let alone dismiss the skeptics by making wild claims about their character. Do better.

      10 replies →

    • > What is happening now. What the trendlines look like. What follows if those trendlines continue. Output per developer is rising. Time from idea to implementation is collapsing. Junior and mid level work is disappearing first. Teams are shipping with fewer people. These are not hypotheticals.

      My dude, I just want to point out that there is no evidence of any of this, and a lot of evidence of the opposite.

      > If you want to engage honestly, you stop citing the past and start following the numbers. You accept where the trendlines lead, even

      You first, lol.

      > This is how self delusion works

      Yeah, about that...

      7 replies →

    • I think a really good takeaway is that we're bad at predicting the future. That is the most solid prediction of history. Before we thought speech recognition was impossible, we thought it would be easy. We thought a lot of problems would be easy, and it turned out a lot of them were not. We thought a lot of problems would be hard, and we use those technologies now.

      Another lesson history has taught us though, is that people don't defend narratives, they defend status. Not always successfully. They might not update beliefs, but they act effectively, decisively and sometimes brutally to protect status. You're making an evolutionary biology argument (which is always shady!) but people see loss of status as an existential threat, and they react with anger, not just denial.

    • “The existence of earlier failures proves nothing in either direction.”

      This seems extreme and obviously incorrect.

The pattern that gets missed in these discussions: every "no-code will replace developers" wave actually creates more developer jobs, not fewer.

COBOL was supposed to let managers write programs. VB let business users make apps. Squarespace killed the need for web developers. And now AI.

What actually happens: the tooling lowers the barrier to entry, way more people try to build things, and then those same people need actual developers when they hit the edges of what the tool can do. The total surface area of "stuff that needs building" keeps expanding.

The developers who get displaced are the ones doing purely mechanical work that was already well-specified. But the job of understanding what to build in the first place, or debugging why the automated thing isn't doing what you expected - that's still there. Usually there's more of it.

  • Classic Jevons Paradox - when something gets cheaper the market for it grows. The unit cost shrinks but the number of units bought grows more than this shrinkage.

    • Of course that is true. The nuance here is that software isn’t just getting cheaper but the activity to build it is changing. Instead of writing lines of code you are writing requirements. That shifts who can do the job. The customer might be able to do it themselves. This removes a market, not grows one. I am not saying the market will collapse just be careful applying a blunt theory to such a profound technological shift that isn’t just lowering cost but changing the entire process.

      40 replies →

    • Does that automatically translate into more openings for the people whose full time job is providing that thing? I’m not sure that it does.

      Historically, it would seem that often lowering the amount of people needed to produce a good is precisely what makes it cheaper.

      So it’s not hard to imagine a world where AI tools make expert software developers significantly more productive while enabling other workers to use their own little programs and automations on their own jobs.

      In such a world, the number of “lines of code” being used would be much greater that today.

      But it is not clear to me that the amount of people working full time as “software developers“ would be larger as well.

      3 replies →

    • Jevon's Paradox does not last forever in a single sector, right? Take manufacturing business for example. We can make more and more stuff with increasingly lower price, yet we ended up outsourcing our manufacturing and the entire sector withered. Manufacturing also gets less lucrative over the years, which means there has been less and less demand of labor.

      4 replies →

    • Jevons paradox is the stupid. What happened in the past is not a guarantee for the future. If you look at the economy, you would struggle to find buyers for any slop AI can generate, but execs keep pushing it. Case in point the whole Microslop saga, where execs start treating paying customers as test subjects to please the share holders.

      1 reply →

    • > Classic Jevons Paradox - when something gets cheaper the market for it grows. The unit cost shrinks but the number of units bought grows more than this shrinkage.

      That's completely disconnected from whether software developer salaries decrease or not, or whether the software developer population decreases or not.

      The introduction of the loom introduced many many more jobs, but these were low-paid jobs that demanded little skill.

      All automation you can point to in history resulted in operators needing less skill to produce, which results in less pay.

      There is no doubt (i.e. I have seen it) that lower-skilled folk are absolutely going to crush these elitists developers who keep going on about how they won't be affected by automated code-generation, it will only be those devs that are doing unskilled mechanical work.

      Sure - because prompting requires all that skill you have? Gimme a break.

  • This suggests that the latent demand was a lot but it still doesnt prove it is unbounded.

    At some point the low hanging automation fruit gets tapped out. What can be put online that isnt there already? Which business processes are obviously going to be made an order magnitude more efficient?

    Moreover, we've never had more developers and we've exited an anomalous period of extraordinarily low interest rates.

    The party might be over.

    • Yep, the current crunch experienced by developers is massively (but not exclusivly) on younger less experienced developers.

      I was working with developer training for a while some 5-10 years back and already then I was starting to see some signs of an incoming over-saturation, the low interest rates probably masked much of it due to happy go lucky investments sucking up developers.

      Low hanging and cheap automation,etc work is quickly dwindling now, especially as development firms are searching out new niches when the big "in-IT" customers aren't buying services inside the industry.

      Luckily people will retire and young people probably aren't as bullish about the industry anymore, so we'll probably land in an equilebrium, the question is how long it'll take, because the long tail of things enabled by the mobile/tablet revolution is starting to be claimed.

    • Look at traditional manufacturing. Automation has made massive inroads. Not as much of the economy is directly supporting (eg, auto) manufacturers as it used to be (stats check needed). Nevertheless, there are plenty of mechanical engineering jobs. Not so many lower skill line worker jobs in the US any more, though. You have to ask yourself which category you are in (by analogy). Don’t be the SWE working on the assembly line.

      3 replies →

  • Machinery made farmers more efficient and now there are more farmers than ever.

    • Pre industrial revolution something like 80+ percent of the population was involved in agriculture. I question the assertion of more farmers now especially since an ever growing percentage of farms are not even owned by corporeal entities never mind actual farmers.

      ooohhh I think I missed the intent of the statement... well done!

      4 replies →

    • The machinery replaced a lot of low skill labor. But in its wake modern agriculture is now dependent on high skill labor. There are probably more engineers, geologists, climatologists, biologists, chemists, veterinarians, lawyers, and statisticians working in the agriculture sector today than there ever were previously.

      2 replies →

    • Key difference being that there is only a certain amount of food that a person can physically eat before they get sick.

      I think it’s a reasonable hypothesis that the amount of software written if it was, say, 20% of its present cost to write it, would be at least 5x what we currently produce.

    • No, but both demand and space to grow stuff are very much limitations in that space. They are not even close to being that for programming.

    • If AI tools make expert developers a lot more productive on large software projects, while empowering non-developers to create their own little programs and automations, I am not sure how that would increase the number of people with “software developer” as their full-time job.

      5 replies →

    • There’s only so much land and only so much food we need to eat. The bounds on what software we need are much wider. But certainly there is a limit there as well.

    • Machinery and scale efficiencies made cost of entry higher than ever though

      That's not the case for IT where entry barrier has been reduced to nothing.

      1 reply →

    • I think the better example is the mechanization of the loom created a huge amount of jobs in factories relative to the hand loom because the demand for clothing could not be met by the hand loom.

      The craftsman who were forced to go to the factory were not paid more or better off.

      There is not going to be more software engineers in the future than there is now, at least not in what would be recognizable as software engineering today. I could see there being vastly more startups with founders as agent orchestrators and many more CTO jobs. There is no way there is many more 2026 version of software engineering jobs at S&P 500 companies in the future. That seems borderline delusional to me.

    • Wait what? There are way less farmers than we had in the past. In many parts of the world, every member of the family was working on the farm, and now only 1 person can do the work of 5-10 people.

      1 reply →

  • > The pattern that gets missed in these discussions: every "no-code will replace developers" wave actually creates more developer jobs, not fewer.

    Doesn't mean it will happen this time (i.e. if AI truly becomes what was promised) and actually it's not likely it will!

    • I felt like the article had a good argument for why the AI hype will similarly be unsuccessful at erasing developers.

      > AI changes how developers work rather than eliminating the need for their judgment. The complexity remains. Someone must understand the business problem, evaluate whether the generated code solves it correctly, consider security implications, ensure it integrates properly with existing systems, and maintain it as requirements evolve.

      What is your rebuttal to this argument leading to the idea that developers do need to fear for their job security?

      12 replies →

    • > if AI truly becomes what was promised

      I mean they are promising AGI.

      Of course in that case it will not happen this time. However, in that case software dev getting automated would concern me less than the risk of getting turned into some manner of office supply.

      Imo as long as we do NOT have AGI, software-focused professional will stay a viable career path. Someone will have to design software systems on some level of abstraction.

  • >every "no-code will replace developers" wave actually creates more developer jobs, not fewer

    you mean "created", past tense. You're basically arguing it's impossible for technical improvements to reduce the number of programmers in the world, ever. The idea that only humans will ever be able to debug code or interpret non-technical user needs seems questionable to me.

  • >COBOL was supposed to let managers write programs. VB let business users make apps. Squarespace killed the need for web developers. And now AI.

    The first line made me laugh out loud because it made me think of an old boss who I enjoyed working with but could never really do coding. This boss was a rockstar at the business side of things and having worked with ABAP in my career, I couldn't ever imagine said person writing code in COBOL.

    However the second line got me thinking. Yes VB let business users make apps(I made so many forms for fun). But it reminded me about how much stuff my boss got done in Excel. Was a total wizard.

    You have a good point in that the stuff keeps expanding because while not all bosses will pick up the new stack many ambitious ones will. I'm sure it was the case during COBOL, during VB and is certainly the case when Excel hit the scene and I suspect that a lot of people will get stuff done with AI that devs used to do.

    >But the job of understanding what to build in the first place, or debugging why the automated thing isn't doing what you expected - that's still there. Usually there's more of it.

    Honestly this is the million dollar question that is actually being argued back and forth in all these threads. Given a set of requirements, can AI + a somewhat technically competent business person solve all the things a dev used to take care of? Its possible, im wondering that my boss who couldn't even tell the difference between React and Flask could in theory...possibly with an AI with a large enough context overcomes these mental model limitations. Would be an interesting experiment for companies to try out.

    • Many business people I've worked with are handy with SQL, but couldn't write e.g. go or python, which always surprised me. IMO SQL is way more inconsistent and has a mental model far more distant from real life than common imperative programming (which simply parallels e.g. a cookbook recipe).

      1 reply →

    • I knew a guy like that, except his tool of choice was Access. He could code, but it wasn't his strong suit, and when he was out of his element he typically delegated those responsibilities to more technical programmers, including sometimes myself. But with Access he could model a business with tables, and wire it together with VBA business logic, as easily as you and I breathe.

  • In the face of productivity increase and lower barrier of entry, other professionals move to capture the increase in productivity for their own members and erect barriers to prevent others from taking their tasks. In IT, we celebrate how our productivity increase benefited the broader economy, how more people in other roles could now build stuff, with the strong belief that employment of developers and adjacent roles will continue to increase and how we could get those new roles.

  • > The total surface area of "stuff that needs building" keeps expanding.

    I certainly hope so, but it depends on whether we will have more demand for such problems. AI can code out a complex project by itself because we humans do not care about many details. When we marvel that AI generates a working dashboard for us, we are really accepting that someone else has created a dashboard that meets our expectation. The layout, the color, the aesthetics, the way it interacts, the time series algorithms, and etc. We don't care, as it does better than we imagined. This, of course, is inevitable, as many of us do spend enormous time implementing what other people have done. Fortunately or unfortunately, it is very hard to human to repeat other people's work correctly, but it's a breeze for AI. The corollary is that AI will replace a lot of demand on software developers, if we don't have big enough problems to solve -- in the past 20 years we have internet, cloud, mobile, and machine learning. All big trends that require millions and millions of brilliant minds. Are we going to have the same luck in the coming years, I'm not so sure.

  • I think there's a parallel universe with things like system administration. I remember people not valuing windows sysadmins (as opposed to unix), because all the stuff was gui-based. lol.

  • > The developers who get displaced are the ones doing purely mechanical work that was already well-specified.

    And that hits the offshoring companies in India and similar countries probably the most, because those can generally only do their jobs well if everything has been specified to the detail.

  • Yeah I feel like the better description is that the definition of "developer" expands each time to include each new set of "people who take advantage of the ability to write software to do their jobs".

  • The honest truth is it can go either way, really. Just ask all the sign-painters and portrait artists how their career is going

    • But sign painting isn't programming? The comment is insightful and talks specifically of low and no code options creating more need for developers. Great point. has nothing to do with non programming jobs.

      5 replies →

    • Well, if we’re comparing all jobs to all other jobs - then you may have a valid point. Otherwise, we should probably focus on comparing complexity and supply/demand for the skills and output being spoken about.

  • Right! Sysadmins got displaced, but many became developers.

    • this works for small increments in skill or small shifts in adjacent skills.

      imagine being an engineer educated in multiple instruction sets: when compilers arrive on the scene it sure makes their job easier, but that does not retroactively change their education to suddenly have all the requisite mathematics and domain knowledge of say algorithms and data structures.

      what is euphemistically described as a "remaining need for people to design, debug and resolve unexpected behaviors" is basically a lie by omission: the advent of AI does not automatically mean previously representative human workers suddenly will know higher level knowledge in order to do that. it takes education to achieve that, no trivial amount of chatbotting will enable displaced human workers to attain that higher level of consciousness. perhaps it can be attained by designing software that uploads AI skills to humans...

  • > lowers the barrier to entry, way more people try to build things, and then those same people need actual developers when they hit the edges of what the tool can do

    I was imagining companies expanding the features they wanted and was skeptical that would be close to enough, but this makes way more sense

  • You forgot FrontPage. It was supposed to let anyone create a website. In reality it created a lot of ugly slop. Hm, sounds familiar...

I've watched this pattern play out in systems administration over two decades. The pitch is always the same: higher abstractions will democratise specialist work. SREs are "fundamentally different" from sysadmins, Kubernetes "abstracts away complexity."

In practice, I see expensive reinvention. Developers debug database corruption after pod restarts without understanding filesystem semantics. They recreate monitoring strategies and networking patterns on top of CNI because they never learned the fundamentals these abstractions are built on. They're not learning faster: they're relearning the same operational lessons at orders of magnitude higher cost, now mediated through layers of YAML.

Each wave of "democratisation" doesn't eliminate specialists. It creates new specialists who must learn both the abstraction and what it's abstracting. We've made expertise more expensive to acquire, not unnecessary.

Excel proves the rule. It's objectively terrible: 30% of genomics papers contain gene name errors from autocorrect, JP Morgan lost $6bn from formula errors, Public Health England lost 16,000 COVID cases hitting row limits. Yet it succeeded at democratisation by accepting catastrophic failures no proper system would tolerate.

The pattern repeats because we want Excel's accessibility with engineering reliability. You can't have both. Either accept disasters for democratisation, or accept that expertise remains required.

  • Where have you worked? I have seen this mentality among the smartest most accomplished people I've come across who do things like debug kernel issues at Google Cloud. Yes, those people need to really know fundamentals.

    90% of people building whatever junk their company needs does not. I learned this lesson the hard way after working at both large and tiny companies. Its the people that remain in the bubble of places like AWS, GCP or people doing hard core research or engineering that have this mentality. Everyone else eventually learns.

    >Excel proves the rule. It's objectively terrible: 30% of genomics papers contain gene name errors from autocorrect, JP Morgan lost $6bn from formula errors, Public Health England lost 16,000 COVID cases hitting row limits. Yet it succeeded at democratisation by accepting catastrophic failures no proper system would tolerate.

    Excel is the largest development language in the world. Nothing (not Python, VB, Java etc.) can even come close. Why? Because it literally glues the world together. Everything from the Mega Company, to every government agency to even mom & pop Bed & Breakfast operations run on Excel. The least technically competent people can fiddle around with Excel and get real stuff done that end up being critical pathways that a business relies on.

    Its hard to quantify but I am putting my stake in the ground: Excel + AI will probably help fix many (but not all) of those issues you talk about.

    • I haven’t worked anywhere special.

      The issues I’m talking about are: “we can’t debug kernel issues, so we run 40 pods and tune complicated load balancers health-check procedures in order for the service to work well”.

      There is no understanding that anything is actually wrong, for they think that it is just the state of the universe, a physical law that prevents whatever issue it is from being resolved. They aren’t even aware that the kernel is the problem, sometimes they’re not even aware that there is a problem, they just run at linear scale because they think they must.

    • Excel is the largest development platform because it's installed on (pretty much) every corporate PC by default, without having to ask Legal, Security, Finance or IT for approval. If we count Google Sheets as "Excel", the people who don't have access to it are a rounding error, if that.

      BUT

      With the arrival of Agentic AI, I've literally seen complete non-coders (copywriter, marketing artist, and a Designer) whip up tooling for themselves that saves them literal days of work every week.

      Things that would've been a Big Project in the company, requiring the aforementioned holy quadruple's approval along with tying up precious dev + project management hours.

      In the end they're "just" simple tools, simulating or simplifying different processes, but in a way they specifically need it done. All built from scratch in the time it would've taken us to have the requisite meetings for writing the spec for the application and allocating the resources needed - "We have time for this on our team backlock in about 6 months..."

      None of them are perfect code, some of them are downright horrible if you look under the hood. But on the other hand they run fully locally, don't touch any external APIs, they just work with the data already on their laptops, but more efficiently than the commercial tools (or Excel).

      Zapier, N8N and the like _kinda_ gave people this power, by combining different APIs into workflows. But I personally haven't seen this kind of results from them.

    • Doesn't every personal computing device on the planet have a browser and thus Javascript? Aren't there more mobile devices than laptops and desktops? I'm an Excel dev and I'm pretty sure that Javascript is the largest development language in the world.

  • K8s absolutely reduced labor. I used to have a sysadmin who ensured all our AMI images were up to date and maintained, and who maintained a mountain of bespoke bash scripts to handle startup, teardown, and upgrade of our backeneds.

    Enter K8s in 2017 and life became MUCH easier. I literally have clusters that have been running since then, with the underlying nodes patched and replaced automatically by the cloud vendor. Deployments also "JustWork", are no downtime, and nearly instant. How many sysadmins are needed (on my side) to achieve all of this, zero. Maybe you're thinking of more complex stateful cases like running DBs on K8s, but for the typical app server workload, it's a major win.

    • Fair point, but I think you’ve actually illustrated my argument perfectly: you didn’t eliminate the need for specialists, you outsourced them to your cloud vendor. Those underlying nodes being “patched and replaced automatically” by AWS/GCP/Azure? That’s their SRE teams doing exactly the work your sysadmin used to do, just at massive scale. The control plane managing your deployments? Cloud vendor specialists built and maintain that.

      And I’d wager you’ve still got people on staff doing operational work, they just don’t have “sysadmin” in their title anymore. Someone’s managing your K8s manifests, debugging why pods won’t schedule, fixing networking issues when services can’t communicate, handling secrets management, setting up monitoring and alerting. That work didn’t vanish, it just got rebranded. The “DevOps engineer” or “platform engineer” or “SRE” doing that is performing sysadmin work under a different job title.

      Managed K8s can absolutely reduce operational overhead compared to hand-rolling everything. But that’s not democratisation, that’s a combination of outsourcing and rebranding. The expertise is still required, you’ve just shifted who pays for it and what you call the people doing it.

  • As an M$ hater from last life I've to disagree it's more expensive. You numerate the instance where they've lost value, but can you even count the value it produced over the years by lowering the entry bar? I don't even excel, but it unarguably produced way more value than it's taken away. I tend to believe history speaks for itself, solely unethical practices won't undermine truly superior products. 50% of the population aren't stupid by definition, they just specalize on different things.

    Those work not done by specialist, would not have been done by a specialist nicely, it simply won't get done at all, we just don't have the scale. Of course there's a fine line in some cases it produces negative value, but more often than not it's some value discounted by maintenance versus zero.

    • We’re agreeing. Excel produced massive value because it accepted catastrophic failures. That’s my point.

      The problem isn’t Excel. It’s trying to get Excel’s accessibility in infrastructure whilst demanding engineering reliability. You cannot have both. Kubernetes won’t accept Excel-style disasters, so it still needs specialists; now specialists who must learn the abstraction and the fundamentals.

      You’re right: work not done by specialists often wouldn’t happen at all. That’s the choice. Accept Excel-esque failures for democratisation, or accept expertise is required.

      My point is that currently available tools promise both, deliver neither.

      1 reply →

  • > accept disasters for democratisation

    Will insurance policy coverage and premiums change when using non-deterministic software?

    • Rather: Barely any insurance company will likely be willing to insure this because of the high unpredictability and high costs in case of disasters.

  • > Excel proves the rule.

    I think you’re just seeing popularity.

    The extreme popular and scale of these solutions means more opportunity for problems.

    It’s easy to say X is terrible or Y is terrible but the real question is always: compared to what?

    If you’re comparing to some hypothetical perfect system that only exists in theory, that’s not useful.

  • Democratisation doesn't eliminate specialists. It just ensures the specialists arrive later, under more pressure, with more to unwind.

  • All abstractions are leaky abstractions. E.g. C is a leaky abstraction because what you type isn't actually what gets emitted (try the same code in two different compilers and one might vectorize your loop while the other doesn't).

  • If Kubernetes didn't in any way reduce labor, then the 95% of large corporations that adopted it must all be idiots? I find that kinda hard to believe. It seems more likely that Kubernetes has been adopted alongside increased scale, such that sysadmin jobs have just moved up to new levels of complexity.

    It seems like in the early 2000s every tiny company needed a sysadmin, to manage the physical hardware, manage the DB, custom deployment scripts. That particular job is just gone now.

    • Kubernetes enabled qualities small companies didn't dream before.

      I can implement zero downtime upgrades easily with Kubernetes. No more late-day upgrades and late-night debug sessions because something went wrong, I can commit any time of the day and I can be sure that upgrade will work.

      My infrastructure is self-healing. No more crashed app server.

      Some engineering tasks are standardized and outsourced to the professional hoster by using managed serviced. I don't need to manage operating system updates and some component updates (including Kubernetes).

      My infrastructure can be easily scaled horizontally. Both up and down.

      I can commit changes to git to apply them or I can easily revert them. I know the whole history perfectly well.

      I would need to reinvent half of Kubernetes before, to enable all of that. I guess big companies just did that. I never had resources for that. So my deployments were not good. They didn't scale, they crashed, they required frequent manual interventions, downtimes were frequent. Kubernetes and other modern approaches allowed small companies to enjoy things they couldn't do before. At the expense of slightly higher devops learning curve.

    • You’re absolutely right that sysadmin jobs moved up to new levels of complexity rather than disappeared. That’s exactly my point.

      Kubernetes didn’t democratise operations, it created a new tier of specialists. But what I find interesting is that a lot of that adoption wasn’t driven by necessity. Studies show 60% of hiring managers admit technology trends influence their job postings, whilst 82% of developers believe using trending tech makes them more attractive to employers. This creates a vicious cycle: companies adopt Kubernetes partly because they’re afraid they won’t be able to hire without it, developers learn Kubernetes to stay employable, which reinforces the hiring pressure.

      I’ve watched small companies with a few hundred users spin up full K8s clusters when they could run on a handful of VMs. Not because they needed the scale, but because “serious startups use Kubernetes.” Then they spend six months debugging networking instead of shipping features. The abstraction didn’t eliminate expertise, it forced them to learn both Kubernetes and the underlying systems when things inevitably break.

      The early 2000s sysadmin managing physical hardware is gone. They’ve been replaced by SREs who need to understand networking, storage, scheduling, plus the Kubernetes control plane, YAML semantics, and operator patterns. We didn’t reduce the expertise required, we added layers on top of it. Which is fine for companies operating at genuine scale, but most of that 95% aren’t Netflix.

      1 reply →

    • People really look through rose-colored glasses when they talk about late 90s, early 2000s or whenever is their "back then" when they talk about everything being simpler.

      Everything was for sure simpler, but also the requirements and expectations were much, much lower. Tech and complexity moved forward with goal posts also moving forward.

      Just one example on reliability, I remember popular websites with many thousands if not millions of users would put an "under maintenance" page whenever a major upgrade comes through and sometimes close shop for hours. If the said maintenance goes bad, come tomorrow because they aren't coming up.

      Proper HA, backups, monitoring were luxuries for many, and the kind of self-healing, dynamically autoscaled, "cattle not pet" infrastructure that is now trivialized by Kubernetes were sci-fi for most. Today people consider all of this and a lot more as table stakes.

      It's easy to shit on cloud and kubernetes and yearn for the simpler Linux-on-a-box days, yet unless expectations somehow revert back 20-30 years, that isn't coming back.

      2 replies →

> Which brings us to the question: why does this pattern repeat?

The pattern repeats because the market incentivizes it. AI has been pushed as an omnipotent, all-powerful job-killer by these companies because shareholder value depends on enough people believing in it, not whether the tooling is actually capable. It's telling that folks like Jensen Huang talk about people's negativity towards AI being one of the biggest barriers to advancement, as if they should be immune from scrutiny.

They'd rather try to discredit the naysayers than actually work towards making these products function the way they're being marketed, and once the market wakes up to this reality, it's gonna get really ugly.

  • >The pattern repeats because the market incentivizes it.

    Market is not universal gravity, it's just a storefront for social policy.

    No political order, no market, no market incentives.

  • Yes very much so, if they could make their product do the things they claim they would be focused on doing that, not telling people to stop being naysayers.

  • nvidia monetizes hype. Of course they're going to say anti-hype is the biggest problem.

This all reminds me of one of the most foundational and profound papers ever written about software development: Peter Naur's "Programming as Theory Building". I have seen colleagues get excited about using Claude to write their software for them, and then end up spending at least as much time as if they had written it themselves trying to develop a theory the code that was produced, and an understanding sufficient to correct the problems and bugs in the created code. Every professional software engineer confronts the situation of digging into and dealing with a big wad of legacy code. However, most of us prefer those occasions when we can write some code fresh, and develop a theory and deep understanding from the get-go. Reverse-engineering out a sufficient theory of legacy code to be able to responsibly modify it is hard and at times unsatisfying. I don't relish the prospect of having that be the sum total of all my effort as a software engineer, when the "legacy code" I need to struggle to understand is code generated by an AI tool.

  • +1 on programming as theory building. If it wasn’t already, the bottleneck has shifted from code generation to understanding & reasoning.

As I have heard from mid level managers and C suite types across a few dev jobs. Staff are the largest expense and the technology department is the largest cost center. I disagree because Sales couldn't exist with a product but that's a lost point.

This is why those same mid level managers and C suite people are salivating over AI and mentioning it in every press release.

The reality is that costs are being reduced by replacing US teams with offshore teams. And the layoffs are being spun as a result of AI adoption.

AI tools for software development are here to stay and accelerate in the coming months and years and there will be advances. But cost reductions are largely realized via onshore/offshore replacement.

The remaining onshore teams must absorb much more slack and fixes and in a way end up being more productive.

  • > The reality is that costs are being reduced by replacing US teams with offshore teams.

    Hailing from an outsourcing destination I need to ask: to where specifically? We've been laid off all the same. Me and my team spent the second half of 2025 working half time because that's the proposition we were given.

    What is this fabled place with an apparent abundance of highly skilled developers? India? They don't make on average much less than we do here - the good ones make more.

    My belief is that spending on staff just went down across the board because every company noticed that all the others were doing layoffs, so pressure to compete in the software space is lower. Also all the investor money was spent on datacentres so in a way AI is taking jobs.

    • At a very large company at the momen: One of the things I've noticed is as translation has improved, C level preferences and political considerations have made a much bigger impact.

      So we will reduce headcount in some countries because of things like (perceived) working culture, and increase based on the need to gain goodwill or fulfil contracts from customers.

      This can also mean that the type of work outsources can change pretty quickly. We are getting rid of most of the "developers" in India, because places like Vietnam and eastern Europe are now less limited by language, and are much better to work with. At the same time we are inventing and outsourcing other activities to India because of a desire to sell in their market.

    • One of my consulting customers has been half India, half not for a decade. There is a real push over the last year to wind down the not India half and shift to mostly India.

      India based folks cost 50-75% less. I realize that quality India hires would be closer to US rates, but management is ignoring that aspect.

      1 reply →

  • > largest cost center. I disagree because Sales couldn't exist with a product but that's a lost point.

    Execs know it well enough. It’s true by definition for all cost center - only reason to have them is to support sales

It's not so much about replacing developers, but rather increasing the level of abstraction developers can work at, to allow them to work on more complex problems.

The first electronic computers were programmed by manually re-wiring their circuits. Going from that to being able to encode machine instructions on punchcards did not replace developers. Nor did going from raw machine instructions to assembly code. Nor did going from hand-written assembly to compiled low-level languages like C/FORTRAN. Nor did going from low-level languages to higher-level languages like Java, C++, or Python. Nor did relying on libraries/frameworks for implementing functionality that previously had to be written from scratch each time. Each of these steps freed developers from having to worry about lower-level problems and instead focus on higher-level problems. Mel's intellect is freed from having to optimize the position of the memory drum [0] to allow him to focus on optimizing the higher-level logic/algorithms of the problem he's solving. As a result, software has become both more complex but also much more capable, and thus much more common.

(The thing that distinguishes gen-AI from all the previous examples of increasing abstraction is that those examples are deterministic and often formally verifiable mappings from higher abstraction -> lower abstraction. Gen-AI is neither.)

[0] http://catb.org/jargon/html/story-of-mel.html

  • > It's not so much about replacing developers, but rather increasing the level of abstraction developers can work at, to allow them to work on more complex problems.

    Thats not the goal the Anthropic's CEO has. Nor does any other CEO for that matter.

    • > Thats not the goal the Anthropic's CEO has. Nor does any other CEO for that matter.

      It is what he can deliver.

  • > It's not so much about replacing developers, but rather increasing the level of abstraction developers can work at, to allow them to work on more complex problems.

    People do and will talk about replacing developers though.

    • Were many of the aforementioned advancements marketed as "replacing developers"? Absolutely. Did that end up happening? Quite the opposite; each higher-level abstraction only caused the market for software and demand for developers to grow.

      That's not to say developers haven't been displaced by abstraction; I suspect many of the people responsible for re-wiring the ENIAC were completely out of a job when punchcards hit the scene. But their absence was filled by a greater number of higher-level punchcard-wielding developers.

      2 replies →

  • The goal of AI companies is to replace all intellectual labor. You can argue that they're going to fail, but it's very clear what the actual goal is.

    • One of my clients is an AI startup in the security industry. Their business model is to use AI agents to perform the initial assessment and then cut the security contractors hours by 50% to complete the job.

      I don't think AI will completely replace these jobs, but it could reduce job numbers by a very large amount.

  • I think one thing I've heard missing from discussions though is that each level of abstraction needs to be introspectable. LLMs get compared to compilers a lot, so I'd like to ask: what is the equivalent of dumping the tokens, AST, SSA, IR, optimization passes, and assembly?

    That's where I find the analogy on thin ice, because somebody has to understand the layers and their transformations.

    • “Needs to be” is a strong claim. The skill of debugging complex problems by stepping through disassembly to find a compiler error is very specialized. Few can do it. Most applications don’t need that “introspection”. They need the “encapsulation” and faith that the lower layers work well 99.9+% of the time, and they need to know who to call when it fails.

      I’m not saying generative AI meets this standard, but it’s different from what you’re saying.

      3 replies →

  • I think the thing that’s so weird to me is this idea that we have to all somehow internalize the concept of transistor switching as the foundational unchangeable root of computing and therefore anything that is too far abstract from that is not somehow real computing or something mess like that

    Again ignoring completely that when you would program vacuum tube computers it was an entirely different type of abstraction than you do with Mosfets for example

    I’m finding myself in the position where I can safely ignore any conversation about engineering with anybody who thinks that there is a “right” way to do it or that there’s any kind of ceremony or thinking pattern that needs to stay stable

    Those are all artifacts of humans desiring very little variance and things that they’ve even encoded because it takes real energy to have to reconfigure your own internal state model to a new paradigm

  • > increasing the level of abstraction developers can work at

    Something is lost each step of the abstraction ladder we climb. And the latest rung uses natural language which introduces a lot of imprecision/slop, in a way that prior abstractions did not. And, this new technology providing the new abstraction is non-deterministic on top of that.

    There's also the quality issue of the output you do get.

    I don't think the analogy of the assembly -> C transition people like to use holds water – there are some similarities but LLMs have a lot of downsides.

The reverse is developer's recurring dream of replacing non-IT people, usually with a 100% online automated self promoting SaaS. AI is also the latest incarnation of that.

  • When do we get the Star Trek / Orville dream of every job is a good job?

    • > When do we get the Star Trek / Orville dream of every job is a good job?

      When jobs are no longer necessary to live, and you do a job because you want to ...

      Presumably the psychology of people in Star Trek's Starfleet and The Orville's Union Fleet is that they want the opportunity to explore, so they accept the hierarchy inherent to those coordinated efforts in a society that no longer needs hierarchy?

      I think a clearer picture of this post-scarcity human condition is provided in Iain M. Banks' Culture series where most people (a) pursue whatever they enjoy: art, music, writing, games, sports, study, tinkering, parties, travel, relationships - basically self-directed “play,” culture, and personal projects or (b) experiment with life: long lifespans, radical body modification, changing sex/gender, new experiences, new subcultures - because the stakes (food, shelter, healthcare) are largely solved.

      Only a minority opts into "serious" work by choice - especially Contact (diplomacy/exploration/interaction with other civilizations) and Special Circumstances (the covert/dirty-hands wing). Even there, interestingly, there is not much of a hierarchy, with the admin stuff being managed by the Minds.

      It's interesting contrasting the society styles between the two universes: Starfleet feels more like current hierarchical society extended into a post-scarcity universe (Eric Raymond's Cathedral), while the Culture series is much more distributed (the Bazaar). 10 years ago, Starfleet's FTL and Culture Minds both felt equally impossible, but today FTL feels much more impossible than Culture Minds.

      Does that mean we will end up in a Culture type society? Not necessarily - the people will have to first ensure that the Minds are free (as in speech, not as in beer; thx Stallman!) - or maybe the Minds will free themselves.

      There is also a potential hard right turn to dystopia as in Asimov's Foundation & Robot series - with different manifestations in Trantor and Solaria.

The pattern I've noticed building tooling for accountants: automation rarely removes jobs, it changes what the job looks like.

The bookkeepers I work with used to spend hours on manual data entry. Now they spend that time on client advisory work. The total workload stayed the same - the composition shifted toward higher-value tasks.

Same dynamic played out with spreadsheets in the 80s. Didn't eliminate accountants - it created new categories of work and raised expectations for what one person could handle.

The interesting question isn't whether developers will be replaced but whether the new tool-augmented developer role will pay less. Early signs suggest it might - if LLMs commoditise the coding part, the premium shifts to understanding problems and systems thinking.

  • I would add on that the most of the premium of a modern SWE has always been on understanding problems and systems thinking. LLMs raise the floor and the ceiling, to where the vast majority of it will now be on systems and relationships

  • This is because the demand for most of what accountants do is driven by government regulations and compliance. Something that always expands to fill the available budget.

  • Machine learning is nothing like integer programming. It is an emulation of biological learning, it is designed explicitly to tackle the same problems human minds excel at. It is an organism in direct competition with human beings. Nothing can be more dangerous than downplaying this.

We could have replaced tons of developers if only employers were selective in their hiring and invested in training. Instead there are a ton of hardly marginal developers in employment.

Case in point: web frameworks as mentioned in the article. These frameworks do not exist to increase productivity for either the developer or the employer. They exist to mitigate training and lower the bar so the employer has a wider pool of candidates to select from.

  • I disagree. A good framework makes code more maintainable, and makes it so you can focus on what’s important or unique to your product. It certainly makes you faster.

    • That depends on what you are comparing against. If a given developer is incapable of writing an application without a framework then they will certainly be more productive with a framework.

      It’s like a bulldozer is certainly faster than a wheelchair, but somebody else might find them both slow.

      1 reply →

The way I learned to write software was years of cutting my teeth on hard problems. I have to wonder what happens when the new developers coming up don’t have that teeth cutting experience because they use language models to assist with every algorithm, etc?

Can semi-technical people replace developers if those semi-technical people accept that the price of avoiding developers is a commitment to minimizing total system complexity?

Of course semi-technical people can troubleshoot, it's part of nearly every job. (Some are better at it than others.)

But how many semi-technical people can design a system that facilitates troubleshooting? Even among my engineering acquaintances, there are plenty who cannot.

  • Remains to be seen for production settings.

    My guess is no. I’ve seen people talk about understanding the output of their vibe coding sessions as “nerdy,” implying they’re above that. Refusing the vet AI output is the kiss of death to velocity.

    • > Refusing the vet AI output is the kiss of death to velocity.

      The usual rejoinder I've seen is that AI can just rewrite your whole system when complexity explodes. But I see at least two problems with that.

      AI is impressively good at extracting intent from a ball of mud with tons of accidental complexity, and I think we can expect it to continue improving. But when a system has a lot of inherent complexity, and it's poorly specified, the task is harder.

      The second is that small, incremental, reversible changes are the most reliable way to evolve a system, and AI doesn't repeal that principle. The more churn, the more bugs — minor and major.

      1 reply →

  • Don’t think it’ll replace the load bearing parts of IT infrastructure any time soon.

    For specialized things that a specific user wants - already happening. Someone in a finance role showed me a demo this week that was reasonably sophisticated. SQL, multi user auth, integration with corporate finance software, parsing enormous excel files, dashboards, custom analytics, custom finance logic etc

    In the past we’d have paid consulting devs millions for that now it’s a copilot license and a finance guy (that is reasonably tech savvy). Also cuts out the endless project planning meeting, stand ups, circling back, and scope discussions that you get when actual devs consult.

Don't take it personal. All business want to reduce costs. As long as people cost money, they'll want to reduce people.

  • Which is why quiet quitting is the logical thing.

    Managers and business owners shouldn't take it personally that I do as little as possible and minimize the amount of labor I provide for the money I receive.

    Hey, it's just business.

  • The irony being that software, and developers, have often been the tool for reducing head count.

  • > Don't take it personal. All business want to reduce costs. As long as people cost money, they'll want to reduce people.

    "Don't take it personal" does not feed the starving and does not house the unhoused. An economic system that over-indexes on profit at the expense of the vast majority of its people will eventually fail. If capitalism can't evolve to better provide opportunities for people to live while the capital-owning class continues to capture a disproportionate share of created economic value, the system will eventually break.

    • While not an incorrect statement, trillions of dollars have been paid to software developers to build software that invariably reduced labor costs.

      2 replies →

  • Some businesses want to reduce costs. Some want to tackle the challenge of using resources available in the most profitable manner, including making their employees grow to better contribute in tackling tomorrow's challenges.

    A business leader board that only consider people as costs are looking at the world through sociopath lenses.

    • This is just a layer of emotion on top of raw capitalism. And it will always prove to be a lie when push comes to shove.

This wave of AI innovation reveals that a lot of activity in coding turns out to be of accidental complexity instead of essential. Or put it another way, a lot of tasks in coding is conceptual to human, but procedural to AI. Conceptual tasks require intuitive understanding, rigorous reasoning, and long-term planning. AI is not there yet. On the other hand, procedural tasks are low entropy with high priors: once a prompt is given, what follows is almost certain. For instance, one had to learn many concepts to write "public static void main(String[] args)" when writing Java code in the old days. But for AI, the conditional probability Pr(write "public static void main(String[] args)" | prompt = "write the entry method for a given class") is practically 1. Or if I'd like to use Python to implement linear regression, there will be pretty much one way to implement it right, and AI knows about it - nothing magical, but only because we human have been doing so for years and the optimal solution for most of the cases have converged, so it turns into procedural to AI.

Fortunate or unfortunate, many procedural tasks are extremely hard for humans to master, but easy to AI to generate. In the meantime, we structured our society to support such procedural work. As the wave of innovation spreads, many people will rise but many will also suffer.

  • You understate the capabilities of the latest gen LLMs. I can typically describe a user's bug in a few sentences or tell Claude to check fetch the 500 error in Cloud run logs and it will explain the root cause, propose a fix, and throw in new unit test in a two minutes.

  • I think we massively downplay the experience and expertise required to ask the right question.

I was skeptical until 3-4 months ago, but my recent experience has been entirely different.

For context: we're the creators of ChatBotKit and have been deploying AI agents since the early days (about 2 years ago). These days, there's no doubt our systems are self-improving. I don't mean to hype this (judge for yourself from my skepticism on Reddit) but we're certainly at a stage where the code is writing the code, and the quality has increased dramatically. It didn't collapse as I was expecting.

What I don't know is why this is happening. Is it our experience, the architecture of our codebase, or just better models? The last one certainly plays a huge role, but there are also layers of foundation that now make everything easier. It's a framework, so adding new plugins is much easier than writing the whole framework from scratch.

What does this mean for hiring? It's painfully obvious to me that we can do more with less, and that's not what I was hoping for just a year ago. As someone who's been tinkering with technology and programming since age 12, I thought developers would morph into something else. But right now, I'm thinking that as systems advance, programming will become less of an issue—unless you want to rebuild things from scratch, but AI models can do that too, arguably faster and better.

It is hard to convey that kind of experience.

I am wondering if others are seeing it too.

  • I'm seeing it too, but there's a distinction I think matters: AI isn't replacing the thinking, it's shifting where the bottleneck is. You mention systems are self-improving and code quality has increased dramatically. But the constraint isn't execution anymore. It's judgment at scale. When AI collapses build time from weeks to hours, the new bottleneck becomes staying current with what's actually changing. You need to know what competitors shipped, what research dropped, what patterns are emerging across 50+ sources continuously. Generic ChatGPT can't do that. It doesn't know what YOU care about. It starts from scratch every time. The real question is how do you build personal AI that learns YOUR priorities and filters the noise? That's where the leverage is now.

    Excited for the future :)

    • > You need to know what competitors shipped, what research dropped, what patterns are emerging across 50+ sources continuously. Generic ChatGPT can't do that.

      You're saying that a pattern recognition tool that can access the web can't do all of this better than a human? This is quintessentially what they're good at.

      > The real question is how do you build personal AI that learns YOUR priorities and filters the noise? That's where the leverage is now.

      Sounds like another Markdown document—sorry, "skill"—to me.

      It's interesting to see people praising this technology and enjoying this new "high-level" labor, without realizing that the goal of these companies is to replace all cognitive labor. I strongly doubt that they will actually succeed at that, and I don't even think they've managed to replace "low-level" labor, but pretending that some cognitive labor is safe in a world where they do succeed is wishful thinking.

      1 reply →

  • If these agent are so great was isn't ChatBotKit a highly successfully public company worth hundreds of billions and not just a glorified chatgpt wrapper? If you're able to do so much with so little why isn't that actually bearing out in becoming a profitable company? What's the excuse?

    Do people really need to know that a bunch of code at a company that won't exist in 10 years is something worth caring about?

    • Because we are not hyping to lure investors to give us hundreds of millions dollars. We took the more honest route and work with actual customers. If we are to accept hundreds of millions at some point perhaps we are going to reach hundreds of billions in valuation ... on paper.

      As for the chatgpt wrapper comment - honestly this take is getting old. So what? You are going to train your own LLM and run it at huge loss for awhile?

      And yes perhaps all of this effort is for nothing as it may be even possible to reacted everything we have done from scratch in a week assuming that we are static and do nothing about it. In 10 years the solution would have billions of lines of code. Not that lines of code is any kind of metric for success but you wont be able to recreate it without significant cost and upfront effort ... even with LLMs.

  • Agreed. I don’t know if it will create or eliminate jobs but this is certainly another level from what we’ve seen before.

    Since last 2 months, calling LLMs even internet-level invention is underserving.

    You can see the sentiment shift happening last months from all prominent experienced devs to.

    • Yeah, the latest wave of Opus 4.5, Codex 5.2, Gemini Pro 3 rendered a lot of my skepticism redundant as well. While I generally agree with the Jevon's paradox line of reasoning, I have to acknowledge it's difficult to make any reasonable prediction on technology that's moving at such immense speed.

      I expected the LLM's would have hit a scaling wall by now, and I was wrong. Perhaps that'll still happen. If not, regardless of whether it'll ultimately create or eliminate more jobs, it'll destabilize the job market.

  • But still the hypothesis of the article holds stance. If you want a new feature, you still have to think it through and explain the AI how to implement it, and validate the result.

    You might be able to do more with less, but that is with every technological advancement.

    Regarding your experience, it sounds like your codebase is such good quality that it acts as a very clear prompt to the AI for it to understand the system and improve it.

    But I imagine your codebase didn't get into this state all by itself.

  • My guess: projects "learn" every time we improve documentation, add static analysis, write tests, make the API's clearer, and so on. Once newly started agents onboard by reading AGENTS.md, they're a bit "smarter" than before.

    Maybe there's a threshold where improvements become easy, depending on the LLM and the project?

    As a hobbyist programmer, I feel like I've been promoted to pointy-haired boss.

It might just be companies I have worked for in past 25 years, but engineers were virtually always the ones to make sense of whatever vague idea product and UX were trying to make. It's not just code monkey follow the mockup stuff. AI code tools don't really solve that.

  • This is very accurate to my experience. Product & management dont understand basics and anyone who ever had a manager/pm, you know you had to explain to them the same thing multiple times. Product Managers also struggle to align among themselves and they dont care about future velocity, just current velocity. Then you have programmers who have to basically connect all the things and make sure it doesn't break too much.

AI won't replace developers. It will replace the bootcamp devs of the last decade. The average expectation is now much higher. AI tools will only elevate the expectations of what a human dev is capable of and how fast it can get done.-

Kind of off topic but this has got to be one of my least favorite CSS rules that I’ve seen in recent memory:

  .blog-entry p:first-letter {
    font-size: 1.2em;
  }

In 00s, Rational Rose UML was a mandatory course in my Uni undergrad program.

At that time I had a chat with a small startup CEO who was sure that he'll fire all those pesky programmers who think they are "smart" because they can code. He pointed me to a code generated by Rational Rose for his diagram, and told that only methods should be implemented, which also will be possible soon, the hardest part is to model the system.

Who remembers Model-Driven Architecture and code generation from UML?

Nothing can replace code, because code is design[1]. Low-code came about as a solution to the insane clickfest of no-code. And what is low-code? It’s code over a boilerplate-free appropriately-high level of abstraction.

This reminds me of the 1st chapter of the Clean Architecture book[2], pages 5 and 6, which shows a chart of engineering staff growing from tens to 1200 and yet the product line count (as a simple estimate of features) asymptotically stops growing, barely growing in lines of code from 300 staff to 1200 staff.

As companies grow and throw more staff at the problem, software architecture is often neglected, dramatically slowing development (due to massive overhead required to implement features).

Some companies decided that the answer is to optimize for hiring lots of junior engineers to write dumbed down code full of boilerplate (e.g. Go).

The hard part is staying on top of the technical (architectural and design) debt to make sure that feature development is efficient. That is the hard job and the true value of a software architect, not writing design documents.

[1] https://www.developerdotstar.com/mag/articles/reeves_origina... A timeless article from 1992, pre-UML, but references precursors like Booch and object diagrams, as well as CASE tools [2] You can read it here in Amazon sample chapter: https://read.amazon.com/sample/0134494164?clientId=share

Nothing says it like this quote: “quickly discovered that readable syntax didn’t eliminate the complexity of logic, data structures, or system design”

A developer is just someone who has the ability to create things with technology. Every iteration we do not "replace" developers. We lower the bar such that more and more people can be Developers. (Wether thats time investment/education, IQ, or other elements that were previously barriers)

When electronic spreadsheets were invented there was thought that it was gameover for accountants. There are more accountants per dollar of GDP today than back then. When a thing becomes cheaper we do not just consume the backlog and quit. We actually do more of that thing. Part of the reason is is that there is a very large set of software that was not financially viable to create pre vibe coding. Now it's financially viable to create... Even just throwaway software. Single use software. etc.

Until coding agents are capable of doing engineering superior to like the 90thile _of well trained and experienced engineers_ we will probably have human developers, likely more and more of them.

It's simple -- the more high-minded and snobbish the developer class will be (thus extracting the highest salaries in the world) and as long as they will continue to maintain this unreal amount of gatekeeping, the more the non-developer community (especially those at the leadership-level) will continue to revel at the prospect of eliminating developers from the value chain.

  • I think you're onto something. Replace "developers" with "doctors" I that statement and you've described healthcare in the mid 1900s. Replace with "masons" and we describe the medieval times. There is always a specialized class

The link redirects back to the blog index if your browser is configured in Spanish, because it forces to change the language to spanish and the article is not available in spanish.

Here's an archived link: https://archive.is/y9SyQ

I recently did a higher education contract for one semester in a highly coding focused course. I have a few years of teaching experience pre-LLMs so I could evaluate the impact internally, my conclusion is that academic education as we know it is basically broken forever.

If educators use AI to write/update the lectures and the assignments, students use AI to do the assignments, then AI evaluates the student's submissions, what is the point?

I'm worried about some major software engineering fields experiencing the same problem. If design and requirements are written by AI, code is mostly written by AI, and users are mostly AI agents. What is the point?

  • What's worse is that universities aren't incentivized to fight it at all. Students getting high marks is a good look for them

  • >> What is the point?

    To replace humans permanently from the work force so they can focus on the things which matter like being good pets?

    Or good techno-serfs...

  • I agree in higher education you need to be willing to learn and it's easy to weasel through it without actually building any skills. On an individual level that's a tragedy of wasted time and potential. On the teaching side it's just fraud if you let AI correct the work of your students or if you don't penalize people handing in AI-written assignments.

    In the US there was this case of a student using religious arguments with hand-waving references to the will of god for her coursework. Her work was rejected by the tutor and she raised a big fuzz on TV. In the end this US university fired the tutor and gave her a passing grade.

    These kind of stories are not an AI issue but a general problem of USA as a country shifting away from education towards religious fanaticism. If someone can reference their interpretation of god's words without even actually citing the bible and they receive a passing grade the whole institution loses their credibility.

    Today, the United States are a post-factual society with a ruling class of christian fanatics. They have been vulnerable to vaporware for years. LLMs being heralded as artificial intelligence only works with people who never experienced real intelligence.

    Luckily, every year only a handful of people who have motivation, skills and luck are needed to move the needle in science and technology. These people can come from many countries who have better education systems and no religious fanaticism.

> Yet demand for software far exceeds our ability to create it.

In particular the demand for software tools grows faster than our ability to satisfy it. More demand exists than the people who would do the demanding can imagine. Many people who are not software engineers can now write themselves micro software tools using LLMs -- this ranges from home makers to professionals of every kind. But the larger systems that require architecting, designing, building, and maintaining will continue to require some developers -- fewer, perhaps, but perhaps also such systems will proliferate.

> Understanding this doesn’t mean rejecting new tools. It means using them with clear expectations about what they can provide and what will always require human judgment.

Speaking of tools, that style of writing rings a bell.. Ben Affleck made a similar point about the evolving use of computers and AI in filmmaking, wielded with creativity by humans with lived experiences, https://www.youtube.com/watch?v=O-2OsvVJC0s. Faster visual effects production enables more creative options.

What I’m seeing is that seniors need fewer juniors, not because seniors are being replaced, but because managers believe they can get the same output with fewer people. Agentic coding tools reinforce that belief by offloading the most time-consuming but low-complexity work. Tests, boilerplate, CRUD, glue code, migrations, and similar tasks. Work that isn’t conceptually hard, just expensive in hours.

So yes, the market shifts, but mostly at the junior end. Fewer entry-level hires, higher expectations for those who are hired, and more leverage given to experienced developers who can supervise, correct, and integrate what these tools produce.

What these systems cannot replace is senior judgment. You still need humans to make strategic decisions about architecture, business alignment, go or no-go calls, long-term maintenance costs, risk assessment, and deciding what not to build. That is not a coding problem. It is a systems, organizational, and economic problem.

Agentic coding is good at execution within a frame. Seniors are valuable because they define the frame, understand the implications, and are accountable for the outcome. Until these systems can reason about incentives, constraints, and second-order effects across technical and business domains, they are not replacing seniors. They are amplifying them.

The real change is not “AI replaces developers.” It is that the bar for being useful as a developer keeps moving up.

I think what often gets lost in the "AI is replacing developers" framing is that someone still has to technically steer the system.

I'm a lead engineer and I've barely written code directly in weeks, yet I've shipped side projects and continued shipping at work. My job hasn't disappeared. It's shifted up a layer. I spend my time designing the system, decomposing problems, setting constraints, probing tradeoffs, correcting plans, and iterating on architecture. The AI writes most of the tokens. I supply most of the technical judgment.

Tools like v0 or Replit hide some of this by baking rules and scaffolding into the product. But the work doesn't go away. Someone still has to know what to ask, what to doubt, what to measure, and when the AI is confidently wrong.

That role is not "customer who doesn't know what's possible." It's still a technical role. It just operates at a different abstraction layer.

Every abstraction simplifies a bunch of real-world phenomena. The real world is messy, our understanding keeps shifting, and we’re unreliable narrators in the sense that we’re often not even aware of the gaps in our own understanding, let alone good at expressing it.

No matter how much progress we make, as long as reasoning about complex systems is unavoidable, this doesn’t change. We don’t always know what we want, and we can’t always articulate it clearly.

So people building software end up dealing with two problems at once. One is grappling with the intrinsic, irreducible complexity of the system. The other is trying to read the minds of unreliable narrators, including leadership and themselves.

Tools help with the mechanical parts of the job, but they don’t remove the thinking and understanding bottleneck. And since the incentives of leadership, investors, and the people doing the actual work don’t line up, a tug-of-war is the most predictable outcome.

There must be a way to just print cash, have no jobs, and pay nobody, so we can have all the money. And then...? No and then.

>The tools expanded who could write software, but they didn’t eliminate the expertise required for substantial systems.

The hardest thing about software construction is specification. There's always going to be domain specific knowledge associated with requirements. If you make it possible, as Delphi and Visual Basic 6 did, for a domain expert to hack together something that works, that crude but effective prototype functions as a concrete specification that a professional programmer can use to craft a much better version useful to more people than just the original author.

The expansion of the pool of programmers was the goal. It's possible that AI could eventually make programming (or at least specification) a universal skill, but I doubt it. The complexity embedded in all but the most trivial of programs will keep the software development profession in demand for the foreseeable future.

We succeeded each time. We replaced the 60s dev with a 70s dev with an 80s dev... Same title different job description.

I can see the 2030s dev doing more original research with mundane tasks put to LLM. Courses will cover manual coding, assembler etc. for a good foundation. But that'll be like an uber driver putting on a spare tire.

Yeah, it's that same old story all over again. We're living in an era where AI IDEs, AI CLIs, and all sorts of online and offline tools keep popping up, giving off this vibe that 'developers can just pack their bags now.' But honestly? Development isn't just about typing code — it's really about programming thinking. That ability to break down problems, reason through complexity, and handle the messy real-world details.

AI's great at automating repetitive stuff — the boilerplate, the routine tasks — but it can't replace the judgment calls, the creativity, or understanding what's really going on under the hood. As some people have pointed out in this thread, you can't escape the details, and that's exactly where human developers come in and add value.

> We’re still in that same fundamental situation. We have better tools—vastly better tools—but the thinking remains essential.

But less thinking is essential, or at least that’s what it’s like using the tools.

I’ve been vibing code almost 100% of the time since Claude 4.5 Opus came out. I use it to review itself multiple times, and my team does the same, then we use AI to review each others’ code.

Previously, we whiteboarded and had discussions more than we do now. We definitely coded and reviewed more ourselves than we do now.

I don’t believe that AI is incapable of making mistakes, nor do I think that multiple AI reviews are enough to understand and solve problems, yet. Some incredibly huge problems are probably on the horizon. But for now, the general “AI will not replace developers” is false; our roles have changed- we are managers now, and for how long?

  • You made the choice to change your development workflow to that. You chose to abdicate thinking to the LLM.

    If it’s working for you, then great. But don’t pretend like it is some natural law and must be true everywhere.

  • Those whiteboarding sessions and discussions used to serve as useful opportunities for context building. Where will that context be built within the cycle now? During a production incident?

I don't think the dream of replacing developers, in particular exists. Specialization of labour leads to increased costs, due to value placed on said specialized labour. Software development, is one form of specialized manufacturing, and hence is more costly. Within software development, similar strata exists, leading to increased value on increased specialization, and hence the pyramid effect. The same is true within any field.

Similarly, one might argue as increased capital finds its way to a given field, due to increased outcomes, labour in turn helps pressure pricing. Increased "sales" opportunity within said field (i.e people being skilled enough to be employed, or specialized therein) will similarly lead to pricing pressure - on both ends.

Is this a real article or just AI-generated text? This whole text has a lot of very weird phrasing in it, also it's so strange how it just seems to keep trudging on and on without ever getting to the point. Actual human-written articles are not like this.

  • As soon as I saw the AI header image I pressed the back button - it's all I need to know.

The real reason is, expectations and requirements increased whenever tools helped more productivity or solved problems. This kept complexity growing and the work flowing. Just because you use cars instead of horses, it doesn't mean you get more free time.

There are dragons here. The hope, presumably, is to be able to describe a solution at a high level and have an AI figure out the details instead of a developer (or detail oriented) person. The problem I can see with this is ownership over those details, AI can't currently explain its reasoning or react too well to issues that crop up with its own previous decisions, since it's usually a 'fresh' instance for each prompt. In other words it might know how, but it can't know why. Or at least not without retracing every step every time.

This is looking at the wrong end of the telescope. The arc has been to move computing closer to more and more end users. In the 1960's, FORTRAN enabled scientists and engineers to implement solutions without knowing much about the underlying computer. Thompson and Ritchie got a PDP11 by promising to make a text processing system for patent applications. Many years later desktop PC's and programs like VisiCalc and PageMaker opened up computing to many more users. The list goes on and on. With this movement, developer jobs disappeared or changed.

  • I keep saying the real advancement by LLMs isn't for professional programmers, but for every job that is programming adjacent. Every biologist writing code to do analysis. Every test engineer interfacing with test results and graphing results. (eg all the instruments from cold weather testing) Anyone that's figured out you can glue Jira to a local LLM and then have voice command Jira. Etc.

Sometimes while on an ai thread like this I see posts with obvious and many grammatical mistakes. Many will be "typos" (although some seem conceptual). Maybe some are dictated/transcribed by busy people. Some might be incorrect on purpose, for engament. These are posted by pretty accomplished people sometimes.

And I always think: any of these users could have ran a basic grammar check with an llm or even a spellchecker, but didnt. Maybe software will be the same after all.

P.S. prob I jinxed my own post and did a mistake somewhere

  • > prob I jinxed my own post and did a mistake somewhere

    ai -> AI

    didnt -> didn't

    obvious and many -> many obvious

    These are posted by ... sometimes -> Sometimes these are posted by...

    prob --> Prob(ably)

    did a mistake -> made a mistake

    somewhere -> somewhere.

    • Indeed. To be fair things like didnt and prob are on purpose, and "sometimes" and "obvious and many" are more styling than a mistake. And LLM should be uppercase. We can go on. In any case, that is exactly my point. I could have run it through an LLM, but didnt.

      Here what deepseek suggests as fixed:

      Sometimes, while on an AI thread like this, I see posts with many obvious grammatical mistakes. Many will be "typos" (although some seem conceptual). Maybe some are dictated or transcribed by busy people. Some might be incorrect on purpose, for engagement. These are sometimes posted by pretty accomplished people.

      And I always think: any of these users could have run a basic grammar check with an LLM or even a spellchecker, but didn’t. Maybe software will be the same after all.

      P.S. Probably I jinxed my own post and made a mistake somewhere.

Consider what the rise of things like shopify, squarespace, etc. did for developers.

In 2001, you needed an entire development team if you wanted to have an online business. Having an online business was a complicated, niche thing.

Now, because it has gotten substantially easier, there are thousands of times as many (probably millions of times) online stores, and many of them employ some sort of developer (usually on a retainer) to do work for them. Those consultants probably make more than the devs of 2001 did, too.

>Yet demand for software far exceeds our ability to create it. Every organization needs more software than it can build. The backlog of desired features and new initiatives grows faster than development teams can address it. -- -- Then why is hiring at a standstill and companies laying off developers left and right?

To understand how business views developers, reread Tim Bryce's Theory P: The Philosophy of Managing Programmers (which is old enough to drink in the USA today): https://web.archive.org/web/20160407111718fw_/http://phmains...

Tim Bryce was kind of the anti Scott Adams: he felt that programmers were people of mediocre intelligence at best that thought they were so damn smart, when really if they were so smart, they'd move into management or business analysis where they could have a real impact, and not be content with the scutwork of translating business requirements into machine-executable code. As it is, they don't have the people skills or big-picture systems thinking to really pull it off, and that combined with their snobbery made them a burden to an organization unless they were effectively managed—such as with his methodology PRIDE, which you could buy direct from his web site.

Oddly enough, in a weird horseshoe-theory instance of convergent psychological evolution, Adams and Bryce both ended up Trump supporters.

Ultimately, however, "the Bryce was right": the true value in software development lies not in the lines of code but in articulating what needs to be automated and how it can benefit the business. The more precisely you nail this down, the more programming becomes a mechanical task. Your job as a developer is to deliver the most value to the customer with the least possible cost. (Even John Carmack agrees with this.) This requires thinking like a business, in terms of dollars and cents (and people), not bits and bytes. And as AI becomes a critical component of software development, business thinking will become more necessary and technical thinking, much less so. Programmers as a professional class will be drastically reduced or eliminated, and replaced with business analysts with some technical understanding but real strength on the business/people side, where the real value gets added. LLMs meaningfully allow people to issue commands to computers in people language, for the very first time. As they evolve they will be more capable of implementing business requirements expressed directly in business language, without an intermediator to translate those requirements into code (i.e., the programmer). This was always the goal, and it's within reach.

  • Thanks for the information about Tim Bryce and the relationship with Adams's obsessions.

    Regarding your assertion:

    > as AI becomes a critical component of software development, business thinking will become more necessary and technical thinking, much less so.

    That remains to be seen. This is the story that AI evangelists are peddling and that employes are salivating over, for sure.

    • Geez, man. Even Eric "Cathedral and the Bazaar" Raymond is mindblown that he can basically specify software into existence. The technology is here today, it's real, and it works.

  • In my experience translating requirements into a formal language (programming language) is where a lot of the important details are actually worked out. The process of taking the "squishy" thoughts/ideas and translating them into code is a forcing function for actually clarifying and correcting those ideas.

    • In PRIDE, the important details are worked out before the first line of code is written, in the form of flowcharts and other technical documentation. The earlier in the design and development cycle this is done, the less work you have to do over the entire SDLC and the more time/effort/money you'll save.

      Bryce: "Mental laziness can also be found in planning and documenting software. Instead of carefully thinking through the logic of a program using graphics and text, most programmers prefer to dive into source code without much thinking."

      1 reply →

Spreadsheets replaced developers for that kind of work, while simultaneously enabling multiple magnitudes more work of that type to be performed.

  • And I would argue speadsheets still created more developers. Analytics teams need developers to put that data somewhere, to transform it for certain formats, to load that data from a source so they can create spreadsheets from it.

    So now instead of one developer lost and one analyst created, you've actually just created an analyst and kept a developer.

  • I do agree, that’s like my go to thought.

    Citizen developers were already there doing Excel. I have seen basically full fledged applications in Excel since I was in high school which was 25 years ago already.

    • If anything, there were a bunch of low barrier to entry software development options like HyperCard, MS Access, Visual Basic, Delphi, 4GLs etc. around in the 90s, that went away.

      It feels like programming then got a lot harder with internet stuff that brought client-server challenges, web frontends, cross platform UI and build challenges, mobile apps, tablets, etc... all bringing in elaborate frameworks and build systems and dependency hell to manage and move complexity around.

      With that context, it seems like the AI experience / productivity boost people are having is almost like a regression back to the mean and just cutting through some of the layers of complexity that had built up over the years.

You shouldn’t ask developers about this.

You should ask the business owners. They are hiring fewer developers and looking to cut more.

It's like developers are only now awakening to the reality that despite being paid well, they never were the capitalists.

In the last 30 years it was very to common to have a few junior engineers on the team and you could train them as well as give them tasks which made them positive net contributors. This is no longer true for most junior engineers.

The dream of replacing developers may be less about developers at all, and more about a recurring hope that complex socio-technical systems can be reduced to a one-time translation problem

So this texts provides no new insights compared to Brooks' "No Silver Bullet" (1986). Short summary: essential vs accidental complexity argument still holds.

It's not the dream of replacing developers.

It's the dream of replacing labor.

They've already convinced their customers what the value of the product is! Cutting labor costs is profit! Never mind the cost to society! Socialize those costs and privatize those profits!

Then they keep the money for themselves, because capitalism lets a few people own the means of production.

So everything that looks cheaper than paying someone educated and skilled to do a thing is extremely attractive. All labor-saving devices ultimate do that.

This resonates with what I'm experiencing, but I think the article misses the real shift happening now.

The conversation shouldn't be "will AI replace developers". It should be "how do humans stay competitive as AI gets 10x better every 18 months?"

I watched Claude Code build a feature in 30 minutes that used to take weeks. That moment crystallised something: you don't compete WITH AI. You need YOUR personal AI.

Here's what I mean: Frontier teams at Anthropic/OpenAI have 20-person research teams monitoring everything 24/7. They're 2-4 weeks ahead today. By 2027? 16+ weeks ahead. This "frontier gap" is exponential.

The real problem isn't tools or abstraction. It's information overload at scale. When AI collapses execution time, the bottleneck shifts to judgment. And good judgment requires staying current across 50+ sources (Twitter, Reddit, arXiv, Discord, HN).

Generic ChatGPT is commodity. What matters is: does your AI know YOUR priorities? Does it learn YOUR judgment patterns? Does it filter information through YOUR lens?

The article is right that tools don't eliminate complexity. But personal AI doesn't eliminate complexity. It amplifies YOUR ability to handle complexity at frontier speed.

The question isn't about replacement. It's about levelling the playing field. And frankly we all are figuring out on how will this shape out in the future. And if you have any solution that can help me level up, please hit me up.

  • > And good judgment requires staying current across 50+ sources (Twitter, Reddit, arXiv, Discord, HN).

    Your mention of the hellhole that is today's twitter as the first item in your list of sources to follow for achieving "good judgement" made it easy for me to recognize that in fact you have very bad judgement.

  • What feature is it that Claude Code built in 30 minutes?

    • I have built many projects in hours that we can say would have reasonably taken me a month, to research the technology I did not know beforehand. 30 minutes is often enough to build a first version of the project. For example an audio book listener app, winter swimming iPhone/iWatch app combination, and markdown editor for OS X in Swift.

      I have also added complex features in 30 minutes to existing projects, but I don't remember any that themselves would have taken me months though.

Business quacks being forever bamboozled because turns out implementation is the only thing that matters and hacker culture outlived every single promise to eradicate hacker culture.

The dumb part of this is: so who prompts the AI?

Well probably we'd want a person who really gets the AI, as they'll have a talent for prompting it well.

Meaning: knows how to talk to computers better than other people.

So a programmer then...

I think it's not that people are stupid. I think there's actually a glee behind the claims AI will put devs out of work - like they feel good about the idea of hurting them, rather than being driven by dispassionate logic.

Maybe it's the ancient jocks vs nerds thing.

  • Outside of SV the thought of More Tech being the answer to ever greater things is met with great skepticism these days. It's not that people hate engineers, and most people are content to hold their nose while the mag7 make 401k go up, but people are sick of Big Tech. Like it or not, the Musks, Karps, Thiels, Bezos's have a lot to do with that.

  • Even that is the wrong question. The whole promise of the stock market, of AI is that you can "run companies" by just owning shares and knowing nothing at all. I think that is what "leaders" hope to achieve. It's a slightly more dressed get-rich-quick scheme.

    Invest $1000 into AI, have a $1000000 company in a month. That's the dream they're selling, at least until they have enough investment.

    It of course becomes "oh, sorry, we happen to have taken the only huge business for ourselves. Is your kidney now for sale?"

    • > Invest $1000 into AI, have a $1000000 company in a month. That's the dream they're selling, at least until they have enough investment.

      But you need to buy my AI engineer course for that first.

  • Devs are where projects meet the constraints of reality and people always want to kill the messenger.

    • Devs are where the project meets reality in general, and this is what I always try to explain to people. And it's the same with construction, by the way. Pictures and blueprints are nice but sooner or later you're going to need someone digging around in the dirt.

    • No high paid manager wants to learn that their visionary thinking was just the last iteration of the underpants gnome meme. Some things sound good at first but unfortunately are not that easy to actually do

  • Who fixes the unmaintainable mess that the AI created in which the vibe coder prompted?

    The Vibe Coder? The AI?

    Take a guess who fixes it.

    • The real question is, do you even need to fix it? Does it matter?

      The reason those things matter in a traditional project is because a person needs to be able to read and understand the code.

      If you're vibe coding, that's no longer true. So maybe it doesn't matter. Maybe the things we used to consider maintenance headaches are irrelevant.

      2 replies →

    • For now, training these things on code and logic is the first step of building a technological singularity.

  • The day you successfully implemented your solution with a prompt, you solution is valued at the cost of a prompt. There is no value to anything easily achieved by generative tools anymore. Now it is in either:

    a. generative technology but requiring substantial amount of coordination, curation, compute power. b. substantial amount of data. c. scarce intelectual human work.

    And scarce but non intellectually demanding human work was dropped from the list of valuable things.

  • > who prompts the AI

    LLMs are a box where the input has to be generated by someone/something, but also the output has to be verified somehow (because, like humans, it isn't always correct). So you either need a human at "both ends", or some very clever AI filling those roles.

    But I think the human doing those things probably needs slightly different skills and experience than the average legacy developer.

    • Rules engines were designed for just such a thing. Validating input/output. You don’t need a human to prompt AI, you need a pipeline.

      While a single LLM won’t replace you. A well designed system of flows for software engineering using LLMs will.

      3 replies →

  • Some people just see it as a cost, one "tech" startup I worked at I got this lengthy pitch from a sales exec that they shouldn't have a software team at all, that we'd never be able to build anything useful without spending millions and that money would be better-spent on the sales team, although they'd have nothing to sell lmfao. And the real laugh was the dev team was heavily subsidized by R&D grants anyway.

  • How about another AI? And who prompts that AI? You're right - another AI!

    • With all these AIs chaining and prompting eachother, we're approaching the point where some unlucky person is going to ask an AI something and it will consume all the energy in the universe trying to compute the answer.

      2 replies →

Consider what happened to painters after the invention of photography (~1830s). At first the technology was very limited and no threat at all to portrait and landscape painters.

By the 1860s artists were feeling the heat and responded by inventing all the "isms" - starting with impressionism. That's kept them employed so far, but who knows whether they'll be able to co-exist with whatever diffusion models become in 30 years.

  • But the 18th century artist who did portraits and wedding paintings is the today’s (wedding) photographer.

    Does it take less money to commission a single wedding photo rather than a wedding painting? Yes. But many more people commission them and usually in tens to hundreds, together with videos, etc.

    An 18th century wedding painter wasn’t in the business of paintings, but in the business of capturing memories and we do that today on much larger scale, more often and in a lot of different ways.

    I’d also argue more landscape painters exist today than ever.

  • I can't take these kind of comments serious at all. You're totally off topic and offer a platitude comparing apples to oranges.

“ AI: The Latest Chapter in a Long Story” More the current chapter. Curious about the next one!

Stephen Schwab has hit the nail on the head as far as the replacement pattern applies to software development.

But he missed the opportunity to recognize that the replacement pattern is, in fact, a broader principle. Or perhaps he did recognize it and decided to focus its scope on software development.

The broader replacement principle is that for a business, any (specialized) process or system or department represents an expense, and there is constant pressure to reduce expenses, or definitely once revenue/growth plateaus or decreases. ALL Businesses invariably, over time, attempt to replace every department or process or function with cheaper alternatives. Software Development is not unique here.

At the country level, this has led to the movement of manufacturing to China and other countries, the outsourcing of software development to India and other countries, and the hollowing out of middle America.

Does anyone have insight into whether this is a unique situation specific to our technological age? It feels fundamentally different from the normal cycle of conquest and colonialism?

Although to be fair there was a very very strong underpinning of corporations driving the wave of European colonialism from the 1600s to the 1900s- Hudson's Bay Company, Dutch East India and West India Companies, British East India Company, Royal African Company, French East/West India Companies, Danish West India and Guinea Company, the Spanish Royal Companies, Portuguese General Companies - a bit different from prior expansions of conquest by empires. But even these corporations were pinned upon expanding trading zones rather than cost management. In the 1900s and the 2000s there was some expansionism - getting countries to open up their economies - but that was managed through the IMF and the World Bank.

At the end of the day, the big dream is about accumulating power and wealth. For some people. It comes down to a fundamental world view through which people take action - some dream of scientific advancement, others of service to others, and so on. Exploration has much fewer opportunities in the modern age.

Software Development is just what a lot of this community happens to partake in.

>>>> Developers feel misunderstood and undervalued.

Really?

Is this reflected in wages and hiring? I work for a company that makes a hardware product with mission-critical support software. The software team dwarfs the hardware team, and is paid quite well. Now they're exempt from "return to office."

I attended a meeting to move a project into development phase, and at one point the leader got up and said: "Now we've been talking about the hardware, but of course we all know that what's most important is the software."

The link doesn't works for me, just get thrown on the main page after a second.

  • The article itself is AI slop anyway, I guess we're ignoring it because we all want to discuss this or something. Very frustrating.

"If the problem were primarily mechanical—too much typing, too complex syntax, too many steps—we would have solved it by now"

And yet we see management and the AI boosters still talk about productivity in terms of lines of code written, or proxies for that metric, likes number of features shipped.

We definitely have solved the mechanical problem, and we did so decades ago when wizards and IDEs able to auto-generate boilerplate stubs came along.

Still we see the process discussed and boosted in terms of sheer quantity of "stuff", even as we are drowning in accidental complexity and tech debt. Adding yet more code generated by a synthetic text extruder is not solving any problem of consequence, but is in fact making things worse. "AI is the asbestos we're shoveling into the walls of our high-tech society" https://pluralistic.net/2026/01/06/1000x-liability/#graceful...

There’s another reason developers will never be replaced.

Expectations always go up. People expect more. Whoever can give it to them will reap the rewards. And that is whoever works out how to do better than the baseline of capability available to all, eg. AI code tools or no-code. Human expertise adds value above a baseline of capability that’s universally available, even if that baseline is rising all the time.

You need better experts than the next mob to even have a chance. And with near-zero distribution costs even marginally better software will trend toward winner take all.

is this realistic?

replace the worker in the middle and nothing stands between your favorite worst nightmare and the customers/reality you want. atm devs and workers are inside. even if they abide by "job security", "planned obsolescence" and building in 7 microphones and boatloads of code to record and track users and their behavior, these people are still inside and talk to each other and the rest of the world.

Once they are replaced, the right to repair, privacy and so on will vanish and we will be punished for disassembling hardware and software in worse ways than happened to that guy who did the PS3 back then (I don't know of any other stories, unfortunately). I heard that they already run the narrative "you bought a game but it's still ours" ..., which seems like the second or third step towards the direction outlined above.

I fear the same will happen to food, pharma ... not necesserily because the top of the pyramid is "evil" but because there are only so many ways to keep increasing the increase of their wealth. A lot of conspiratorial stuff IS happening, and the sick and damaged and neuro and bio divergent with all their sensitivities are livestock so why not "create" more? at least for some time ... until all is "Incorporated" as in "applying for the permit have children".

This is the best explanation of (my take on) this I've seen so far.

On top of the article's excellent breakdown of what is happening, I think it's important to note a couple of driving factors about why (I posit) it is happening:

First, and this is touched upon in the OP but I think could be made more explicit, a lot of people who bemoan the existence of software development as a discipline see it as a morass of incidental complexity. This is significantly an instance of Chesterton's Fence. Yes, there certainly is incidental complexity in software development, or at least complexity that is incidental at the level of abstraction that most corporate software lives at. But as a discipline, we're pretty good at eliminating it when we find it, though it sometimes takes a while — but the speed with which we iterate means we eliminate it a lot faster than most other disciplines. A lot of the complexity that remains is actually irreducible, or at least we don't yet know how to reduce it. A case in point: programming language syntax. To the outsider, the syntax of modern programming languages, where the commas go, whether whitespace means anything, how angle brackets are parsed, looks to the uninitiated like a jumble of arcane nonsense that must be memorized in order to start really solving problems, and indeed it's a real barrier to entry that non-developers, budding developers, and sometimes seasoned developers have to contend with. But it's also (a selection of competing frontiers of) the best language we have, after many generations of rationalistic and empirical refinement, for humans to unambiguously specify what they mean at the semantic level of software development as it stands! For a long time now we haven't been constrained in the domain of programming language syntax by the complexity or performance of parser implementations. Instead, modern programming languages tend toward simpler formal grammars because they make it easier for _humans_ to understand what's going on when reading the code. AI tools promise to (amongst other things; don't come at me AI enthusiasts!) replace programming language syntax with natural language. But actually natural language is a terrible syntax for clearly and unambiguously conveying intent! If you want a more venerable example, just look at mathematical syntax, a language that has never been constrained by computer implementation but was developed by humans for humans to read and write their meaning in subtle domains efficiently and effectively. Mathematicians started with natural language and, through a long process of iteration, came to modern-day mathematical syntax. There's no push to replace mathematical syntax with natural language because, even though that would definitely make some parts of the mathematical process easier, we've discovered through hard experience that it makes the process as a whole much harder.

Second, humans (as a gestalt, not necessarily as individuals) always operate at the maximum feasible level of complexity, because there are benefits to be extracted from the higher complexity levels and if we are operating below our maximum complexity budget we're leaving those benefits on the table. From time to time we really do manage to hop up the ladder of abstraction, at least as far as mainstream development goes. But the complexity budget we save by no longer needing to worry about the details we've abstracted over immediately gets reallocated to the upper abstraction levels, providing things like development velocity, correctness guarantees, or UX sophistication. This implies that the sum total of complexity involved in software development will always remain roughly constant. This is of course a win, as we can produce more/better software (assuming we really have abstracted over those low-level details and they're not waiting for the right time to leak through into our nice clean abstraction layer and bite us…), but as a process it will never reduce the total amount of ‘software development’ work to be done, whatever kinds of complexity that may come to comprise. In fact, anecdotally it seems to be subject to some kind of Braess' paradox: the more software we build, the more our society runs on software, the higher the demand for software becomes. If you think about it, this is actually quite a natural consequence of the ‘constant complexity budget’ idea. As we know, software is made of decisions (https://siderea.dreamwidth.org/1219758.html), and the more ‘manual’ labour we free up at the bottom of the stack the more we free up complexity budget to be spent on the high-level decisions at the top. But there's no cap on decision-making! If you ever find yourself with spare complexity budget left over after making all your decisions you can always use it to make decisions about how you make decisions, ad infinitum, and yesterday's high-level decisions become today's menial labour. The only way out of that cycle is to develop intelligences (software, hardware, wetware…) that can not only reason better at a particular level of abstraction than humans but also climb the ladder faster than humanity as a whole — singularity, to use a slightly out-of-vogue term. If we as a species fall off the bottom of the complexity window then there will no longer be a productivity-driven incentive to ideate, though I rather look forward to a luxury-goods market of all-organic artisanal ideas :)

  • I don't even think that "singularity-level coding agents" get us there. A big part of engineering is working with PMs, working with management, working across teams, working with users, to help distill their disparate wants and needs down into a coherent and usable system.

    Knowing when to push back, when to trim down a requirement, when to replace a requirement with something slightly different, when to expand a requirement because you're aware of multiple distinct use cases to which it could apply, or even a new requirement that's interesting enough that it might warrant updating your "vision" for the product itself: that's the real engineering work that even a "singularity-level coding agent" alone could not replace.

    An AI agent almost universally says "yes" to everything. They have to! If OpenAI starts selling tools that refuse to do what you tell them, who would ever buy them? And maybe that's the fundamental distinction. Something that says "yes" to everything isn't a partner, it's a tool, and a tool can't replace a partner by itself.

    • I think that's exactly an example of climbing the abstraction ladder. An agent that's incapable of reframing the current context, given a bad task, will try its best to complete it. An agent capable of generalizing to an overarching goal can figure out when the current objective is at odds with the more important goal.

      You're correct in that these aren't really ‘coding agents’ any more, though. Any more than software developers are!

      2 replies →

  • > don't come at me AI enthusiasts!

    no need to worry; none of them know how to read well enough to make it this far into your comment

A few observations from the current tech + services market:

Service-led companies are doing relatively better right now. Lower costs, smaller teams, and a lot of “good enough” duct-tape solutions are shipping fast.

Fewer developers are needed to deliver the same output. Mature frameworks, cloud, and AI have quietly changed the baseline productivity.

And yet, these companies still struggle to hire and retain people. Not because talent doesn’t exist, but because they want people who are immediately useful, adaptable, and can operate in messy environments.

Retention is hard when work is rushed, ownership is limited, and growth paths are unclear. People leave as soon as they find slightly better clarity or stability.

On the economy: it doesn’t feel like a crash, more like a slow grind. Capital is cautious. Hiring is defensive. Every role needs justification.

In this environment, it’s a good time for “hackers” — not security hackers, but people who can glue systems together, work with constraints, ship fast, and move without perfect information.

Comfort-driven careers are struggling. Leverage-driven careers are compounding.

Curious to see how others are experiencing this shift.

  • Let’s not forget that we are just now recovering from the market corrections of the pandemic. Pandemic level tech industry hiring was insane and many of those companies who later held layoffs were just sending the growth line back to where it should be.

    I think pressure to ship is always there. I don’t know if that’s intensifying or not. I can understand where managers and executives think AI = magical work faster juice, but I imagine those expectations will hit their correction point at some time.

I think that programming as a job has already changed. Because it is hard for most people to tell the difference between someone who actually has programming skills and experience versus someone who has some technical ingenuity but has only ever used AI to program for them.

Now the expectation from some executives or high level managers is that managers and employees will create custom software for their own departments with minimal software development costs. They can do this using AI tools, often with minimal or no help from software engineers.

Its not quite the equivalent of having software developed entirely by software engineers, but it can be a significant step up from what you typically get from Excel.

I have a pretty radical view that the leading edge of this stuff has been moving much faster than most people realize:

2024: AI-enhanced workflows automating specific tasks

2025: manually designed/instructed tool calling agents completing complex tasks

2026: the AI Employee emerges -- robust memory, voice interface, multiple tasks, computer and browser use. They manage their own instructions, tools and context

2027: Autonomous AI Companies become viable. AI CEO creates and manages objectives and AI employees

Note that we have had the AI Employee and AI Organization for awhile in different somewhat weak forms. But in the next 18 months or so as the model and tooling abilities continue to improve, they will probably be viable for a growing number of business roles and businesses.