Presentation on theme: "EECS 690 February 26. Professions Just to clear up some word confusion: In common usage, a professional is generally anyone who gets paid to do something."— Presentation transcript:
EECS 690 February 26
Professions Just to clear up some word confusion: In common usage, a professional is generally anyone who gets paid to do something. ‘Professionalism’ in common usage refers to a general code of conduct in the workplace In this case, we mean to discuss a more technical and specific definition of ‘Profession’
Characteristics of Professions 1.Mastery of an Esoteric Body of Knowledge (e.g. Medicine, Law) 2.Autonomy 3.Formal Organization (e.g. Bar Association) 4.Code of Ethics 5.A Culture of Practice (e.g. Medical researchers vs. medical practitioners)
Mastery of Esoteric Knowledge Computing seems to fit this constraint rather well, especially for those jobs in computing that require a college degree. The curriculum is standard for computing degrees in the US, and is folded into the entity that accredits most engineering programs (the Accreditation Board for Engineering and Technology (ABET)). In addition to degrees, many companies offer certifications of expertise in given systems or applications.
Formal Organization While no single professional society exists to encompass all computing experts, some large and growing societies are present (e.g. ACM and IEEE-CS). While these organizations are large and growing, there is no obligation for employers to restrict their hiring to members of any particular society or holders of any particular certification. (Contrast Actuaries, Lawyers, Doctors, CPA’s, etc.)
Autonomy In this area, computing jobs do not take on this characteristic of professions. The various organizations that exist have no power other than the power of association. Autonomy is not de jure. However, there is a sort of de facto autonomy in computing jobs, most notably in programming, because the programmer gets to make decisions about code for those who do not have the ability to read or write it.
Codes of Ethics There is no single recognized code of ethics binding on all computer experts. There are, however, some existing ideas of what a code of ethics for computing as a profession would look like (e.g. the ACM/IEEE-CS Software Engineering Code) This code is specific to software engineers, but in places is sufficiently general for wider application. Codes of ethics are not just for socializing new members, but are also guidelines for what the public can and should exprect from computing professionals.
Culture of Computing It is difficult to generalize about the culture of computing because of the wide variety of jobs that the term ‘computer professional’ could encompass. There is really very little self-identification of such a culture, and very little formal self-regulation in computing jobs.
The ACM/IEEE-CS Code (short version) 1. PUBLIC - Software engineers shall act consistently with the public interest. 2. CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest. 3. PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest professional standards possible. 4. JUDGMENT - Software engineers shall maintain integrity and independence in their professional judgment. 5. MANAGEMENT - Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance. 6. PROFESSION - Software engineers shall advance the integrity and reputation of the profession consistent with the public interest. 7. COLLEAGUES - Software engineers shall be fair to and supportive of their colleagues. 8. SELF - Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.