Here be monsters: What do you still need to know when agents do the work?
j / k
|
Down or up a comment |
h / l
|
Previous or next link |
?
|
This help |
The skill I learned is exactly as you describe: understand the system. For me, this means "boxes and lines", the components and how they interact. I've encouraged developers on my team to make sequence diagrams part of their deliverable, because it helps both of us put the code in the context of the system.
The boxes can be opaque because I know the boundaries and expected inputs and outputs. This tells me when I need to go in a box: is it sending a malformed message? I can trace that back into the code.
I think that's the skill we have to cultivate now that coding agents produce far more than we can review line-by-line. The system view is the map, and the boundaries tell us where to go hunting inside the box.
Yes, we should be building systems.
No, it’s not equivalent to managing a team, because the AI has no skin in the game.
A decision an AI makes is not equivalent to a decision a human makes because the consequences are not equivalent. An AI cannot be fired; cannot be sexually rejected; cannot disappoint its loved ones; cannot spend a cold night on the streets. A human who makes decisions with complete disregard to material consequences is a human you need to get off your team ASAP because they’re a ticking time bomb: a liability.
So, in building your systems, you need to be sensitive and aware to the fact that AI has no skin in the game.
You raise another point though: agents are not human. The things that drive agentic loops are not at all the things that motivate humans to do good work.
That's probably where the human-management skill ends in this new world. The techniques that get high quality from humans do not apply to agents.
But it will work all night and on weekends. It never gets sick. It never forgets to do something. And as far as I can tell, it does it best work all the time.
That's enough skin for me.
Engineers (builders) who recognize that there is a difference in assigning a task to a human and a task to an agent will have a competitive advantage over those who don’t. That’s not to say that agents can’t be used at all, only that how they’re used is critical.
I wish that were true. Even Opus 5.5 still ignores instructions and finds things it missed on a daily basis.
It'd be one thing to highlight bad teams you've been thrown in to; its a very different one to state that about the teams you've hired.
What was it exactly that prevented you from building good teams, with good process supporting them; that limited you to 20% good hires??
Will this be the case in 5 years, probably. They will certainly be different rabbit holes.
I wish I could be as bliss about the whole situation as you are!
AI will never have this. AI is a product, and it has no motivations or self-preservation. The only goal for the AI is to increase your lifetime token spend to maximize profit for corporation.
The consulting agency tells you they hired the best senior developers, then hand the project over to a junior developer that doesn't know anything about your project and could be reassigned at any time.
I consulted for a client who cut off an offshore consulting firm after they billed 40 hour for a one line CSS border-color fix change. We were suspicious of billing fraud, but the quality of developers we'd observed wouldn't allow us to rule out hanlon's razor.
The hiring restaurant knows you can and will walk as soon as you land another engineering gig.
But completely unmotivated financially independent people are probably the worst people to have on a team, yes.
Even if you're relying on extremely thorough test and validation, well someone who understands things at a low level has to write said tests and validations.
So long as humans are legally liable, this approach will only work until someone gets sued. Which means human experts will need to still exist and be trained, perhaps their training will just have to be more explicit rather than gained through the act of building products. Companies will hate this.
How do juniors develop it? Yeah, that's the tough part. Those years spent slogging through very tedious work got me here. You have to exercise to build muscle. Maybe we need to find some way to let people exercise the skills without the hands-on slog? I'm honestly not sure, how are you seeing it handled where you are?
I'm not seeing post-AI training of juniors handled at all, anywhere. The closest thing is what my employer does where for liability reasons every command executed by an AI agent, even as simple as an ls, has to be manually approved by the developer. This has the side effect of walking you through the AI's analysis, which can be quite educational.
Given the general culture of corporate cost-cutting (the whole appeal of AI is it doesn't need a benefits package), it's possible we're heading into a future where people trained pre-AI turn into a dedicated guild of professional troubleshooters, demanding fat paychecks to parachute in and put out fires when a company's giant blob of agents fails and their in-house staff lacks the deep knowledge to figure it out.
There are definitely companies that are being short-sighted on this. I've seen this come back and bite them (usually, not always).
I'd argue that if the company doesn't provide this, then people should rely on their community. I'm lucky enough to live in a place that has lots of meetups and we talk about this. Absent that, there are plenty of active discussions online, as this very thread shows.
The bonus of working via the community is that's where you can find a new opportunity if the company doesn't take care of their people.
Now the juniors are cooked anyway, but not because they didn't learn the skill of software development.
At the same time, what I saw during that time was that organizations that actively sought to help juniors transition their skills to match the tools did better than those who just left everyone to wander around in the dark.
These roles are nothing like a technical specialist. It doesn’t hurt to know a few things about the general technical details, but a manager or PO getting involved into technical decisions or being too deep in the code is generally an anti-pattern.
Not comparable with a sloperator. The sloperator is ultimately responsible for what their agents spit out. If something bad happens and the law comes looking, it’s their ass on the line. A sloperator will have to set up and manage some review or QA process by themselves. They will occasionally have to look at code, even if this goes against the entire raison d’être of the sloperator and maybe fix it or ask their minions to.
The “yer a manager Harry!” cope needs to be put to pasture. No company thinks that these people are an actual manager or actually managing anything. They’re still ICs.
The failure that actually matters here is product failure. Angry users. Security incidents. Downtime. Broken workflows.
Stressed and uncomfortable developers have, historically, been a leading indicator of product failure. Software is complex and when devs can't handle the breadth of ownership + the depth of expertise at the same time, it means bad work that leads to product failure. It's not clear that agents fail in the same way, or that our collective intuition about how and when to trust agents is sufficiently developed to predict product failure in the same way.
As anecdata: I know a bunch of growth-SaaS/last-batch-of-IPO companies where the devs are all stressed, the feature ship rate is up, and incidents are down. All at the same time.
So yes, quick learners and just-in-time depth is important, but so is intuition about where discomfort is going to produce true failure. The discomfort isn't a feeling to throw away, simply trusting that you'll learn everything in time. Ownership requires holding a model of the system in your head and proactively steering where you dive.
I think that the whole premise of that failure affects things is based on a older model. You kind of assume that:
1) users are able to easily gain information about alternatives. We have seen that since LLMs replaced search engines, we have much less churn.
2) users are not behaviorally addicted/pushed into patterns. We have patterns that utilize users to keep using the app by exploiting their cognitive weaknesses
3) users have the mental fortitude and stamina to learn new tools instead of accepting flaws in the one they are used to
Some failures and bugs in prod don't matters as much
I'll go out on a limb and guess that at a hyperscaler, shipping a bug to prod means hitting canary or 1% of traffic. Seems fine!
I think my point still stands, even as the shape of failures shift. There's certain ones that still hurt (data corruption, exploited security holes, etc.) because they're hard to notice. It might even be that the primary goal of ownership is to develop intuition about where those failures are likely to happen.
A small bug implemented by an agent in the way R-multiples, stop loss distance, or P&L heatmaps are computed will never be complained about by the user—either he will trade incorrectly and lose his money, or see that single off-by-one difference compared to exchange ledger and churn forever.
I hope you are aware that you are outright evil. I also hope that you will manage to stop justifying it as acceptable.
If this is the face of our industry, that might explain a lot of things...
Instagram tried to take the "good" path in 2014 and lost 90% market share to TikTok who attentionmaxxed things. Then they had to take the exploitative path to claw back users.
As long as it's not regulated for everyone at the same time, you need to do this for survival of your product.
"Hmmm, but if I cap the Torment Nexus, the competing Torment Core will win out, we can't have that!"
TikTok would survive and do just fine even if Instagram decided to cede the market to them
I am afraid there is a demand for the torment nexus, and until govt steps in, you're out of luck and behavioural surplus is there for the taking by any means.
I think I'd need to take a zofran if I met you IRL.
Being evil for no gain whatsoever is quite extreme absurdity, though it also happens to some.
The real alignment issue isn't in the challenges getting AI to align to human values.
It's in humans understanding what is worth aligning to.
"He chose... poorly."
Absolutely, and the feeling of discomfort is a signal that you need to dive, a signal that your mental models might need updating. I think that builds up over time through many dives
If you don't know what your schema should be, then I think this is the dead canary in the vibe coding coal mine. Back up to the design phase and talk to the robot about the domain until you have a really strong conviction about its tuples and relations.
Data and its shape is one such rigid structure. It will stay with you long after the code around it has been replaced. You do want to be intentional about it and build intuition for it.
Once you have that in place, you can stretch out a web of agentic fabric across it, and pin it down with tests.
Code is soft nowadays, but data isn't.
Naming, in general, is very similar to what I expect from colleagues who have weak English-as-a-second-language skills.
You let it run too wild and you’re suddenly left trying to reason why your LLM is trying to add an interaction between an Intermediator and a FromSpinMaxWriter.
should we stop treating the idea that humans must possess some capability AI can never replace as the starting point for discussions about humanity's future?
I'm inclined to think we should.
Preserving human agency is a moral and institutional choice, not something that needs to be justified by human cognitive superiority
It's the problem of delegation: you can do more of something, but worse, the more people you bring in. LLMs are just a very cheap contractor with a zero liability clause and some unchecked sycophantic tendencies.
1. what we currently perceive as a lack of capability in a particular domain often comes down to the model simply not having received targeted RL training for that domain (yet). Look at Opus 5.5 in motion graphics: after its first round of specialized RL, it was already producing work that surpassed the average professional designers(and it's using vanilla javascript vs human with After Effects, let that sink in). It doesn't need to beat the top 1% of designers to fundamentally disrupt the profession. Most professionals aren't the top 1%.
2 people rarely hold agents to the same standards and workflows they apply to human professionals. A human designer gets to iterate and refine until the work meets expectations. Yet ppl often judge AI based on oneshot or fewshot attempts (these are just "wishes") and treat whatever comes out as the ceiling of its capabilities. Why shouldn't an agent be allowed to iterate against the same acceptance criteria until the result is good enough?
that's before considering domain-specific skills& loops, which can dramatically improve performance in specialized tasks.
The relevant comparison isn't an experienced professional vs LLM given a prompt five mins ago,it's a professional vs agentic system w access to the same project context(including tools and feedback, and opportunities to iterate)
The issue is that what's considered "moral" by the majority of society does not stop those already in power from doing as they please (the institutions).
There is a fundamental inequity that exists in our society that allows those with more to have an outsized vote in determining how the finite resources (human/land/capital/etc.) on this planet are distributed.
> I'm inclined to think we should.
Mate, I think we're not even invited to the conversation. A small group of people are planning humanity's future and they're going to inflict it on us whether we like it or not.
You know, unless someone stops them somehow.
Reverse Gell-man? https://en.wiktionary.org/wiki/Gell-Mann_amnesia_effect#Engl...
That's a nice way to put it.
But I also care about the complexity classes of the solution. I prod it about the time and space complexity, and about cache locality.
I do a lot of black box testing: take the solution, see if it does what I expected, then bake in those expectations in a document.
I find that if I do those things, it produces better code than I could do in the same time.
I also think it's more or less the same as how I used to work, just more thorough and with fewer time-consuming, trivial bugs.
And that's the only reference in this article to this very real problem. How do you maintain your expertise when you stop doing technical work? It'll hold for a while on its own, but then it falls.
But that's a Q1 problem, so no biggie.
Before agents that is what every high performing person I've ever worked with was like. It was the kind of person I wanted to hire when I was in charge of that sort of thing. Enough breadth to know where to dive deep and enough willingness and curiosity to dive deep.
I’ve tried to curb this style in them but they just seem not to be able to help themselves.
One thing that puts me squarely in the Optimist camp is that such a map can often be created by AI just-in-time. Sure you might not know every detail of what it said, but you can simply follow up and build your understanding.
2. Breadth
3. The ability to figure shit out just in time
Not needed: ability to wrap a tweet worth of info in 5000 words of fluff
"The CI tool was flagging an issue, perhaps correct, perhaps incorrect. But this is a real system so I had to dive in."
By diving in he ultimately just uses the AI to fix the problem:
"So I told Codex to make SonarQube happy, which it did by refactoring and splitting things up into 10 files".
Why isn't there a "shallowbot", or some CI configuration that tries to fix CI mistakes once before humans dive in? Plus it's not that deep, it's just shit code that was fixable with a "make sonarqube happy" prompt. I think the author is ashamed to admit that he's as generalist as everyone else now.
Still shocked that people do this by hand in 2026.
For what it’s worth, I think OP hit the nail on the head for you software devs out there in terms of post-AI changes: sure, specialists who can maintain total comprehensive and detailed knowledge of a single system’s codebase will always be in some demand, but the true generalists (who never do dives) and T-shaped (who never specialize enough) are arguably better replaced with AI in many corporate cases. Those in a position to succeed under AI are the owners who do deep dives on-demand to learn or fix things (hi!) or the T-shaped workers willing to start going on more deep dives.
It’s very similar to the reward structure of the IT industry since outsourcing and visa exploitations became the norm: nobody really has immense in-depth specialty experience in a single system, because that track isn’t often needed in work environments. Rather, specialists often end up leading departments while owners lead companies for the same sorts of reasons the author laid out: fundamentals, breadth, and on-demand depth. It’s more valuable in the marketplace knowing how to migrate off VMware to another hypervisor while also being able to fumble-write the new API calls for your sludge pipe to deploy into the new environment and also supporting the identity/collaboration/SSO stack than it is to just be an Okta or VMware guy specifically.
It also means leveraging AI effectively on-device makes you (or me, in this case) that much more valuable, because I don’t need a Claude or OpenAI or Gemini sub to “work”, I just need compute (which is cheap and plentiful). Because I’ve gone on these deep dives before, I know how to steer my agents to solutions that are adapted to product changes (like a recent Mac keychain issue); the same would apply to software devs who have plumbed problems directly when they could rather than sloughed off blindly to the agents.
Thanks for the write-up. It’s nice seeing the topic written about from the lived-in middle as opposed to the extremes.
Just giving up and ceding control of our codebases to the robots is not a serious engineering proposition.