Resumen
When discussing the risks of using computers, the most basic problem is rarely mentioned: most programmers are not well educated for the work they do. Many have never learned the basic principles of software design and validation. Detailed knowledge of arcane systems interfaces and languages is no substitute for knowing how to apply fundamental design principles. Since the late 1960's, it has been known how to design programs so that it is easy to change the amount of storage used for dates. Nonetheless, thousands of programmers wrote millions of lines of code that violated well-accepted design principles. The simplest explanation: those who designed and approved that software were incompetent. The response in many jurisdictions was legislation establishing engineering as a self-regulating profession. Under those laws, before anyone is allowed to practice engineering, they must be licensed by a specified professional engineering association. These associations identify a core body of knowledge for each engineering specialty. Accreditation committees visit universities frequently to make sure engineering programs teach the required material. The records of applicants for a license are examined to make sure they have passed the necessary courses. After acquiring supervised experience, applicants must pass additional examinations on the legal and ethical obligations of engineers. |