Top
Best
New

Posted by fagnerbrack 1 hour ago

Explaining to business people why building software is still hard(www.manager.dev)
48 points | 42 comments
dasil003 9 minutes ago|
All software is path dependent, all code is a liability, and all technical decisions are tradeoffs. These are the immutable truths of software that not changed one iota due to AI or any Moore's Law progress before it.

There are too many product managers and decision makers that are unable or unwilling to do the hard work of actually thinking through what they want, and re-evaluating their priors as new feedback and learnings come in. Similarly, there are too many engineers who are distant from the customer and the problem at hand, and end up chasing their own idea platonic ideal of good software, detached from the hard tradeoffs of what is truly needed right now vs what we anticipate needing in the future. The less software we can write to solve the problem now, while minimizing one way door decisions, and deferring as many "scaling" challenges as long as possible to make decisions with more complete information the better.

This is why AGI won't magically solve software development—because people don't actually know what they want until they try it and then they want something else. Raw intelligence can not solve for purpose or human goals. The better it gets, the more it will become like an evil genie or monkey's paw that never quite does what the feeble-minded human prompters want.

tripleee 34 minutes ago||
This is all caused because no-one understands the purpose of quality in software

Low quality = cascading bugs, issues, slow to iterate and add or change features

This is just as true for human written as it is for AI

Instead we have everyone giving up on code quality as if it was just "beautiful code" perfectly indented that was only there for people to ooh and aah at

SoftTalker 15 minutes ago|
Low quality = you will sooner or later be writing a "We take security seriously" letter and buying credit monitoring for all your customers.
bluGill 4 minutes ago||
That is the one of the larger issues with poor quality. However even if there are no security issues poor quality can make your customers mad enough to go elsewhere and badmouth you to others looking at your product.
SoftTalker 6 minutes ago||
Pretty much every project. Initially your pace is great. You're knocking out features quickly. Everyone is upbeat and enthusiastic. Then you have to put it all together. You discover scenarios that the specs don't cover. You need more info from business about validating certain combinations of inputs. When you get those, you find contradictions with some other stuff you thought was already done. Combinatorial complexity. It's the essential problem with software systems. If business people don't understand it, tell them to read Brooks. If they still don't understand, tell them to read it again.
skydhash 41 seconds ago|
> Combinatorial complexity. It's the essential problem with software systems

After using OpenBSD for a while, I fully adopted the “write less code” approach. Create the simplest solution and leave “features” out until you need them. Nice to have should be practically banned.

digitallogic 18 minutes ago||
> You have enough budget for only the first floor, but you have a big family, and you know you’ll want a second one in a couple of years. > Adding the infrastructure to support a 2nd floor is MUCH cheaper right now than it will be when you actually want that 2nd floor.

The problem with this thinking is it requires certainty about the future. It's much cheaper right now IF AND ONLY IF you end up needing the thing. If you don't need it, then you've threw time and money down the drain.

Where I think this analogy weakens is you probably have far more certainty of whether or not you want a big family then you do on whether or not a new product line will see major adoption.

bluGill 10 minutes ago||
You should have an idea of where you are going so you don't paint yourself into a corner. However certainty about the future is impossible. You make your best guess and often that will be wrong. That doesn't mean it is wrong to guess, it means you need to temper your guesses.
mattmanser 7 minutes ago||
I am known for analogies. I use them all the time to try and explain things to less technical people.

Sometimes it's building a house, sometimes it's writing a book, sometimes it's the difference between a Ford and a kit car, sometimes it's how you build a bridge.

None of them stand up to full scrutiny. You can pick every single one apart.

That's not the point of analogies. The point is to explain just one of the many aspects of software engineering in a more understandable format to the listener. Software engineering is nothing like building a physical thing. But some of the many, many problems and complexity you hit have physical product analogies.

Don't stretch analogies too far as they all pop.

mehagar 31 minutes ago||
Even if you do use AI tools to help you write the code, at some level you have to specify what the program's output should be for every possible input.

By loosely specifying things in a prompt, there's simply not enough context for the AI tool to know the "right" output to produce for all possible inputs. What's "right" is often subjective anyway ("Should this button be red or blue?").

miranaproarrow 1 hour ago||
My manager who vibe coded our entire webapp in claude design. Has difficulty understanding why its still not production ready.

My job is to wire to our backend data, and a lot of these wiring require me to be in there and actually think about the features. These take time, and I just haven't figure out a way to speed this process up with Claude.

godwinson__4-8 37 minutes ago||
Why is this reassuring?

Why won't smarter and cheaper models in the future be able to automate this part for your manager as well? How novel is the feature set? Is it he has a knowledge gap or the model is incapable of something? What expertise are you bringing to bear that is beyond the scope of a future harness/model? Why wouldn't such a model simply fill in the blanks for your management, perhaps observing a diff of whatever you did? How do you verify the correctness of your thinking? Why could a future model not replicate this process?

I am just very puzzled by these sort of takes as we approach the end of 2026.

tripleee 27 minutes ago|||
Because smarter for an LLM isn't operating on the same scale as human intelligence

Making a calculator a billion times "smarter" isn't going to make it able to wash dishes

godwinson__4-8 17 minutes ago||
This would be a great point if his manager asked him to wash the dishes. Who knows, in 10 years time if he finds himself with such a job he might consider himself lucky.

Anyway I hope I get an answer to my actual questions. Engaging with your "it's just a calculator" denialism is an obvious dead-end. Have a good day buddy.

tripleee 13 minutes ago||
Completely missing my point there. I wasn't saying it's a calculator. I was saying it's not a human intelligence and there's no reason to think it'll stand in for every responsibility we have.

Name me one human that can describe grandmaster level chess strategy but also loses to a random-only chess bot - that was the case for LLMs for a long time

My point is LLMs aren't humans. They're not a toddler slowly getting smarter, and when they're smarter they'll be able to do everything a human can do. It's a different scale entirely.

godwinson__4-8 5 minutes ago||
I didn't ask for every responsibility I asked for his specific responsibility.

Why don't you calm down and read my question again and you will see the only one "completely missing the point" is you.

You're arguing with someone else. I didn't make a claim that LLMs were human. If you're going to respond to me then engage with what I'm exactly saying. Go back and read it again, if you can manage it.

tripleee 4 minutes ago||
ok
Axsuul 22 minutes ago|||
Why isn't a LLM as smart as a human? Therein lies your problem.
godwinson__4-8 10 minutes ago||
A calculator used to be a human job. Are calculators smarter than humans?

I'm asking why is it reassuring about his job? Surely your big human brain can understand to be automated away doesn't mean the machine is "smart as a human" whatever that means. There is probably not a lot of utility in comparing synthetic and organic intelligence from such a reductive perspective.

Factory workers got automated by machines. Is a robotic arm smarter than a human? Is a tractor smarter than a bovine?

My question is simply what is he doing that is so "smart" or novel that it cannot be automated or mechanized. This should not be so hard to understand.

platevoltage 42 minutes ago|||
Yeah, I have 2 clients that are now obsessed with vibe coding. They seem to understand the realities.
holoduke 58 minutes ago|||
On the other hand. If his tool does the job why not. If you asked a 90s engineer how javascript triggers millions of cpu instructions for just a few code steps he would call you crazy.
scottyah 45 minutes ago||
Is it big data? Claude should be able to tell you what to do and give you scripts to deploy anything behind a web app.
etothepii 1 hour ago||
> "Never really finish building it" is the key insight.

The problem with software is that it is never done. There is always another feature you could have and worse than building a property the work is only done by the people on the outside.

randusername 51 minutes ago|
I think it's deeper than that, once you know software is never done you have to design for constant change.

When clients ask why something takes so long, I explain that I'm not building what you asked for today, I'm building something that will be easy to turn into what you asked for today and possible to turn into whatever you ask for tomorrow.

Fr0styMatt88 14 minutes ago||
AI has vastly changed the shape of what that looks like though. There are whole classes of refactoring work that are much cheaper and quicker to do with agents. Integrating a protocol client library say, or swapping one library for another are now potentially hour-long instead of days-long tasks, especially when you have test coverage to back you up (which AI also immensely helps you with).
andsoitis 27 minutes ago||
I don't know that saying "this work is hard" is enlightening.

More useful would be to be able to explain at some high level what the the inherent and accidental complexity is, the tradeoffs to navigate, long-term vs short-term decisions, etc.

Saying "it is hard" makes the audience think you're less of an expert in your domain and they are then inclined to find someone who doesn't say "this work is hard".

jbverschoor 21 minutes ago||
Medical doctors mostly follow standard procedure and decision trees.
YuechenLi 4 minutes ago|
>We decided to go with Lovable so the recruiting team can maintain it themselves later.

Yeah, I'm not sure that's a good idea. At the end of the day, Lovable is still a TypeScript web-app with a Supabase backend full stack system. If you don't understand what you have the LLMs actually build, then there is no way you can maintain it or debug it if something goes wrong.

All these no code/vibe code website generators don't make the code go away; the code maintenance burden just shifted to somebody else.

More comments...