Today, I came across this tweet from Thomas Fuchs:
Thomas Fuchs 🕹📺@thomasfuchsIf civil engineering had the same standards as “software engineering”, the bridge you’re driving over every morning would have an uptime of 99.7%, with the rest of the time being collapsed twitter.com/facebook/statu…23:17 PM - 14 Mar 2019Facebook @facebookYesterday, as a result of a server configuration change, many people had trouble accessing our apps and services. We've now resolved the issues and our systems are recovering. We’re very sorry for the inconvenience and appreciate everyone’s patience.
So I started wondering about what makes software engineering different from civil engineering, and how we could make more reliable software. I replied with:
Frederik 🤠 Creemers@_bigblind@thomasfuchs On the other hand, the requirements for a bridge don't change while people are driving on it.23:18 PM - 14 Mar 2019
And then thomas came back with
Thomas Fuchs 🕹📺@thomasfuchs@_bigblind Bridges, roads, tunnels etc. are often expanded, rebuilt while traffic continues, etc.23:20 PM - 14 Mar 2019
Thomas Fuchs 🕹📺@thomasfuchs@_bigblind There’s also many engineering works that are hundreds or even thousands of years old, and have been adapted to new tech over time.23:26 PM - 14 Mar 2019
- Are there things we can learn from civil engineering to make software more reliable?
- Are there inherent differences that make creating reliable software harder than creating reliable constructions?