It got me thinking about engineering again and wondering whether maybe I should have become one.... I'm about to violate one of the engineer's code-of-ethics items (#2, not sure I'm competent) which you can find here: Engineer's Code of Ethics.
Engineers, in the fulfillment of their professional duties, shall:
- Hold paramount the safety, health, and welfare of the public.
- Perform services only in areas of their competence.
- Issue public statements only in an objective and truthful manner.
- Act for each employer or client as faithful agents or trustees.
- Avoid deceptive acts.
- Conduct themselves honorably, responsibly, ethically, and lawfully so as to enhance the honor, reputation, and usefulness of the profession.
I am often reminded of these sorts of points every time I hear about shipping software with bugs, putting the onus on the consumer/customer to deal with the issues, security breaches, etc.
It also makes me think more and more of pushing software liability and what it would mean practically. As previously mentioned here and elsewhere until we started holding companies responsible for the products they produced and the safety thereof, they didn't start designing for safety.
It does make me wonder though how much of a chicken and egg problem it is and where to start. What constitutes due-diligence in software engineering?
- Due care
- Adequate safety
- Failure rates
The point still stands that we don't yet have any definitions of what constitutes appropriate software engineering, standards of due care, etc. I hate to say it but I'm actually looking forward to the first major lawsuit against a software vendor for a failure in basic suitability to task so that we'll have something to hang our hats on.