3 comments

[ 0.23 ms ] story [ 10.9 ms ] thread
Engineers and doctors are driven to abide a code of ethics because they don't want to kill people. If there was software which was safety critical (maybe NASA code), then I'm sure that the developers would have the same kind of ethics.

I'm a power systems engineer involved in designing offshore oil and gas facilities. We frequently have to shoot down dangerous hare-brained schemes from clients who want to save a little cash. Thank god for the national standards though, they usually back us up. Which is another thing - failure to adhere to standards is a legal offence (especially if the oil rig explodes).

Engineers have a certain line that they will not, cannot cross. Doctors work the same way.

While the romantic in me would like to believe this, there are too many counterexamples out there for me to just accept this generalization.

When software engineers fail the results often are not visible or comprehensible to ordinary people but when those professions screw up the results are dramatic. As a consequence they have to take extra steps (like always letting everyone know about these codes of ethics) to maintain trust.

It's worth noting that the professional engineer or doctor is as much an ideal as the professional computer programmer. Doctors actually don't wash their hands as often as they know they should (http://www.nytimes.com/2006/09/24/magazine/24wwln_freak.html). Engineering failures occur with sufficient frequency to merit a civil engineering dailywtf (http://www.icivilengineer.com/Failure_Watch/), though thankfully not updated daily.

This is not to say that the failure of those professions to live up to their ideal should excuse us. We equally have a responsibility to the quality of our code. The solution is nothing so easy as an unread code of ethics or a well-it's-just-money justification for sloppiness. A lot of code actually does risk lives -- fly by wire systems, automated storm dams, anything in a nuclear power plant. The risking of lives isn't sufficient to make surgeons follow well known infection prevention protocols. For them as for us there have to be cultural changes which value slow and steady repeatable processes over wunderkind acts of brilliance.