I think the (lack of) quality of these tools shows that software engineering is maturing as an engineering discipline.

We were overbuilding trivial parts of the software like the Romans overbuilt small bridges.

Modern engineering is about making the thing that barely works. If you disagree, learn a little bit about bit narrow the tolerances of modern cars and bridges are.

> learn a little bit about bit narrow the tolerances of modern cars and bridges are

Buildings typically use a safety factor of 1.5 to 2.0, and cars typically use a safety factor of 2.0 to 3.0. These things are being built twice as strong as they need to be. I wouldn't call that narrow.

And with software, we're at a point where it can't even properly do what it needs to. If we were overbuilding it, damn software wouldn't crash so much.

I think all engineering has safety factors of 2 or more. Maybe with the exception of aerospace (mostly space) where materials might be at the limits of what's possible right now so the safety factors are much reduced.

> I think all engineering has safety factors of 2 or more.

Not even close.

For example, a BMW X5 weighs about 2200 Kgs without passengers, and it's GVWR is 2800 Kgs.

If you have five people and heavy bags, you can comfortably exceed the GVWR. You can absolutely break control arms and suspension components in that scenario if you go over a speed bump or hit a pothole (which are real things that exist in the real world, like people doing something unintended and crashing software).

If this needed a 2x safety factor, there would have been no way to build this car.

Even the toughest cars like land cruisers are limited in this way.

I think there's a difference between something that's engineered and precise vs something that's rickety. Just because you built something that might fall apart at any moment doesn't mean it's been engineered with narrow tolerances.

I disagree.

> [...] vs something that's rickety

A 100 percent of modern bridges are rickety. There has been dozens of high profile incidents because of this.

> Just because you built something that might fall apart at any moment doesn't mean it's been engineered with narrow tolerances.

Here the software they are building falls apart in ..say.. two days of use, but can be updated in 5 seconds at close to zero marginal cost. The software is useful enough that people keep updating and using it. This iteration gives them a competitive advantage over the safer choice of rigorously testing every new thing for several weeks.

I don't disagree but it's clearly a problem that already existed for decades in software and is just being 10x'ed. how many different frontend frameworks or AWS regurgitated and enshittified cloud services did we have to endure over the years.