189 comments

[ 3.2 ms ] story [ 82.3 ms ] thread
People don't get fired for dishonesty or persistent failure like you'd expect.
Clicks on blog, sees AI generated template, leaves.

Enough, already.

I mean, the content doesn't look AI generated. I couldn't care less if someone AI generates their blog template, the rest of the content seems meaningful.
How humans can differentiate the things they make has been something I’ve been thinking about a bit recently. What markers signal to you this is AI generated?
This page has been live long before AI appeared, I used Quartz [1] v3, now at v5. But added some features I like with AI, yes, but still keeping my beloved color theme and web style as I had it for a long, long time. The whole code for the second brain (ssp.sh/brain/*) is on GitHub, in case you want to check it [2], but you can also see the "Changelog" in the footer to see recent visual changes. But I'd be curious what makes you think it's AI-generated?

[1] https://github.com/jackyzha0/quartz [2] https://github.com/sspaeti/second-brain-public

Apologies.

The beige coloring with the bright green "recently updated" label somehow triggered my "this template is made by Claude" instinct.

Who cares? The writing certainly wasn't AI.
We've had team changes and product manager changes and lack of documentation for so long that this was the state of our team anymore: no one knows why it was done and no one wants to break it.
I predict we will see more and more of these convoluted rationales (i.e. excuses). All these basically boil down to: “I know AI is crap, but I have found a way to make it useful. Trust me.”

I am gonna appeal to Occam’s razor here and say, the integral variable here is AI, and the only variable you need to know is AI. The problem is AI.

I see this everyday. The problem is code is the wrong abstraction for the work we do. LLMs have solved coding, but they haven't solved systems, collaboration or system maintenance.
When you say "solved coding," what does this mean, what does it look like?

I have strong disagreement because it sounds like, by analogy or proxy, we have also "solved writing"

Writing is a means of expression and communication. Code can be those things, but that's not its primary purpose.

I think "solved coding" is taking it too far, but for many projects, the mechanical aspect of it has been removed or reduced greatly.

LLMs will have a much harder time "solving writing", because they cannot develop their own style and so are severely limited, creatively. This is less important for coding.

I agree that writing is much harder, largely because there is no way to get concrete feedback for "does it work"

I still think they produce shoddy or sus code too often, an artifact of the current generation's training to try anything and everything until it "completes the task". They have a hard time even with that concept, which is part of "coding" imo

I would say it means you are building software but no longer are concerned with writing or editing literal code. Your concerns have moved up the stack to managing requirements, context, and verification processes.

Just to make this clear: if you can define a really good PRD and sophisticated technical specs, and a strong set of tests cases to pass, at the right level of architectural granularity, plus adversarial code review processes that triangulate and weed out most mistakes, SOTA agents can write the code autonomously, at or above the quality level of most human coding teams. I call that "solved" but only if you meet those context requirements. Which is still hard, not solved, at that layer.

Solving writing is not a good analogy IMO. Writing is for human consumption, and cannot be wrapped in objective requirements and verification processes. Certain forms of writing perhaps could be (can't think of one at the moment but I don't doubt some exist), and those forms might be good analogies for being "solvable" or "solved."

> no longer are concerned with writing or editing literal code

I'm not typing keys, but I am very much still concerned about the quality and nature of the code. Coding to me is more than pushing keys

> if you can define a really good PRD and sophisticated technical specs

I still believe we cannot waterfall software, the idea seems like taking a step backwards. How often do we learn about an unforeseen complexity only after getting into the implementation?

In my experience with agents, it's better to be iterative and in-the-loop. Start with a decent description, have them research the code/issue, write up an initial plan/design, work iteratively on writing code and updating design doc, review and finalize the code and markdown. Then future agents will have some resources to shortcut understanding the code base.

I'm not talking about not just punching the keyboard to type out the identifiers in the code. I'm talking about not making decisions about most classes and functions, most type definitions, most of the weedy logic within most modules, etc. If it can't be described in natural language as requirements, or in a typescript type or other data shape DSL (I think key data model types are probably still important to own), it's probably too weedy.

Natural language test cases still define the expectations both at the product and architectural level and are essential for triangulating the agents on successful outcomes.

A requirements and verification approach with agents is not waterfall any more than TDD is waterfall. Does thinking ahead and doing some planning equal waterfall? Does describing how a feature works to an end user, and making some key technical decisions, before you build it, mean waterfall? Does having some sense of what you're building first mean waterfall? With agents, you can specify (with PRD and technical specs) what you THINK it should do, and in minutes or hours or at most days, have the result, which you then learn from and iterate. If you didn't fully think it through, the agents will do one of three things: 1) decide for you, which you learn from 2) stop and ask, which you learn from 3) introduce bugs, which you learn from.

It's extremely iterative.

How are you thinking about technical debt in this new agentic age? (also markdown debt?)

It's one of my bigger concerns and I use this iterative approach to try and reduce it... "go look at the ./cli directory and generate me a report of inconsistencies blah blah..." or "review ./research/something.md, validate consistency, correctness, claims, ..."

... pseudo prose, have we made that a thing yet like pseudo code?

I agree with you, but it's a moot point for software engineering.

> Your concerns have moved up the stack to managing requirements, context, and verification processes.

This has always been the concern. "Add oauth to this app, there are no requirements beyond oauth working" has been an intern level task for ages. What makes software engineering hard is when the requirements start adding "well it has to use this oauth backend that isn't technically spec compliant, and the user is going to send some kind of random token you need to translate to oauth, and...". The problem isn't in writing code that will do the thing, it's figuring out exactly how that backend isn't oauth compliant and what chain of API calls I have to make to convert their random token into an oauth one, and etc.

Producing software that complies with a test suite isn't really novel. You've been able to outsource that forever. This falls apart in the same places outsourcing does; I'm sure India/Phillipines/etc/ is more than capable of iterating on code until it passes a test suite.

maybe it’s more like “abstracted” away, in the same way higher-level languages “solved” needing to code via machine instruction sets. Higher level languages allowed humans to think more like themselves. AI puts another abstraction in front of the outcome, making it even more generally open to human thinking and less defined by the need to give machines exactly what they expect.

Today, human-language outlines / briefs / prompts are “compiled” to code which is itself then adapted to hardware. We are stretching less and less across the divide, doing less and less work on the terms of the machine. Now the farthest we’ll stretch is often formatted markdown - the most basic application of machine-parseable structure to very organic human thinking. Because we’re given the chance to be less precise, coherence suffers.

Or more broadly, LLMs fundamentally don't "understand". They can simulate understanding and generate text/code/whatever, but they don't have will to engage with something holistically and "own" it.
I have been trying to define "understanding". Is it when you can predict something that you understood it? Or maybe when you can explain it? Or how about when you can control it? Or invent it.

This time I add another definition "when you can own it".

When you can own it - I like that. Humans are still needed to own systems and drive/direct changes. The question is how can we collaborate as organizations and teams to still own it when we don't write the code and can't keep up with the output
I find it helps to imagine what is/isn't solved (however, we choose to label it) by an indefinite number of cheap junior-developers.

Except a little worse, since they were raised alone in a library, act mostly the same, and have harsh limits on personal growth.

tbh, I don't think of LLMs as junior-devs. Maybe 6 months ago, but now they are v. senior code-monkeys. They are masters of their craft, but their craft is narrow and lacks big picture, collaboration, org goals, etc.
Even if they "solved" that, the problem is it's the LLM that "knows" it, not the team.

Which is really the same problem with coding.

The agentic model of it just taking over and doing everything is poisonous to effective long term team work.

We're well past the point where it's about the quality of the work they produce. It's the way they integrate (or rather, don't) into human practices.

See my edit on the right abstraction - how do we get humans able to collaborate with agents effectively, where knowledge flows both ways, without needing a human to read 10k LOC, or even just lots of long LLM responses, to follow along
>The problem is code is the wrong abstraction for the work we do

My team recently spent two weeks on a wild goose chase trying to figure out why TensorFlow Lite was generating nonsensical OpenCL kernels. Well it turns out that LLVM had a few bugs in the RISC-V assembly for our platform that was leading to silent garbage. It took combing through assembly dumps, hexdumps, a lot of pain staking debugging, and going through the TensorFlow Lite source code to to track this down.

In your opinion, if code is the wrong abstraction to be working at, how do you approach this scenario?

Fair question - IMO it's the wrong abstraction for building and collaborating on a new product with a team.

To your point, it's not the wrong abstraction for solving code level bugs. Just like python is not the right abstraction for solving memory corruption or pointer mis-alignments.

Outsourcing solved coding a long time ago. You can go on Fiverr and prompt a real human developer for $2/hr - even cheaper than LLMs!
Wow, I think you have never had a chance to communicate with someone selling their expertise for $2/h. Unless tour time is also worth $2/h, I think you would get better results prompting local 27B model.
You can immediately tell someone has absolutely no fucking clue what they're talking about and dismiss everything they say as soon as they say "solved coding". You must write the most heinous code imaginable if you think LLMs are better, or even anywhere near, what a competent professional can produce. So funny to listen to terrible coders talk up terrible code.
Thanks my friend - I'm not an AI evangelist but I think it's pretty clear that AI codes very well at this point. So well that I'd hazard a guess that most software engineers don't write code anymore. Sure, maybe a professional could do better if they spent way more time on it, but it has always been a tradeoff we programmers have had to make. Getting things done + technical debt or writing the perfect code and over optimizing. And LLMs write working code, so the rest is just semantics on that scale.

Code being the wrong abstraction is similar to assembly being the wrong abstraction if you're trying to write a web browser game. Sure it's possible to do it and yes, you may end up with more optimized code, but it's not necessary and much slower to do that. Just use Javascript.

And now, people are building larger applications & functions quicker, and it no longer makes sense time-wise to look at Javascript for-loops when understanding the work. And that's because those for-loops are generally correct, if maybe a bit under optimized. Instead, engineers need a new layer of abstraction, to understand what the code is doing without having to read each line.

LLMs are faster until the technical debt comes due, at which point all supposed productivity gains evaporate and you're now 10x slower than doing anything by hand. They have a use if the debt never comes due, eg. for one-off scripts or for prototypes you will responsibly dispose of. The debt does come due in production, very quickly.

LLMs write code that compiles, which they accomplish mostly by robotically attempting the task and repeatedly fixing compile errors in a loop. That's a very narrow definition of "code that works", and I would argue it is the starting point, not the finish line. My definition of code that works is more like: secure, stable, maintainable, efficient, performant, effectively bug-free, with an ergonomic interface. LLMs fail on every single fucking count. I routinely observe generated code that leaves trivial 10x or 100x gains on the table, while having severe deficiencies in every measurable approach.

Given that you talk about assembly as a bogeyman, though, I gather that you're from the generation of "software engineer" who was already writing insecure, unstable, unmaintainable, 100x inefficient, 100x non-performant, bug-ridden JS for everything. LLMs can replace this class of people, it's true.

If you don't understand how your system works, your ability to make good decisions about future work on that system quickly degrades.

I don't think you need to review every line of code, but you absolutely do need to be able to describe how the system works and its high level structure.

As is so often the case with coding agents, having experience as a tech lead or engineering manager really helps here. You are responsible for a large system that has been worked on by multiple different collaborator (both human and agentic). You need to be able to make smart, informed decisions about that system, and talk with credibility to other stakeholders about what it can and cannot do and sensible next steps for the project.

What will the path to a tech lead look like when it's no longer paved by thousands of hours of experience internalizing code? How do future tech leads avoid becoming like people who never got comfortable with fractions because they offloaded all arithmetic to calculators from an early age?
My hope/hunch is that the kids will be alright. Not learning effectively is a choice: if you want to get good, the paths to getting good are all still available to you.

We have never had as abundant a supply of tools to help us learn our craft. I expect that many people will thrive.

People who are a bit lazy and prone to cheating will be able to hurt themselves even more.

>I don't think you need to review every line of code, but you absolutely do need to be able to describe how the system works and its high level structure.

I just don't see how you can truly reason about a system without delving into code. Tests aren't enough, running the software isn't enough, high level system architecture isn't enough.

>As is so often the case with coding agents, having experience as a tech lead or engineering manager really helps here ... You need to be able to make smart, informed decisions about that system

In my experience, engineering managers are too detached from the system to accurately reason about the system. Tech leads on the other hand usually can given enough time, but they tend to defer judgement to senior ICs on the team who are more familiar with the code.

Point is: there's no way to have your cake and eat it to. You either read the fucking code and keep a mental model of how the system works in your head, or you have an overstated confidence in your ability to reason about the system (and this has been a problem well before LLMs).

Delving into the code is not the same thing as reading every line.
Yeah we forgot the goal of programming isn’t just to tell the computer what to do, it’s to program the programmer into thinking a deeper understanding of the problem.
While I fully agree, this is hard to sell to the other side, be it management, or a customer.
As a programmer, today I can confirm with no room for doubt that programming is dead (programming by humans to be precise, the act of typing code on a premise to present a solution to a problem)

We may consider ourselves the last programmers before the AI era

"Nobody is resolving bugs" is weird. Coding agents are great at resolving bugs! So much of what I see posted here seems more about how coding agents are being misused rather than anything inherent to them.
Of course that's what people are complaining about...?
I was reflecting on this on Saturday in an unformed way, trying to trace the lineage of a decision made at work

The code was stamped by Claude driven by a prompt. The prompt was for a ticket generated with the Atlassian AI integration. This digested docs generated partly by AI. The docs came from strategy memos I'm 90% sure were written with or entirely by AI.

The strategy was chosen by management at the urging of exec leadership. The execs communicate only via AI written memos. I do not know how they make decisions, but they reference tech influencers, market conditions, customer expectations

Where do these things come from? It is very murky. There appears to be hype. Some hype comes from true believers, some comes from cynics. But both respond to market incentives that reward bigger and bigger claims

Where does the market's action come from? Investors do not really seem to understand what the tech is or its limitations. They do not want to slow down to consider it, because they act in fear and greed to get on the bandwagon as fast as possible.

Nobody in this ecosystem really seems to be in control, really seems to be orienting work and action to a real goal. It's all based on speculation and anxiety about the future.

So it is not only, that nobody understands what the code does. Even if we did, we could not really describe why this was intentional. In fact there doesn't seem to "be" any form of "intention" in this environment. It is more like a runaway process.

Ironically it resembles the kind of "misaligned" superintelligence we are supposed to be avoiding

For me, at this company, which is struggling to develop a new value proposition, everyone is unfortunately using AI in a blatant way. It’s even worse when executives and management pressure us to move fast. Presentations, documents, and mockups all use AI, rinse and repeat, feeding it context, but somehow, nothing is moving. It’s just staying static.
The invisible hand of the market is in control, and we don't understand it either.
You could look at it as a kind of evolutionary pressure, where the AI driven companies that have no tether to reality are eventually extinct. Companies that are able to get a handle on the direction they are being dragged may have a fighting chance of survival.
(comment deleted)
Anecdotally, I know people in the industry who tell me their job is "so easy" now because all they need to do is be a meat proxy for claude and take home the paycheck.

Question from someone written in AI? Just answer it in AI and send it back. What was it actually about - who cares? Bug comes in? Post the jira link in claude and don't even bother prompting anything else. If something critically breaks - well, eh, we'll deal with it then. FIRE (early retirement), a prediction their layoff is inevitable, and investing aggressively so you can finally escape actually working are often invoked in the same breath. Everyone feels like they're just trying to punch the drywall and grab as much copper wire out of the walls as they can until they're finally let go and/or the whole company fails.

There's a great deal of nihilism and cynicism in the industry currently, and it feels like LLMs are just greatly enabling it. Where you would've done a halfassed job previously, you'd now do an unchecked AI job.

Well it's the incentive given. A bit like the original comment writes above. If your performance and impact are measured by charts, meeting outputs, some kind of abstract KPIs and other means that traditionally kind of worked because people had agency, you are incentivized to just slopmaxx it. Otherwise you will fall behind your colleagues who slopmaxx and have a better number on their abstract KPI.

If you get called out on some issue or shitty implementation, you can just make Claude abstract it away behind more complexity to the point where people have a hard time doubting you because they don't have time to get into the details and verify things.

Grab as much as you can, invest in immovable property and other shit that has value after a stock crash and enjoy the ride

> Everyone feels like they're just trying to punch the drywall and grab as much copper wire out of the walls as they can until they're finally let go and/or the whole company fails

That’s very graphic.

The thing is, I already felt a bit like that before AI. It’s just money. This quarter’s. The rest doesn’t exist. Make flashy features faster and you’ll be promoted. Make things carefully so that they last and can be maintained easily, and you are be ignored.

I say this not as an engineer that tried to write maintainable software and now is butthurt, but as an (ex)manager who tried to promote such people. And now is butthurt. I found myself telling my engineers that if they wanted to get promotions they had to prioritize the shiny and skip the rest.

I hated it.

Now I am back to Engineering. I do use AI heavily at work because no one cares but if my output is “too slow” I will look bad. I at least try to raise concerns when I see them. The answer tends to be “yeah, we can’t afford to do that properly now”.

I use AI way more sparingly for my personal open source stuff. Because I care.

> a prediction their layoff is inevitable

It probably is. Where I work it has been made clear, as in actually stated by leadership, that any process that does not include AI input is to be considered broken and needing to be fixed. It doesn't matter if it works, if it is 100% human made and maintained, it is broken and needs to be fixed by injecting AI in a critical place. You should be in a position that if you lost access to the AI tools, you are unable to proceed.

This is the step towards replacing people. You don't need highly paid people in that process, you just need someone who can speak a language the AI tools can transcribe. This is no different than moving from a codebase or process that is tightly coupled to a specific technology to a more generic process so that you can easily and quickly change the backend tech on a whim. The technology being removed is the people. The AI is important, you are not.

Exactly the same issues we are facing right now. And, well why wouldn't it end up like this? The promises of going 'faster' while ignoring the organisational processes capability to handle it is - and continues to be - the greatest delusion of this new age. But, even in the face of all of this, we are seeing leaders asking for more. At some point the culture will collapse in on itself, and no one will understand anything anymore.
Very good post, thanks! You remind me of the countless times I've heard "we need to be AI native", "use AI", "pass it through AI for review".

AI has become the thing you do, and what you do it with, to achieve it. It's a self-fulfilling chicken that is an egg that is a chicken.

> The execs now communicate mostly via AI written memos

It bothers me to no end when I get an AI written response, especially from the executive team or any one of my co-workers

It's like old fashioned Wordpress, edited by someone directly in production, on a shared host that probably is infested with who knows what, with little to no oversight except inscrutable emails, which in the old days were like a CEO of a small business emailing 'hey, the thing we spoke about on the phone, is it coming?' and no actual document trail.

Except for the enterprise customer and at enterprise prices.

To put a finger on a word: David Hume’s “is vs ought” problem.

Data can describe to you what exists. But it can’t tell you what you value.

What you describe is people who can’t tell the difference, and who let the machine (data) make the value judgments.

I don't think the problem OP has is anything so metaphysical as the fact/value distinction. This is a business, after all. It has goals (e.g., making money) that the model surely can grasp. It sounds to me more like a breakdown of organizational control owing to a lack of transparency in the tools and a general ignorance among the management.
Imo, most companies ought not to exist.

The parent comment is interesting, but ultimately I think in this case, the AI is actually revealing something about the true nature about their place of employment, a nature that has always been there versus some mutation caused by the prevalence of the AI itself.

A lot of money can be made purely algorithmically. Think market markers or other algorithmic trading. The ought vs is divide is quite narrow here. It's not a moral question, the "value" is in the money to be made. It's actually not a great example to invoke Hume's problem. Many companies essentially are chasing a similar spread, its just less obvious. Few people ever ask what "ought" to exist. If the power of AI makes more businesses operate more reactively and algorithmically, because of more data or processing power or w/e that really is probably in keeping with their alignment and goals. Because the ultimate ought for a company is we ought to be making more money. So, in many ways the ought is really not that interesting, the is is satisfactory provided the return on whatever their version of a spread is keeps improving.

The number of companies that actually "invent" useful things and thus ask even vaguely meaningful "ought" questions are extremely slim. The vast majority of employees are, at best, accessories to these questions, even in software where even before AI many of us where not doing very interesting work. There is a lot of essentially rebuilding your competitors same layers on top of common libraries and standards where the actual interesting work is done. Really not unlike asking AI to cook you up a boilerplate by leveraging the vast work of a fraction of SWEs who maintain OSS tools. It's the same pattern and the same sort of behavior, just now your "layering" is becoming automated to the point of irrelevance.

What the parent misses - the real promise of AI is paradoxically, that it will allow more people to ask actually interesting ought questions as AI owns more of the spreads. In the same way a human does not compete with an algorithmic trader, and at some level, really doesn't care. The more algorithmic your business becomes, the less any individual human "value judgement" matters. And really this is desirable, because again, most companies are not asking interesting value questions anyway. The end state of this you are missing is these companies are going to cease to exist. In the optimistic case this will free you up to ask more interesting value questions - like how do I value all my UBI enabled free time. In the less optimistic case your value judgments will be more dire - like who do I sacrifice given the Terminators are at the door and we only have x quantity of supplies left.

This is the other paradox. When questions of what ought to happen are of paramount importance, you are probably finding yourself in a very undesirable situation. It's easy to valorize the ought problem from a distance, it is much much harder to actually engage with it.

In many (most perhaps, but hard to know personally) companies, most people don't really understand the market they are in, the competition, their own products, the customers etc well enough to actually make good decisions. They also aren't likely to be around (or held responsible) for decisions as they play out over years. So what has historically happened is that people use proxies for good decisions and understanding - which are clever sounding documents and presentations.

This is a long winded way of saying "people made up clever/sensible sounding stuff". Now it's easier to do it with AI so the problem is worse. However, I'm not sure what you were looking for was ever really there - the "inscrutable machines" and "inscrutable incentives" were always quite inscrutable.

Yes, people can be bad at their jobs. Yes, they can work in an industry and not know anything about the market but I refuse to believe that most people in most companies are just stumbling around faking it. I've never worked in a place like that. People like this exist but there are only a handful of people like this at every job.

The hyperbole feels like it's been contrived to fit into the classic AI counterpoint: But humans do this too!

It's more nuanced than that - I never said faking it, people usually believe what they write in those documents/ppts. And they do actually sound clever. Next time you see a decision of any magnitude, especially something which sounds "strategic" - trace the decision back as far as you can, consider the question from several angles, and really question it. You will see gaping holes, decisions made using "frameworks", anecdotes, hopes and dreams.
It's not counterpoint, it's a fact. Can you say with your hand on your heart that the typical user experience was acceptable before AI arrived?

The reply was always "It's hard, and there are always going to be bugs."

But it's not just about bugs. It's about systems that are hard to use, poorly designed, and opaque. And sometimes the opacity is deliberate. There are dark patterns, outright lies about what happens to data, and more or less obvious grifts.

Was any of this truly great before AI arrived?

Is it an accident that you can't kill an MS365 subscription if you have more than X amount of GB on OneDrive, but the actual usage includes all your spam and email attachments, and it doesn't show up unless you know where to find it, and the location is very non-obvious, and so is the cleanup and deletion process?

Or that the eBay fee structure for international sales is utterly incomprehensible without automated help?

Or that if you select Subscribe and Save on Amazon your cancellation date is something like two weeks before the next delivery?

Or that if you sign up to Discord you need a mobile and an email for activation, but the site doesn't tell you this, and nor do tech support, who insist that a mobile is optional?

And software quality - services down, records lost, records stolen, photos and documents deleted - is a whole other layer on top of that.

AI is a moderately good solution to the first set of problems, because it can search and assemble information far more quickly than you can. So IME it's pretty damn good at tech support - not perfect, but better than DIY in many cases.

Software quality? We'll see what happens. If tech stacks collapse over the next couple of years we'll know AI was terrible thing.

I'm in the 'Too early to tell' camp. There's a fair chance they might. But if so it will be because of poor testing and design, not because of code review or lack of hand-rolled code. And it's not completely clear that quality levels wouldn't have dropped anyway.

> Can you say with your hand on your heart that the typical user experience was acceptable before AI arrived?

I remember using Windows XP (SP3) and Windows 7, Photoshop 7 and CS3, Office 2007, Blender, Winamp, Linuxmint and my computer was a joy to use.

The internet was mostly a repository of knowledge and communication. I was online maybe 30 minutes every few days. This was around 2010.

> most people don't really understand the market they are in, the competition, their own products, the customers etc well enough to actually make good decisions

"Product" studies this data and tells engineers what features they want. I am rarely instructed to A/B anything...excepting when it's defensive, to ensure the first rule of "don't interrupt the flow of money" is upheld, if at all. Most of the features are obvious improvements anyway (determined from plain conceptual planning, manual testing, and personal usage).

ofc I don't understand the customer or market or anything else. I'm paid with the expectation that I'm not going to share an opinion about it, especially since am never exposed to the raw data and inner circle decisioning except during a quarterly meeting...maybe. This is part of why AI is so successful. Humans in large organizations are specialized with little creative input and lots of mechanical process. Coding is largely a mechanical black box (turing machine) from the outside looking in. It works seamlessly because I don't need to know about the things product wants, so the AI doesn't know and everyone carries on faster than we were before.

This is why we are building Origin (originhq.com). Having a record of every prompt, tool call and model response enterprise wide allows you to answer these kinds of questions.
(comment deleted)
No human will read that though.
It is for execs
This resonates, but also, I'm not convinced anyone can truly understand the workings of any society, or market economy, or what have you.

Who's in control? Everyone is, to some extent. And no one is: when you're hungry for food, are "you" in control of that? You can consciously repress your impulses to go eat something, but your mind didn't create those impulses.

Human societies develop impulses and minds of their own, emerging (weakly) from the impulses and minds that comprise them, and they make decisions in mysterious ways.

Of course, it sure is nice when we can come up with a compelling story for the motivations behind something. Easier said than done…

(comment deleted)
One of the more thoughtful observation's I've seen in this "space," one which offers an unsettling counterpoint to the claim in the original post that "AI Can't Drive Itself."

To your point, AI can drive itself; it's just that the fashion in which control occurs is distributed. Which is to say, the process (e.g. a feature being implemented, in some way, or at all) is not spontaneously occurring: it's emergent from the mesh of AI automation.

Niceties aside, it's pretty clear that humans are not in the loop in a meaningful way, much of the time. What emerges may hence not well be not aligned with business or technical needs. What it is aligned to may be impossible for we humans to discern.

Who controls the way a forest grows?

Ask a tree, get an answer, but don't forget, that's not the answer.

Ultimately competitive pressure is what is driving the decisions: if something is making uncompetitive decisions then they will be out competed, leaving only those that make competitive decisions.

I don't think this has really changed with AI. What has changed is the definition of what is competitive (fitness) is changing rapidly and as a result there are a lot more orgs making poor decisions. Also its more "raw" or "visible" now I think.

> Ironically it rather resembles the kind of "misaligned" superintelligence we are supposed to be avoiding.

yes, and it is the exact same system that is producing the "misaligned" superintelligence. Funny how that works.

At some point deferring all decisions to AI will be the competitive thing to do.

The word I have for this is “commitment laundering”. People pass around AI artifacts that nobody has necessarily read or considered, and the invented assumptions and tagalong commitments just keep piling up. They look like they’ve got real provenance but nobody can say what is being done or why.
Right up there with responsibility/culpability/liability laundering. These are things being shrugged off and externalized.

And the complement is credit/provenance laundering. These are things being misappropriated.

The grift often does both of these with the same sleight of hand, and this is what gets accelerated with the new tools and cavalier culture around everything.

Most people are trend followers and what trends they see decides what trends they follow. It sounds like the algorithms that chose which influencers to promote made the decision, which was already somewhat true before the current AI trend. This happened when there was a big push from deterministic feeds to algorithmically ranked feeds by facebook and twitter. I guess an argument could be made that the people who chose what content to consume feed the algorithm but really there is a heavy hand on the scales that tilts the algorithm in favor of various things.
> The code was stamped by Claude driven by a prompt. The prompt was for a ticket generated with the Atlassian AI integration. Atlassian had digested docs made with AI. The docs came from strategy memos I'm 90% sure were written entirely by Claude

Was there never a developer in the loop? I hope my org won't give up control of their business to an AI like this soon, sounds like a nightmare to figure out what's going on.

> Nobody is actually orienting work and action to real, concrete goals. It's all based on speculation and anxiety about the future.

the simulation has become simulacra! cosmic horrors abound.

I see this is code in a smaller level. It lands on an alternative but in the end nobody actually chose it, not even by personal taste.

Yet everyone assumes that, like before, there must be a reason.

Worse, we can't tell apart real decisions choices from the dream-machine side effects.

Thank you for taking the time to write this. Unfortunately, there are still people on this forum who argue that a turtles-all-the-down approach will somehow work out in the end and that the best way to verify LLM work is to add another layer of AI agents, whereas the only way to stop it is ensure that the entire thing is built on some human verified last line of defense. Unfortunately, the higher up you go the more insecure people get when you ask for their supporting sources. They'll try to hand wave it saying they researched it or got others to research it for them instead of owning up to deferring the decision to AI. You know whats even scarier? When a C-suite doesn't try to hide the fact that they had the AI make the decision. Then it's just time to leave, or alternatively time to turn your brain off and collect your pay check until the music stops.

>Perhaps reflecting on the state of the market, I thought, could indicate who was actually in control. Where do investor and customer expectations come from in 2026?

This looks like ill-fated Gartner driven development on crack. Where does customer expectations come from in 2026? How about from your customers?

If you're doing enterprise software and talk to your users, you'll end up learning that the actual users of your software don't use 80% of your features. You might even learn they don't use your software at all, and that the software was mandated top-down from the C-suites or that the execs in charge forgot what purpose your software served but are too insecure to question it, unless and until there is a sudden pressure to cut costs.

From my experience in big and medium sized companies or even startups I would say that this was already the state of things before AI. Most leaders and top management were following internal committees, that were following consultants recommendations, that were themselves recommending what others were doing and was hype and/or following Gartner like "studies". The motivation was equally dubious, and many developers already had problem with management and product direction, but many didn’t bother to question it. AI just makes it obvious.
this is a good summary of the problems of AI decision making, but its assuming corporate decision making before was any better.. its probably about the same

ie we have companies making decisions just as badly before AI as with AI..

You need human vision and leadership to move an org.. AI is just a tool at this point

> Nobody in this ecosystem, I thought, is actually in control here.

Profound, your comment provoked this thought: we know that AI in organizations is disruptive, but we still don’t understand some of the shifting patterns of power, communications, agency, etc.

If AI is not well-suited for traditional models of stratified management then maybe we need different models of bureaucracy?

That is a great example, and kind of frightening how once the market decides to start pumping money into something our world morphs to meet the flow of cash.

AI is definitely impressive but are LLMs the true path to AGI? Is AGI the path to a better life/world? These tools are really impressive but it would be nice if they did something actually useful. Can a rogue OpenAI agent draw investor attention by curing a disease instead of hacking into the CIA?

So AI is already in control with humans just rubber stamping the output?
>We’ve had to know everything about the product/business from day 1

I know this is being hyperbolic but I thought this was an odd post to include. I've met plenty of data engineers that don't have great knowledge of the business/product and SWEs that do have that. ¯\_(ツ)_/¯

It's not a given. It's about willpower and care. LLMs are the ultimate crutch. I over-rely on the crutch, more and more people will over-rely on the crutch. But it is still inherently a psychological problem.

You can still know things and get force multiplication out of LLMs, if you are disciplined and caring enough. In practice, most people won't be. And you can't force other people to be. But you can force yourself to be.

I remember when:

> You can still know things and get force multiplication out of StackOverflow, if you are disciplined and caring enough. In practice, most people won't be. And you can't force other people to be. But you can force yourself to be.

The tools constantly push you away from any conscientiousness about the work and towards just letting them do everything.
A man has to write program for himself and a man has to use the program. A man needs to define in code what the program does. If AI defines what code does then man has not written program for himself.
The future of engineering is product management. I don't believe there is any world left for people whose primary responsibility is opening pull requests; and we're seeing the angst against this happen from both directions. Engineers hate it. Leadership feels they don't need them. The truth is somewhere in the hazy middle; we're just in an uncanny valley right now where neither side can take the leap to cross the valley: the agents aren't good enough yet, and the bigger problem is that there's no job title or corpus of experience leadership can look to and say "Yeah that's the person we need in this role".

The labs saw this early, and thus many roles at the labs are "Member of Technical Staff". That's the future for every software team. You're not a software engineer anymore, but you're also not a PM, nor a designer. Think horizontal slices, not vertical: Every human's responsibility is to leverage AI to be an expert on everything necessary to deliver some vertical slice of the business.

> The future of engineering is product management

Product Managers have been claiming this for years now, but put an AI in front of them and they also just start asking it to do their product management job for them.

Worst ones I witnessed were just using it to hallucinate tickets. I saw one even fired because of that. Endless mountains of text going absolutely nowhere, both me and the CPO thought we were going insane from reading so much Claude-ish.

Best one I know used Copilot to code a "Notion to Jira" exporter so it copies requests from business people into Jira. Automated their own work, did nothing else other than monitoring the Python script daily and running ceremonies.

They can pontificate all they want about taste but: modern apps are all copycats of others, work badly, monetization strategies are spaghetti against the wall...

Product management will be replaced by AI way sooner than engineers.

Reading comprehension check: I never said product managers would be the new engineers: I said that engineering is becoming product management.
When you write something you constantly remodel your understanding through refactors and rewrites until you internalize it. By internalizing it you gain the capacity to reason about it (during critical downtime) and communicate it. An entire team that can communicate can solve problems together, from one guy's vision to products white boarding to engineering's infrastructure to UX and UI's artistry.

It boggles me we completely forgot that the world operated like this just 4 years ago

I am simultaneously deep down in the agentic treadmill and also supremely frustrated by this.

And I don't think it was ever necessary to go to the point where people just gave up authorship. These were choices made by adopting the "I'll do everything for you" agentic "harness" model that shipped with Claude Code but it was never inevitable.

e.g. we completely dropped fill-in-the-middle completion OG CoPilot auto completion model. That combined AI authorship with a human always in the mix and I actually really enjoyed it. It's just that the models involved were pretty stupid. We totally could have had IDE / shell / tooling integration that kept people in the driver's seat while automating parts of the drudgery away. Instead what we got was a simple chat loop with "oh, whatever, you go do it" being the ultimate result. Cuz, you'll totally review everything after and understand it, right?

The things should end by quizzing you on what was just made and if you don't pass, just throw it away. That'd be funny to watch.

(comment deleted)
The way I think about it is that understanding is formed in a top-down fashion now, instead of bottom-up. You can look at a feature developed by AI from the outside, and keep peeling the layers and examining them (or having AI explain them to you) until you learn how it works. It's like reading a textbook. It is different than writing the code yourself, or practicing the topic of the textbook yourself. But if you invest the time, it can be just as effective.

The issue of course is that if you do invest the time, then you're no longer saving time by using AI. You're just spending it reading and trying to understand something you didn't write. And that can be unpleasant in its own way.

My hot take is that for parts of a system that can be considered its core, forming a deep understanding is almost always important, and so is knowing how the different business domains integrate and where the connection points are. For many others, a high level understanding is sufficient. The difference is that now, with AI, you can make that choice. Before, you had to write everything yourself, and for any sufficiently complex and long-lived system it became impossible to hold all of it in your head.

I disagree that reading a textbook is just as effective as solving problems yourself (this is what i read your statement to mean). It seems fairly obvious from university experience that doing the homework yourself gets you better test grades in the end. You can of course have the AI write the homework but you can't then just watch the AI solve it lest it be drastically muted in effect. Trying things that fail, working hard towards a problem, banging your head against something impossible, these are all worthwhile endeavors. Of course reading the textbook is useful too, very useful! But the textbook does not teach you experience.
> Trying things that fail, working hard towards a problem, banging your head against something impossible, these are all worthwhile endeavors.

I believe that this is the most important thing... and something that people are afraid of. I've got dozens of personal projects and more than a few branches in my employers repo of things that didn't work... things that I tried, figured out it wasn't going anywhere and went to try some other approach.

I suspect that there's a bit of sunk cost fallacy going on elsewhere. "If I don't know how to do it, I'm not even going to try" and "I got this far, I'll keep doing it despite it being wrong."

As a programmer, I am often disappointed at the lack of curiosity in the language and how things could be done. My example would be people writing Java code as if it was still Java 7 - no streams, no Optionals... The fear of having to go back and do it again if using something new doesn't work they'll be in a worse position than if they did it the old way and not realizing that learning what doesn't work or seeing how things that didn't work in this situation may be the right thing for some other future problem.

Sure, but what level of understanding do you actually need? Only you can be the judge of that obviously, but I posit that for the vast, perhaps even the overwhelming majority of any system's components, a high level understanding is sufficient. In fact that's how it already works: it is rarely the case that one person knows the team's entire codebase inside out. Instead different people specialize in different areas. With AI it's the same thing: you can achieve the level of understanding you want with the most important parts (either by having AI explain it to you, or architecting it and writing the code yourself), and delegate everything else to AI.
> It boggles me we completely forgot that the world operated like this just 4 years ago

I'd think that's what they call paradigm shift, and this probably repeated across generations from the introduction of the printing press, PC, the wheel, the internet to stochastic parrots that reduced what we still stubbornly insist require our special neurons to mere statistical modelling that can be aggressively scaled.

> When you write something you constantly remodel your understanding through refactors and rewrites until you internalize it.

Unfortunately I learned that not everybody thinks this way. Some orgs do imperfectly fine without good engineering discipline, and that has been the case before AI... AI has only made it easier to give the appearance of good engineering, which is exactly the pre-AI goal of many orgs

Assuming we don't speak about some vibed "one-shot-deploy" situation (for which there were options in the old world as well, with the same bad results), in a well disciplined team, why would AI make this worse?

You can still write anything by doing it either small steps, or at once followed by a lot of refactors while skimming over code and asking tons of questions / making refinements via prompts, guidelines, test guardrails. A team can still reason and whitepaper about the same things. Devs who were previously shy to ask some specific details (to not seem dumb) can now confidently survey big codebases and get insights in whatever style they can swallow.

The bigger problem I see is that all this requires a lot of communication, and most importantly writing skills, something that disappears in thin air in the last decades.

My experience is the AI has somehow thrown discipline and accountability out the door.

Folks break everything all the time and looking at their PRs and messages are clearly just having the AI respond to everything for them and actually have no idea what they're doing.

And then other people doing the same thing approve their work (presumably not reading or understanding any of it) because then the other person will do the same for theirs.

Hopefully my experience is an anomaly though :)

There are still some places that operate that way, as outlined in this Jane Street talk https://www.youtube.com/watch?v=zR9PpXWsKFQ (Production Engineering When Trading Billions of Dollars a Day).

> capacity to reason about it (during critical downtime) and communicate it

That's one of the things that's put into limelight in that talk.

I personally think that most of "Web Scale" software is inconsequential (inconsequential for its creators, not for users) - as there are no consequences for bugs and outages at all. A data breach -> slap on a wrist. Reputational damage because on an outage/data loss amidst general public? - almost impossible (clownstrike, anyone?)

The funny thing is that web scale software that's consequential is often in an ethically grey zone - but at least you won't be surrounded by colleagues who don't give a shit.

The problem is always maintainability, which can only be achieved through human understanding of code.
Understanding code is trivial, with AI support. LLMs are better at summarizing and identifying side effects than writing code. Granted, not perfect, but about as good as a person.
> But the final boss is, and always will be, maintainability.

Always has been, always will be.

I am actually hopeful that AI will finally break the industry and force a reckoning around this. Some of it goes to our economic system. New builds are usually capitalizable, flashy, and a great way to get promoted.

Doing ten to fifteen years of thankless maintenance, keeping a critical system alive with high quality? Usually nobody cares, and it's OPEX, not sexy.

Too many young people in startups without enough experience.

I was in a Hackathon for students which quite a few staff, like myself, infiltrated. The results were completely unfair, staff and teams with staff (like mine) cleaned up the awards.

In my case I was working with a student who was much better at writing platformers in Unity than I was and an another student who could draw the art we needed even if she'd been trained to think every problem we had interacting with each other had something to do with "the patriarchy".

Myself I'd been in many startups where the game was make a half-baked demo that you could demo on stage and get people excited about it. So everything from presenting broken software on stage and making it look not just perfect but enticing and developing software that has the qualities it takes to present it that way was routine for me, the bit that isn't routine is onboarding unexperienced people to this life in two days.

The more things are unprecedented, the more you need a longer view with more experience.

This article assumes that this problem did not exist before AI. Especially in large companies like Google, the number of people who actually knew what they were doing was relatively small. The vast majority were just piggybacking on other people's work, which I absolutely hate. At least AI has made this obvious, and the difference between people is now their taste, which, for the majority of people, is bad news.
This! I work for a company that has several systems that are older than 20 years and no one really knows how they work. We are using AI to actually get insights in how they really works, to be able to rewrite and modernize the applications.

I can't read the source code since it's 8 million lines of code and written in a programming language I don't know and in a language I don't speak.

> I can't read the source code since it's 8 million lines of code and written in a programming language I don't know and in a language I don't speak.

^ This is the real world. Some comments talked about how maintainability is king and you just can't keep a mental model together of what the LLM produced. In real life software there is no single person with a mental model of how the system works end to end. In the most ideal scenario you have an architecture diagram, some readme's, and a runbook of how to use the system or get it running in a dev environment. Everything else is manually tracing through mountains of code of wildly varying quality.

coding harnesses are god sent tools when it comes to analysis and maintainability of existing code bases (including code they have produced).

I agree writing completely new systems with LLMs is now near impossible to keep in your head, however, the onus is STILL on you the individual engineer. You are mistaken if you think that's changed.

So, if you're pooping out code, and committing it because tests still pass, and that's all you know, you're in for a treat. When an executive wants to know why a b0rked feature lost their department millions of dollars, guess who will have to answer for it, and its not the LLM.

My advice is to find ways to keep on top of how it all works, and if you're the only one who cares, well, then, that makes you even more valuable, not less.

> the onus is STILL on you the individual engineer. You are mistaken if you think that's changed.

In a lot of shops right now, this leads to an accountablility-authority gap. Where AI changes are merged in quickly without review and without my input, how can I be responsible for understanding the system? I can't. Its the same with reliability.

A lot of good engineers take it a a personal duty to understand the system and keep it up. The way a lot of businesses are using AI makes that impossible. And your job might just be cranking out features, with regard to little else.

I think this is what is stressing a lot of engineers out. It might be worth having a conversation with your boss about what you are actually accountable for. If your boss agrees you are not responsible for uptime, reliability, security, or even understanding the system you might find yourself much happier. If you your boss wants you to be accountable for those things, then you should feel empowered to ask for authority over the things that give you control of the outcome.

These year and a few next ones will be the years when everything was possible.

We have both the tools and the skills.

Later, we will loose the skills because of AI and the depletion of natural resources will lead to the scarcity of the tools.

The Computer Chronicles – Word Processing (1983)

https://www.youtube.com/watch?v=Jt0OoXluC8g at 4:08:

  Writers disagree on what effect word processing will have on the quality of our written language.

  Some writers are concerned that computer assistance may promote dry bland writing.
that tweet about the fast moving startups looks like almost the hypothetical AI nightmare situation just dreamed up. Assuming it's real, i mean yeah, people shouldn't work for these stupid high-moving startups I guess. From my perspective, "when did startups NOT suck?". The code was always garbage at startups, the push to work 12 hour days was always at startups, "nobody is resolving bugs" ha well yes, welcome to a startup? I hope the guy is at least getting paid and doesnt have to hire a lawyer to get his checks like I did. startups suck
Exactly my thoughts..thank you for doing the working of actually writing it up.

As I was reading the OP I kept thinking..well this sounds exactly like what used to happen before AI.

The more things change...

Companies will pay hard and high...