Software engineering professionalism

From Wikipedia, the free encyclopedia

For many years, software engineering has been trying to be a profession. This was hampered by the common perception that it is merely the application of computer science. The goal of making software engineering into its own profession spurred a great deal of debate about what it means to be a profession.

To claim to be a profession, software engineering needs to be widely recognized as such. Such things are having undergraduate degrees, licences that are recognized by state governments, their own codes of ethics, and so on are symbols of that recognition.

Contents

[edit] History

In the US during the mid-1990s, the National Society of Professional Engineers sued in all states in the US to prohibit anyone from using the term software engineer as a noun or field of employment[citation needed]. They won in most (48?) states[citation needed]. Utah does not license professional engineers, so the point was moot there.

In response, the IEEE and ACM began a joint effort called JCESEP in 1993, which evolved into SWECC in 1998 to explore making software engineering into a profession. Both committees used traditional engineering model. The ACM pulled out of SWECC (in May 1999), objecting to its support for the Texas professionalization efforts, of having state licenses for software engineers. The IEEE continued to support making software engineering a branch of traditional engineering.

In Canada the Canadian Information Processing Society established the Information Systems Professional certification process.

[edit] Ethics

Software engineering ethics is a large field. In some ways it began as an attempt to define bugs as unethical. However that is unrealistic.

A Software Engineering Code of Ethics has been approved by the ACM and the IEEE-CS as the standard for teaching and practicing software engineering.

Bill Joy argued that "better software" can only enable its privileged end users, make reality more power-pointy as opposed to more humane, and ultimately run away with itself so that "the future doesn't need us." He openly questioned the goals of software engineering in this respect, asking why it isn't trying to be more ethical rather than more efficient.

Lawrence Lessig argued that coding is more like law, in that it expresses a certain social ethic by deciding what to ignore/consider in making detailed decisions.

Most professional organizations (such as the ACM and IEEE) and certifying organizations (such as the Institute for Certification of Computer Professionals) have formal codes of ethics. Adherence to the code of ethics is required as a condition of membership or certification. According to the ICCP, violation of the code can result in revocation of the certificate.

[edit] Licensing

Donald Bagert of Texas became the first professional software engineer in the U.S. on September 4, 1998 or October 9, 1998. As of May 2002, Texas had issued 44 professional engineering licenses for software engineers.

Professional licensing has been criticized for many reasons.

  • Software engineers would have to study years of calculus, physics, and chemistry to pass the exams, which is irrelevant to most software practitioners. Many (most?) computer science majors don't earn degrees in engineering schools, so they are probably unqualified to pass engineering exams.
  • In Canada, most people who earn professional software engineering licenses actually studied computer engineering or electrical engineering, even though these people already qualified to become professional engineers in their own fields. Thus, licensing became another tool that traditional engineers use to show that they are better than computer scientists and software engineers.

For more information, see:

[edit] See also