ABSTRACT

Controversy concerning whether "software engineers" are, or should be, engineers provides an opportunity to think about how to define "engineer" and what effect different definitions may have on our understanding of engineering. The standard definitions of engineering are shown to generate more confusion than insight. Engineering should be defined historically, as an occupation, and ethically, as a profession. An engineer is a member of the engineering profession, that is, a member both of an occupation that is engineering by "birth," "adoption," or "marriage" and of the profession committed to engineering's code of ethics. Today, few "software engineers" satisfy either of these conditions. It is an open question whether they should.