Remix.run Logo
teiferer 8 hours ago

> for me it seems like you have to actually run into problems over and over and figure out how to avoid the problems

This shows how immature the field of software engineering is. Imagine bridges or houses were built like that. Or your surgeon was trained like that.

Over time, we hopefully develop estblished norms, but at the moment, things are too much in flux. Put 5 sw engineers in a room, pose a problem and you will get not just 5 different solution proposals, but there will likely be strong disagreements on which approach is a good one.

"I recognize a good solution when I see it" is just not good enough for a serious engineering discipline.

hvb2 8 hours ago | parent | next [-]

> Imagine bridges or houses were built like that. Or your surgeon was trained like that.

While I don't disagree with you in general, this does feel a bit off.

By that logic you can call the field of music immature, and all of the arts. I think the difference is that its easy to experiment without high costs.

I genuinely think that if building bridges was cheap and quick, the fastest way to learn was to try...

nchagnet 2 hours ago | parent [-]

I generally agree with your point on ease of experimentation, but if we insist on calling it software engineering, then maybe the field needs to adhere to engineering principles, as the GP highlighted.

tuckerman an hour ago | parent [-]

I believe part of engineering isn’t over-engineering for the task at hand as well. If the costs of a “failure” are low/zero then the right thing can be to move quickly expecting some problems.

I think the field could get better at knowing when costs are low (eg sometimes scalability, cheaper to change a database choice than rebuild a bridge) and where the costs are sometimes very high (eg security).

sshine 7 hours ago | parent | prev | next [-]

> Imagine bridges or houses were built like that.

Bridge building is a lot more conservative when it comes to taking risk in the construction, but that is how we build bridges and lots of bridges collapse because of similar causes:

  - Design Deficiencies
  - Construction Mistakes
  - Maintenance Issues
  - etc.
An average of 128 bridges collapse annually in the United States. More than 17,000 bridges in America are considered "fracture critical" (vulnerable to collapse from a single impact).
wqaatwt 4 hours ago | parent | prev | next [-]

> Imagine bridges or houses were built like that

If they could afford experimenting and have a few bridges collapse before they get it right with no significant negative consequences IMHO it wouldn’t be the worst way to learn.

Maybe even more so for surgeons, being able to experiment and fail in a risk free environment seems like a good thing.

koonsolo 8 hours ago | parent | prev [-]

> This shows how immature the field of software engineering is. Imagine bridges or houses were built like that. Or your surgeon was trained like that.

It's not that software engineering is immature, it's just more dynamic.

We are not the surgeon, we write the surgeon. We write a surgeon to fix a broken leg. Once that is done, we don't have to fix another leg. Now we need to reattach a finger. Once that is solved, maybe replace a kidney.

You cannot repetitively train or have strict rules for that, because every time it's something new. You need to have broad knowledge and experience to be able to fight the next unknown challenge. It's unknown because it's never been done before, or it has been done but your competitor will not reveal the details.

Building bridges or being a surgeon sounds very boring to me, since it's always the same (maybe some minor variants). Building software? Very much not the same.