I’ve been at companies that were founded on sales of physical goods that literally had vendors pick them for vended goods because they found the software made purchasing more convenient - as in they literally had customers tell them they bought their physical goods because of their software. They didn’t need the software. The software wasn’t critical to acquiring goods. They could have purchased goods elsewhere of similar quality and often potentially lower cost. The customers cared about the software, the software (that was not part of their core business) drove the core business.
Edit: I originally had a lot more typed about how craft matters and not being strictly about perfection. It wasn’t necessary to drive the point, so I removed it. People do buy craft and many pay a hefty premium for better craft (in all aspects, both producer COGS and customer needs/desires).
I just feel like after years in industry and how I’m steering something like Fable now that all of this is irrelevant and the writing is crystal clear on the wall: Writing software by hand is in its death throes. There is no future for it besides some very niche areas. When last have you actually looked at what your high level language is actually being compiled and optimised to? We’re moving up the abstraction ladder with software.
To your point: People care about the actual output, the interface, whether it does what they want it to do, but in no way do they care about the internals and how it’s built. That’s an implementation detail. And that’s where all the fun of the craft actually sits.
This is not unique to software engineering though, go take a look at the maths and mathematics subreddits. There are guys doing PhDs in maths who are too afraid to run their dissertation topics through the latest models because it might just solve the problem they’ve spent the last few years working on in a few hours. They absolutely hate that problems are being blown away where people have spent years trying to figure out. It feels like the same psychological pain software engineers are going through.
One is liking a mental challenge - like a crossword puzzle. The other is having pride in the quality of your work.
An LLM is not a compiler. It is the leakiest abstraction of all time. I never experienced a compiler making a mistake, I think, ever. Every LLM I use makes a critical mistake somewhere between 50% and 95% of the time.
If vibe coding truly is the future of coding then it really doesn't matter what you do. Keep up or don't keep up it doesn't matter. Your career is dead either way because your boss will replace you with a prompt. Might as well give up now.
In comes the snake oil salesmen telling them they can finally do this. Of course they will fall for the notion, even if they know it's not true. It's what they want oh so badly to be true.
No business has ever appreciated my craft directly and why would they? Theyve just enjoyed the indirect benefits - speedy delivery of bug free features. Sometimes execs understood why they got that from one team and not another, mostly they didn't.
The difference these days is not that high quality code isnt appreciated it's just that there is a religion that has developed around AI being The One True Way To Develop.
When it is delivering worse quality work, more slowly that is usually tolerated because the hope is that it will long term lead to the ability to lay off engineers.
Or, a million people might generate a one off piece of slop to calculate their taxes.
Which one was more efficient?
I do think that disposable easy to validate software will probably never be human written again but I also think that the demand for this type of software is wildly overestimated. Users mostly don't want a bespoke weather app that is customized to their prompt they want one which they can trust.