Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Real engineers are liable if their output fails.

What is one of the first statements made in every software license ever written in the history of computing?

Civil Engineers: Bridge falls down, PE's stamp is on designs, design faulty, is liable = Real engineer.

Software "Engineer": Program fails, money lost. "LOL must be bugz, btw: THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION." = not an engineer.

Can you imagine if an aerospace engineer submitted the designs for a new turbine engine with an asterix at the bottom of the blueprints saying "this engine design is provided as-is without warranty of any kind either expressed or implied, including, but not limited to whether or not it will blow up in flight"?

The programmers for the Space Shuttle program may have been actual engineers, because I'm willing to bet that they submitted documents guaranteeing the performance and operation of the code they wrote.

Yep:

>NASA knows how good the software has to be. Before every flight, Ted Keller, the senior technical manager of the on-board shuttle group, flies to Florida where he signs a document certifying that the software will not endanger the shuttle. If Keller can’t go, a formal line of succession dictates who can sign in his place.

https://www.fastcompany.com/28121/they-write-right-stuff

So maybe some programmers can be engineers, if they put their money where their mouths are and don't go "lol bugz, didn't buy support contract" if something goes wrong.



It'd be great if "software engineer" == "real engineer" (well, for some - for me it'd suck, because I don't even have a good degree, let alone any kind of background or education for engineering certs) - but imagine if that were true...

...you could basically kiss every kind of cheap software, home computing, mobile phones, etc - goodbye.

Because nobody would be able to afford any of that. No one in business would pay the money for thorough design and vetting of business software, let alone consumer-grade code. Ordinary consumers would find any such software prohibitively expensive (on the order or worse than trying to buy a license for a commercial Unix back in the 1980s - assuming you even had the machine to run it on).

Heck, the amount of time alone it would take to carefully design such systems, then build, debug, test, verify, etc - it would be insanely and prohibitively expensive.

I'm sure you know this.

Which is why you only ever see this kind of effort applied to software used in aerospace and medical fields (and probably to a lesser extent automotive, as well as commercial software used for engineering - like CAD/CAM, FEA, etc).

Even there, costly (sometimes deadly) mistakes can and do happen.

Regardless, though - the cost to create that software is phenomenal (and the cost to maintain it even more so - every single minor or major change has to be carefully considered and researched, then if put into place, carefully tested and vetted to ensure nothing else is broken by it).

It ultimately comes down to money and the market; if all software were held to the standards of say aerospace software, nobody could afford it, nobody would sell it, and nobody would buy it. The fact that only a few particular industries have settled on such reliability being important says it all. Had all industries and concerns wanted such reliable software, we would see it today. Since we don't, it is likely because it was deemed too expensive for little gain overall.

...and so here we are, for better or for worse.


> Real engineers are liable if their output fails.

Depends on who wins the court case, of course.

Toyota's unintended acceleration problem didn't result in any Engineers losing their jobs. They just blamed it on the old people.

Ditto the Ford Pinto's exploding gas tanks.


If a bridge falls down you blame the contractor :-)

This Happened at Dar Al Hadassah when I worked there


You can certainly blame the builder, but the "real" engineers I've talked to all spoke of traditions like a _ring on their pinky_ so that when they are signing their name to a design, they are reminded (as the ring touches paper) that their signature affects real people's lives, and that both their professional reputation and personal liability might be on the line if they screw it up.

If an engineer designs my bridge, and it collapses when more than one car is on it, he can't laugh at me for not giving him a spec that included that requirement. Contrast this with software, where if a database stores plaintext passwords, the programmers are probably protected if there is sufficient documentation that the bosses/customer insisted on it.

I'm grateful to have the flexibility of creating effectively magical things that can change easily to meet changing requirements, but I also feel like there will come a time when we will need to have some similar degree of engineering rigor mandated for software.


It's beyond traditions in some regions as well. For example, in Canada, the "engineer" title is protected, so anyone using that title must be a registered member of the provincial association (wherever they practice).


Do you think an engineer just sits down, draws your bridge up after some math and then builds it? It takes a team of civil engineers multiple iterations with tests, setbacks, feedback loops etc to get to the final design.

Software can also come with the same type of warranty you imply here. I'm reminded of this image https://media.boingboing.net/wp-content/uploads/2017/04/sd72...


That's actually quite rare and certainly in some engineering disciplines no way would you wear a ring whilst working for H&S reasons I am thinking of EE and Mech here.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: