4 ms·
People assume software is just like engineering a bridge, but it isn't. Software changes all the time, due to market needs, due to attacks from the outside or i
by coldcode 4y ago
People assume software is just like engineering a bridge, but it isn't. Software changes all the time, due to market needs, due to attacks from the outside or inside, due to legal changes, due to executives who want to be promoted, due to technological changes, due to etc, etc. Bridges do not change, as gravity and wind and temperature and chemistry and physics are in the real world while our software exists in a world of our making, generally built in myriads of layers, often from multiple vendors, and have to interoperate with myriads more other worlds that are also continuously changing over networks which we may not have any control of.
Since I started in the early 80's every generation thinks they can standardize things, license programming, make things from perfect reusable parts that work perfectly, and generally turn programming into recipes. Every generation fails.
In reality software is a mess because none of those things are possible because complexity is inherent in what we do, and what is expected of us, and there has never been any way to satisfy everything we are asked to do with some magical silver bullshit, err, bullet.
Even if you wanted software "Professional Engineers" to be a thing, how would you even do that, with 100's of programming languages, operating systems, software environments and industries all with different needs, and in an industry that changes every single day. Bridges have been built for thousands of years, software has changed radically and continuously since I started in 1981. As soon as you defined some standard to test against, it would be obsolete.
- hotpotamus 4y agoI could complain about software endlessly and I came here to do it, but the comments discussing the analogy breakdown between software and bridge engineering made me wonder - is bridge engineering really so staid and rote? I've seen some beautiful bridges built in the last few decades and it makes me wonder if they get to play around with design as well.
- Verdex 4y agoThe appearance of bridges might change but I suspect that the underlying structural components are much better specified than what we have with software. While I don't know the specifics for bridges, I have seen the specifics for the joist industry (those metal rails with Ws inside them that you see when you look up at the ceiling in a Walmart). There is some design work that an engineer needs to do for any given job. However, they pick the type of joist, material, and wield (etc) based on a book that publishes weight tolerances. And those numbers come from someone taking a joist out someplace and dumping weights on it until it collapses. We just can't do the same thing with software. It's not even clear what kind of weight we would be dumping on software. Human comprehensibility? How do you measure that?
- marcosdumay 4y agoMost bridge designing is reasonably staid (not as much as buildings, but not as neophilic as software by a huge margin). But some bridges get very unusual designs, either by necessity or aesthetic reasons, and the people that can design those command a high price premium for their work.
- dghlsakjg 4y agoIf all software specifications were as finite as bridge specifications you would see a lot better failure rates. A bridge is deployed in a single instance, in a single environment with a specific type and quantity of traffic. Everything about what a bridge does is known and quantified. As a rather direct example, look at the software that runs traffic lights; doesn't really ever fail, every possible state is covered, and as a result we trust with our life that when our light is green, the cross-traffic is red. There's plenty of software that is as reliable as bridges. On the other hand there's a lot of professional engineering that I would trust far less than a web app. Things like high-end cars, sports equipment, rockets, etc. are all signed off by professional engineers but have an incredibly high failure rate.
- hwayne 4y agoI have met bridge engineers who had to move bridges after they were built. (I talk a bit about the similarities between civil and software engineering here: https://www.hillelwayne.com/post/we-are-not-special/ https://www.hillelwayne.com/post/we-are-not-special/)
- brianmcc 4y agoAn interesting series from the same site: https://www.hillelwayne.com/post/are-we-really-engineers/ https://www.hillelwayne.com/post/are-we-really-engineers/
- nitwit005 4y agoYou can find plenty of identical bridges, much like you can find many identical structures generally. There are novel bridges that get built. They tend to be much more expensive, and come with more problems.