back
110 comments
> You can make lots of money by making something appear novel and undiscovered, and consequently make yourself sound smart and cutting edge.

This is pretty much the crux of it. It's very similar to the strategy of undercutting a market with VC subsidies until it dies and can be replaced.

VC subsidies are no longer enough, now we need IPOs to keep it going...
As an MCP engineer, how dare you
Sounds like Apple.
The central point, that working with agents is some tried and true variation of existing processes, is incorrect.

Managing agents has some similarities with EM and program management but a whole lot of other dimensions like token use, avoiding drift, successful concurrency at scale, variations in prompting, testing, evaluation, etc., not to mention that the agents are hyperintelligent coders with zero common sense and a penchant for extremely literal interpretation and ultra-verbosity.

This just reads like engineers. Token use is time, labor cost. Drift happens with humans too when they’re over-extended on a task with not enough check in. That’s why we have standup, to avoid drift. Prompting is management. Zero common sense and a penchant for extremely literal interpretation? That sounds like an average engineer who may or may not be on the spectrum.

Ultra-verbosity, okay you got me, humans don’t do that. They do over complexity though, when it makes them feel smart.

Yeah. Just because you can list a lot of ways that two things are similar, it doesn’t make them actually that similar in practice.

That’s why predicting the future is really really hard.

How many of these complications will anyone even remember in 12 months?
This isn't an issue for engineers only, it is basically ingrained in the current system in the world. The problem is in simple terms; the fact that being a polymath is absurdly hard in today's world.

You can't not reinvent something if you don't know it exists in the first place.

The thing about software is that it slots nicely into every other field, making it a _very_ good base to work off of to get concepts (aka the modern bootleg polymath) that have likely been invented in other fields (with different names).

I'm a hands on engineering leader for a team of about 20 engineers and I've been spending the past 6 months trying to get my team to understand just this.

On Friday we had a coffee hour to share how we've been working recently and they all seemed perplexed at the workflows I've been adopting. It seems natural to me as someone who's been a manager for some time now, but very alien to all those who've never gone down that path.

That's not to say my workflows are superior, but they're extremely different to some of my teams now. In reality it's just leaning heavily on things like prds, limiting communication between agents, etc.

Out of curiosity, what was the path that the engineers have been taking? The limiting communication between agents to my mind is obvious to anyone who hasn't swallowed orthodoxy Agile development completely whole. And in my experience the people who have, are rarely the devs. Context switching, between agents, people or whoever, require ramp up time to relearn context. It's always slower and more expensive, other potential upsides about long term training or developers being more replaceable notwithstanding. But no agent gets long term training, not in a 1M context window.
In the few instances that I’ve been able to see a total stranger prompt a model, I learn a lot about them.

The model output is fairly uniform because the models are fairly uniform, but the input is how I understand the prompter’s theory of mind for the LLM.

The higher fidelity the theory of mind, the more productive the resulting conversation is. Basic things, like knowing what the model is even aware of.

It’s okay at subjective product judgements with limited context, and so the best engineers make the most important decisions themselves, constraining the model’s solution space to something looking like success.

Maintaining consistent progress towards a common goal with a bunch of different perspectives is the job.

Can you share some details of the workflows that work for you?
Is anyone on your team not using multi agent?
Relatedly, I fully expect the software business to fail to learn from (nearly) literally every other industry how to operate when your marginal costs are no longer zero. It drives me nuts the number of people in software who think that people in other industries are slow because they’re just not as smart as us, rather than because when it takes months to get a cast part made, it better be right the first time.
It's even funnier when you realize that not too long ago a decent chunk of the software industry did have to deal with the realities of having to press CDs, print boxes and ship them to retailers in time for the holiday season. The idea that you can ship a half-baked product directly to your end users, charge for it and promise it will get better over time (but only if you manage to secure enough VC funding in the meantime) is a relatively new invention.
I remember in 1999 reading some tech executive (with tech education, I guess) complain, like "I'd like to make executive financial reporting, but not like this horrendous and too complicated accounting". Then he proceeded with ideas. Well, the thing is that all our terms we use are lines from summarized accounting balance sheet, from either assets side, or liabilities. And if you detach them from the rest, the list of figures won't make any sense. I learned that studying accounting in the uni.

Also what I learned back then was that accounting was invented for the same purpose the blockchain: to make fraud in the workplace very hard.

I remember engineers reinvent geospatial technologies, avoiding such thing as map projections, and in the end still came to them.

Seems like this could be categorized as yet another reason why software developers are not engineers.
>You can make lots of money by making something appear novel and undiscovered, and consequently make yourself sound smart and cutting edge. Nobody raises a round to apply a well understood discipline correctly.

I'm curious about this. I thought investors preferred safe bets?

On the other hand, I know that if you're too early, it can be impossible to make a business work (or even to pitch the idea in the first place).

Related: You can't tell people anything (2004)

https://web.archive.org/web/20091025030730/https://habitatch...

He cites Brooks as proving that communication friction is quadratic in headcount. The exponent does not need to be exactly, or even nearly, 2; 1 + epsilon is already fatal. This is very closely related to Coase's ceiling.
That’s because most Software Engineers aren’t Engineers, they’re computer science majors. It’s a completely different discipline.
Reminds me of a quote by my old prof at Oxford:

"We used to just call this stuff chemistry; but citations and funding didn't really take off until we started calling it nanotechnology."

Related: https://news.ycombinator.com/item?id=49309451

> Working with AI feels more like leadership than coding

"Suddenly, waterfall is the thing to do."

Matches my experience. Like 90% of the work is the spec.

Except instead of weeks researching its like a few hours talking with an agent.

This is mostly wrong as far as motivation is concerned. Some people just by default figure stuff out with what they know. Others accumulate knowledge. If you go too far in either direction you are probably going to struggle, but it's just different people having different nature.
The modern software engineer throws away the requirements specification because the computers he commands are fast and the people he negotiates with are slow. He ignores archival science because his business records are digital and the musings of a geriatric archivist are not compatible with PostgreSQL 18. He adopts the posture of an industry thought leader on X but has never read a standards document in his life. He believes he has little in common with the Roman aqueduct engineer but finds himself in management meetings pleading for more byte-sized stones for the stone god.

Lawyers are informed by ancient case law and bankers leverage trade instruments with roots in medieval Italy. Why is the software profession so exceptional that replacing hundreds of years of engineering wisdom with blog posts on agentic workflows is considered best practice?

A comments section about an HN comment about a post. We can recurse even deeper.
He says "engineers" but he means code monkeys. Actual engineering is all about learning from past failures
Can we please stop with this endless, seemingly deliberate, misunderstanding of what Engineering actually involves?

You go to a 4 year Engineering school, get an actual Engineering degree. Then you apprentice with an Engineering company, and study for the state's license examination, one of the hardest tests you'll ever take. If you pass, then and only then are you an Engineer.

Real engineering is nothing like the slop portrayed in this article.

Engineering schools showcase failures of the past as a teaching tool. I still remember learning about the bridge that shook itself apart during my freshman year. Engineers value safety margins and failure analysis.

Engineers DO learn from history.

Most HUMANS will do anything to avoid learning from history. Engineers are merely an example. Sigh.
Take my money. This is better than "The Pragmatic Engineer".
More then just engineers, we all need to study history
Nobody gets rewarded for rejecting the newfangled thing. Even when the newfangled thing should be rejected. Same as scientific papers are very biased against reporting nulls.
There’s a good list of reasons why we do this, but it leaves out the biggest one, at least for me: building stuff is fun. Reinventing stuff is fun. It’s the most natural hammer to reach for whenever I encounter a nail. Not necessarily the best, but such is life.
Man I love and agree with nearly everything about this post except that I wouldn't take the advice to follow waterfall or PMBOK literally.

The post laments that it's hard to find Dr. Royce's original waterfall paper. That's probably true, I have my copy from a compilation book “Ideas that Created the Future: Classic Papers of Computer Science” edited by Lewis [1].

I do agree that it's important to do things like scope out your demands of your AI agent, check-in on progress, give as clear a requirement and test cases as you can. But you've always been able to do that with agile methods, and LLMs are fast enough that you don't need to go full waterfall (and if anything it would be counter productive).

Dr. Royce's paper talks about literally thousands of pages of documentation being needed for any reasonably useful system. Good luck fitting that into even a 1M context window :P.

But the main point to thesis, that you can't just let your coders loose to do whatever and expect the right results even pre-dates Fred Brooks. I'd argue it goes all the way back to the beginning, to the comments about Baggage's computing machine where British politicians asked if it would generate the correct answers even with incorrect inputs.

The answer then is the same answer today: of course not, and expecting anything different is foolishness.

[1] https://www.amazon.com/dp/0262045303

Software developers aren't real engineers; such an ironic title.
Slightly off topic but...

> We even reinvented bus stops.

Unless I am mistaken, buses do not descend in a lift and travel underground. It's pure fantasy of course, but no we didn't somehow forget buses exist and reinvent bus stops.

Solo programming is like managing a team of developers that can only communicate and contribute in one temporal direction.

Sometimes two or more developers may appear to coexist, but it's actually a simulated concurrency achieved by rapid context switching

Every time you close a file to open another, you are setting up a different context, therefore you are different agents.

This I can agree with: - People can "rediscover" knowledge that was already established because they don't investigate other disciplines first. - Agent engineering can benefit from decades of studies in management, requirements engineering, operations and process research.

But the article has a big irony: the article accuses engineers of oversimplifying other disciplines and then does exactly that itself.

> "Data science was statistics with a cooler name"

The author mentions David Donoho's "50 Years of Data Science" but that work presents a much more complicated concept of data science: one with data exploration, transformation, computing, visualization, modeling, etc. Even the study of data-analysis practice itself.

Look at that XKCD he posted with it.

Horn took a nuance argument and converted it into the "human slop" formula mocked in the XKCD:

complicated subject = simple thing I already understand <new complicated thing> is really just <old familiar thing>

The cartoon is criticizing the same operation the article is doing. Maybe that is the joke?

As someone that has studied engineering, designing a solution is very different than managing the resources around the design and implementation of that solution. Books like The Mythical Man Month and Making Things Happen deals with the management side, (from a team level) and The Pragmatic Programmer is from a personal level.

But TFA is ignoring the actual engineering side where you have to grapple with some primitives and assemble them in a way that do something valuable. And so in a way that is cost effective. That part is always answered by hand waves.

I don’t quite understand the management analogy. Agents aren’t people, they’re code generation machines. Part of managing is delegating and trusting the output of your employees without having to verify everything yourself. But if you’re “managing” an agent, how does that work? You can’t exactly hold an LLM responsible if it fucks something up.

Or are people really just yoloing and not even verifying that the code generation is correct? I know it’s a bit of a meme, but are people actually doing the meme in irl where there are actual consequences??

See also: people.
The author missed one key motivation: giant fucking ego. I don’t know why every damn software engineer thinks they are gods gift and can derive anything from first principles. The OP hinted at it with the physicist XKCD but I think it is far more dominant in software because the payouts for mediocrity are just astronomical.
Another obnoxious behaviour I’ve observed lately, is trying to attach whatever pre-existing pet methodologies one had to the AI-hype bandwagon like some sort of personal vindication orgy.