> The title “engineer” is cheapened by the tech industry... Recent years have seen prominent failures in software. Massive data breaches at Target, Home Depot, BlueCross BlueShield, Anthem, Harvard University, LastPass, and Ashley Madison only scratch the surface of the cybersecurity issues posed by today’s computer systems. The Volkswagen diesel-emissions exploit was caused by a software failing, even if it seems to have been engineered, as it were, deliberately.<p>Every mature engineering field begins with failures. Henry Petroski [1], the archetype of the classical engineer IMHO, believed failure analysis was at the heart of engineering. Non-engineers, including scientists and health-care professionals, make the false assumption that the practice of engineering is deterministic. The goal of engineering is to understand systems well enough that they seem deterministic but engineering knowledge never starts off that way. The formal structural engineering standards represent a history of failures along with the best practice for dealing with each failure mode. The process is iterative, just like software development.<p>Neither the term "computer science" nor "software engineering" is an accurate description but as someone formally trained in engineering and computer science, I've yet to encounter a more accurate label. In my experience, the complaints about the term engineering are about credentialism and the solution is to use the term Professional Engineer for those who have earned the credential.<p>[1] <a href="https://en.wikipedia.org/wiki/Henry_Petroski" rel="nofollow">https://en.wikipedia.org/wiki/Henry_Petroski</a>