FR version is available. Content is displayed in original English for accuracy.
Advertisement
Advertisement
⚡ Community Insights
Discussion Sentiment
70% Positive
Analyzed from 3011 words in the discussion.
Trending Topics
#software#engineers#engineering#more#part#different#don#why#anything#thing

Discussion (85 Comments)Read Original on HackerNews
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?
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.
That’s why predicting the future is really really hard.
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).
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?
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.
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.
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.
What? One of the first principles in doing Lean and Agile correctly is limiting Work in Progress and avoiding context switching whenever possible.
Everywhere I've worked claims to be doing Agile, but none of them have ever done anything to avoid context switching or limiting work in progress
This is because the we have these periodic influxes of scammers into the IT the industry, with their empty promises and trust me bro culture.
30+ years ago, You had to be a -lot- more careful about how you handled releasing software. Your stuff was in boxes on shelves, most people didn't have internet access to 'download an update' so fixing anything had a long tail support cost (i.e. paying for the media containing the fix and shipping).
But there's a fine line. As an example, If your shop is having a vendor do brand new stuff, -compartmentalized from your other stuff-, using technologies that are actually out of support vs an in-support version is a free/zero effort update versus using the outdated stuff... Something went wrong on the management side.
How many updates did one apply to Windows 3.0 and Word in those days??
Sure, there might have been a “hotfix” available for download over a long distance BBS, but virtually nobody would have ever done so (even if they were lucky enough to have a modem). Maybe large companies applied such when impacted.
Even in the Windows XP days, I think windowsupdate.com was still a manually triggered process…
For a while, bundled drivers were a steaming pile of crap in quality and several generations of Windows suffered greatly until Microsoft got vendors in line and updates became common.
Have you ever heard of an SLA? This "used to be" story about software has never been true. If you can't meet the agreement, then or now, you're done.
Software has always been a lot more diverse than just consumer goods. Why is that your only evidence of how you think software projects are managed?
edit: this doesn't invalidate the OP thesis, which I strongly agree with. Except that it's not just engineers, this is a more general thing across many fields.
For a certain aircraft part that I designed, that measured approximately 16"x8"x10", if you needed up to 12 of them it was cheapest to 3D print them using powerbed fusion from AlSi10Mg, but with a 25% weight penalty due to the lower mechanical properties of 3D printed aluminum compared to cast. If you needed between 12 and 50 of them, it was cheapest to use 3D printing to make a wax preform then use the preform to make a traditional metal investment casting from A356. For more than 50 of them, it was cheapest to invest in permanent closed die tooling.
Other than for prototyping and extremely low volume production, additive has been a total flop for real-world manufacturing, and has not at all lived up to any of it's lofty promises.
I’m thinking of say cooling channels built into walls of rocket combustion chambers, or car brake/axle assemblies, and some of the „organic“ designs that are lighter and stronger than a cast/machined part.
Ha! I studied computer science and became a programmer because I knew I was too dumb for med. school and the other engineering paths.
[1] https://www.hillelwayne.com/post/are-we-really-engineers/
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...
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.
> Working with AI feels more like leadership than coding
The current world conceptions of engineers are that they're the negative ones, the naysayers.
> 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.
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
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.
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.
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??
I think it needs to be updated to just say "Those who can't do, go into software engineering". Teachers don't deserve that crap.
Never heard anyone say that about software engineering.