Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uunet!super!pcolsen From: pcolsen@super.ORG (Peter C Olsen) Newsgroups: comp.software-eng Subject: Re: Programmer Licensing? Keywords: software safety, government regulation Message-ID: <16840@super.ORG> Date: 18 Nov 89 02:31:04 GMT References: <39400056@m.cs.uiuc.edu> <242@cherry5.UUCP> <4600@ae.sei.cmu.edu> <1487@redsox.bsw.com> Sender: news@super.ORG Reply-To: pcolsen@super.UUCP (Peter C Olsen) Organization: Supercomputing Research Center, Bowie, Md. Lines: 48 In article <1487@redsox.bsw.com> campbell@redsox.UUCP (Larry Campbell) writes: >In article <4600@ae.sei.cmu.edu> rsd@sei.cmu.edu (Richard S D'Ippolito) writes: >... Doctors, dentists, lawyers, electricians, beauticians -- all >provide services to individuals who could be injured, or even killed, by an >incompetent practitioner. How does the practice of a civil engineer engaged in the structural design of a bridge differ from the practice of a software engineer engaged in the design of software for the automatic operation of bridge control? How does the responsibility of an electrician installing and maintaining an elevator differ from that of the programmer who programs the controlling software? To ``practice engineering before the public'' requires, in most states, that you be registered as a Professional Engineer. ``Practicing before the public'' means offering services the the public at large, not as an employee. (The ``public'' of course includes even the largest corporations.) The rationale is {\em precisely} to protect unknowing consumers from being defrauded by incompetents ... and perhaps killed. I think that the same problems arise in software engineering. A ``programmer'' who writes a check-book program can probably escape both legal and moral liability with a shrink-wrap release --- people who cannot balance their checkbook by hand (or at least understand how it is done) probably cannot be harmed any more by their software than by their pocket calculators. I don't think that this is the case in the ``software engineering'' of large, complex, or critical systems. If you hire me to custom-build some sotware for your medical system, your environmental control system, or your custom boat, then you may well be entrusting your life to me --- and you have the {\em right} to expect the same professional standards in software engineering that you would expect in civil, electrical, or chemical engineering --- or medicine. Chief among these is a broad knowledge of the basic engineering principles which underlie {\em all} engineering --- including software engineering --- and which are often completely ignored in the typical CS curriculum followed by many ``programmers.'' Put another way, physicist are wonderful people, but I still prefer my bridges designed by civil engineers. The bottom line --- you can be a ``programmer'' all you want, but if you want to be an ``engineer'' then either be an employee or Register before you enter public practice. Peter Olsen P.E. pcolsen@super.org