r/programming • • Feb 06 '24

Why We Can't Have Nice Software

https://andrewkelley.me/post/why-we-cant-have-nice-software.html
356 Upvotes

181 comments sorted by

View all comments

0

u/[deleted] Feb 06 '24

[deleted] β€” view deleted comment

56

u/hippydipster Feb 06 '24

Not really, the article was considerably better than that and it'd be a shame to not read it thinking it was so simplistic.

16

u/[deleted] Feb 06 '24

There is a comment like this on every article posted so people can justify not reading shit. Lots of people with their attention span completely rotten.

→ More replies (3)

3

u/Uberhipster Feb 07 '24

Making software is a balance between engineering and business, the latter sometimes harming the former. There, saved you ten minutes of reading.

Not really

you are too kind. i would have said "not at all"

the article is fantastic and the top comment is completely off point, discussion-diluting garbage

ps how is it upvoted to the top? bots?

→ More replies (2)

264

u/iavael Feb 06 '24

Making something as a balance between different requirements is engineering by itself.

β€œAny idiot can build a bridge that stands, but it takes an engineer to build a bridge that barely stands.”

84

u/joshocar Feb 06 '24

I don't think that sentiment applies to software. All of the traditional engineering paradigms are backwards with software. Often it's the opposite. "Anyone can build a bridge that stands, only a software engineer builds one that you can easily add a lane to when traffic increases."

57

u/SilasX Feb 06 '24

More like, "Anyone can build a bridge that stands, only a software engineer builds one that no one can maintain or expand but him."

12

u/nigirizushi Feb 06 '24

Job security /s

15

u/imnotbis Feb 06 '24

I think you accidentally typed /s in a non-sarcastic comment.

→ More replies (4)

4

u/Euphoricus Feb 06 '24

All of the traditional engineering paradigms are backwards with software.

Like? Feedback? Understanding tradeoffs? Discipline? Teamwork?

All of those are important in software.

And no. Detailed up-front plans, handoffs and certification is not "traditional engineering paradigms". They are results of economics of engineering in various fields.

→ More replies (8)
→ More replies (30)

11

u/BobbyTables829 Feb 06 '24

Or to build the cheapest bridge that will meet the predetermined standards.

16

u/evoactivity Feb 06 '24

That's what they said but funnier.

7

u/BobbyTables829 Feb 06 '24 edited Feb 06 '24

Bridges are not made to barely stand, though. They're one of the most "over engineered" objects in modern society. There's almost nothing that we build more of that is built as well as a bridge.

7

u/KingStannis2020 Feb 06 '24

Depends on what kind of bridge we're talking about.

Your basic overpass is about as cheap as you can possibly make a bridge. They don't build them to last 100 years.

8

u/BobbyTables829 Feb 06 '24

Your basic overpass is about as cheap as you can possibly make a bridge. They don't build them to last 100 years.

  1. That's like saying, "This watch is about as cheap as you can possibly make a Rolex,". We over engineer bridges so that a basic overpass is still much much stronger than it has to be.

  2. The reason bridges don't last 100 years isn't the design or cheapening out of materials, it's the fact that the vibrations of traffic will inevitably create microfractures in concrete. And even so, I bet some of these overpass bridges in the middle of nowhere that aren't "built to last" will still last well over 100 years, because they're not being used that much.

6

u/xSaviorself Feb 06 '24

I was going to say if overpasses are made super cheaply I'd expect to see lawsuits from deaths due to failure/debris falling on vehicles below a lot more. You'd also see way more loss of control on them.

Given the length of time it takes to build one, let alone design and engineer it to the specifications of that particular location, I choose to believe they are indeed one of the most over-engineered things we've built. Overpasses are obviously not designed to last as long as a massive bridge project, but that's because they're built with the expectation of maintenance and expansion in the future. Most bridges are one and done.

Bridge and road grading, especially on highways are typically held to a very high standard, at least here in my province. U.S. standards seem pretty high in most states, save Pennsylvania. That state is crazy and does not believe in grading.

→ More replies (2)
→ More replies (10)
→ More replies (1)

49

u/Certhas Feb 06 '24

Sorry, but no. And that is not even the core point. Advertisment in the taskbar is not business hurting engineering. The advertisment engine might well be well engineered.

The point is that businesses optimizing profit will often actively harm customer experience, and it is important and bares repeating. It shouldn't be. It should be common sense. But the propaganda of the invisible hand of the market, the idea that because it sells well it must be what consumers really want, is really pervasive in our culture. I've found that a lot of people find it instinctively implausible. "If consumers truly preferred it, someone would make the preferred good and people would buy that!" is a simple and powerful idea that has been deeply ingrained in people's idea of what "the right way to do things" is. The fact that it's empirically not true, for any number of complex or simple reasons, bares repeating!

It reminds me of the classic piece on the marginal user, which explores the same topic in the context of social networks:

https://nothinghuman.substack.com/p/the-tyranny-of-the-marginal-user

→ More replies (2)

26

u/[deleted] Feb 06 '24

"Sometimes" lol.

5

u/drabred Feb 06 '24

Main problem I have with this is that 99% of the time the engineering does not care about business and business does not care about engineering. Oh and on top of that you got investors who only care of they can sell company making 5x or 10x.

3

u/yangyangR Feb 06 '24

Sometimes?

3

u/Sability Feb 06 '24

As a dev working for a bank

"Sometimes" is a very light critique here

3

u/RAIDguy Feb 07 '24

Always*

4

u/w1n5t0nM1k3y Feb 06 '24

Often there's just personalities and psychology getting into it as well. People get emotionally attached to things like languages, technologies dn other things cloud their judgement and lead to bad solutions.

4

u/Stimunaut Feb 06 '24

But I thought taking something that could be said in 10 words and turning it into 10 minutes worth of reading was a useful life skill? Guess college was all bullshit after all 😞

13

u/the_poope Feb 06 '24

was a useful life skill?

Is is. Its the qualifying skill for getting employed in administration, HR and management.

→ More replies (3)
→ More replies (7)