Software engineering professionalism
   HOME

TheInfoList



OR:

Software engineering professionalism is a movement to make
software engineering Software engineering is a systematic engineering approach to software development. A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term '' ...
a
profession A profession is a field of work that has been successfully ''professionalized''. It can be defined as a disciplined group of individuals, '' professionals'', who adhere to ethical standards and who hold themselves out as, and are accepted by ...
, with aspects such as degree and certification programs,
professional association A professional association (also called a professional body, professional organization, or professional society) usually seeks to advocacy, further a particular profession, the interests of individuals and organisations engaged in that professio ...
s,
professional ethics Professional ethics encompass the personal and corporate standards of behavior expected of professionals. The word professionalism originally applied to vows of a religious order. By no later than the year 1675, the term had seen secular applic ...
, and government licensing. The field is a licensed discipline in Texas in the United States (
Texas Board of Professional Engineers Texas Board of Professional Engineers and Land Surveyors (TBPELS) is a state agency of Texas, headquartered in Austin, that regulates and licenses the practices of engineering and land surveying in the state. The agency was established in 1937 as ...
, since 2013), Engineers Australia(Course Accreditation since 2001, not Licensing), and many provinces in Canada.


History

In 1993 the
IEEE The Institute of Electrical and Electronics Engineers (IEEE) is a 501(c)(3) professional association for electronic engineering and electrical engineering (and associated disciplines) with its corporate office in New York City and its operat ...
and ACM began a joint effort called JCESEP, which evolved into SWECC in 1998 to explore making software engineering into a profession. The ACM pulled out of SWECC in May 1999, objecting to its support for the Texas professionalization efforts, of having state licenses for
software engineer Software engineering is a systematic engineering approach to software development. A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term ''p ...
s. ACM determined that the state of knowledge and practice in software engineering was too immature to warrant licensing, and that licensing would give false assurances of competence even if the body of knowledge were mature. The IEEE continued to support making software engineering a branch of traditional engineering. In
Canada Canada is a country in North America. Its ten provinces and three territories extend from the Atlantic Ocean to the Pacific Ocean and northward into the Arctic Ocean, covering over , making it the world's second-largest country by tot ...
the Canadian Information Processing Society established the
Information Systems Professional The Information Systems Professional (I.S.P), or Informaticien professionnel agréé (I.P.A. in French), is a professional designation issued by the Canadian Information Processing Society (CIPS). Introduced in 1989, the professional designation is ...
certification process. Also, by the late 1990s (1999 in British Columbia) the discipline of software engineering as a professional engineering discipline was officially created. This has caused some disputes between the provincial engineering associations and companies who call their developers software engineers, even though these developers have not been licensed by any engineering association. In 1999, the Panel of Software Engineering was formed as part of the settlement between Engineering Canada and the Memorial University of Newfoundland over the school's use of the term "software engineering" in the name of a computer science program. Concerns were raised over inappropriate use of the name "software engineering" to describe non-engineering programs could lead to student and public confusion, and ultimately threaten public safety. The Panel issued recommendations to create a Software Engineering Accreditation Board, but the task force created to carry out the recommendations were unable to get the various stakeholders to agree to concrete proposals, resulting in separate accreditation boards.


Ethics

Software engineering
ethics Ethics or moral philosophy is a branch of philosophy that "involves systematizing, defending, and recommending concepts of right and wrong behavior".''Internet Encyclopedia of Philosophy'' The field of ethics, along with aesthetics, concer ...
is a large field. In some ways it began as an unrealistic attempt to define bugs as unethical. More recently it has been defined as the application of both computer science and engineering philosophy, principles, and practices to the design and development of software systems. Due to this engineering focus and the increased use of software in mission critical and human critical systems, where failure can result in large losses of capital but more importantly lives such as the
Therac-25 The Therac-25 was a computer-controlled radiation therapy machine produced by Atomic Energy of Canada Limited (AECL) in 1982 after the Therac-6 and Therac-20 units (the earlier units had been produced in partnership with of France). It was invol ...
system, many ethical codes have been developed by a number of societies, associations and organizations. These entities, such as the ACM,
IEEE The Institute of Electrical and Electronics Engineers (IEEE) is a 501(c)(3) professional association for electronic engineering and electrical engineering (and associated disciplines) with its corporate office in New York City and its operat ...
, EGBC and
Institute for Certification of Computing Professionals The Institute for the Certification of Computing Professionals (ICCP) is a non-profit (501(c)(6)) institution for professional certification in the Computer engineering and Information technology industry. It was founded in 1973 by 8 professional ...
(ICCP) 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. Also, all engineering societies require conformance to their ethical codes; violation of the code results in the revocation of the license to practice engineering in the society's jurisdiction. These codes of ethics usually have much in common. They typically relate the need to act consistently with the client's interest, employer's interest, and most importantly the public's interest. They also outline the need to act with professionalism and to promote an ethical approach to the profession. A Software Engineering Code of Ethics has been approved by the ACM and the
IEEE-CS The Institute of Electrical and Electronics Engineers (IEEE) is a 501(c)(3) professional association for electronic engineering and electrical engineering (and associated disciplines) with its corporate office in New York City and its operation ...
as the standard for teaching and practicing software engineering.


Examples of codes of conduct

The following are examples of codes of conduct for Professional Engineers. These 2 have been chosen because both jurisdictions have a designation for Professional Software Engineers. * Engineers and Geoscientists of British Columbia (EGBC): All members in the association's code of Ethics must ensure that government, the public can rely on BC's professional engineers and Geoscientists to act at all times with fairness, courtesy and good faith to their employers, employee and customers, and to uphold the truth, honesty and trustworthiness, and to safe guard human life and the environment. This is just one of the many ways in which BC's Professional Engineers and Professional Geoscientists maintain their competitive edge in today's global marketplace. * Association of Professional Engineers and Geoscientists of Alberta (APEGA): Different with British Columbia, the Alberta Government granted self governance to engineers, Geoscientists and geophysicists. All members in the APEGA have to accept legal and ethical responsibility for the work and to hold the interest of the public and society. The APEGA is a standards guideline of professional practice to uphold the protection of public interest for engineering, Geoscientists and geophysics in Alberta.


Opinions on ethics

Bill Joy William Nelson Joy (born November 8, 1954) is an American computer engineer and venture capitalist. He co-founded Sun Microsystems in 1982 along with Scott McNealy, Vinod Khosla, and Andy Bechtolsheim, and served as Chief Scientist and CTO at ...
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. In his book Code and Other Laws of Cyberspace,
Lawrence Lessig Lester Lawrence Lessig III (born June 3, 1961) is an American academic, attorney, and political activist. He is the Roy L. Furman Professor of Law at Harvard Law School and the former director of the Edmond J. Safra Center for Ethics at Harvard ...
argues that computer code can regulate conduct in much the same way as the legal code. Lessig and Joy urge people to think about the consequences of the software being developed, not only in a functional way, but also in how it affects the public and society as a whole. Overall, due to the youth of software engineering, many of the ethical codes and values have been borrowed from other fields, such as mechanical and civil engineering. However, there are many ethical questions that even these, much older, disciplines have not encountered. Questions about the ethical impact of internet applications, which have a global reach, have never been encountered until recently and other ethical questions are still to be encountered. This means the ethical codes for software engineering are a work in progress, that will change and update as more questions arise.


Independent licensing and certification exams

Since 2002, the IEEE Computer Society offered the Certified Software Development Professional (CSDP) certification exam (in 2015 this was replaced by several similar certifications). A group of experts from industry and academia developed the exam and maintained it. Donald Bagert, and at later period Stephen Tockey headed the certification committee. Contents of the exam centered around the SWEBOK (
Software Engineering Body of Knowledge The ''Software Engineering Body of Knowledge'' (SWEBOK ( )) is an international standard ISO/ IEC TR 19759:2005 specifying a guide to the generally accepted software engineering body of knowledge. The Guide to the Software Engineering Body of Know ...
) guide, with the additional emphasis on Professional Practices and Software Engineering Economics knowledge areas (KAs). The motivation was to produce a structure at an international level for software engineering's knowledge areas.


Criticism of licensing

Professional licensing has been criticized for many reasons. * The field of software engineering is too immature * Licensing would give false assurances of competence even if the body of knowledge were mature * Software engineers would have to study years of
calculus Calculus, originally called infinitesimal calculus or "the calculus of infinitesimals", is the mathematical study of continuous change, in the same way that geometry is the study of shape, and algebra is the study of generalizations of arithm ...
,
physics Physics is the natural science that studies matter, its fundamental constituents, its motion and behavior through space and time, and the related entities of energy and force. "Physical science is that department of knowledge which r ...
, and chemistry to pass the exams, which is irrelevant to most software practitioners. Many (most?) computer science majors don't earn degrees in
engineering Engineering is the use of scientific principles to design and build machines, structures, and other items, including bridges, tunnels, roads, vehicles, and buildings. The discipline of engineering encompasses a broad range of more speciali ...
schools, so they are probably unqualified to pass engineering exams.


Licensing by country


United States

The Bureau of Labor Statistics (BLS) classifies ''computer software engineers'' as a subcategory of "computer specialists", along with occupations such as computer scientist, Programmer, Database administrator and Network administrator.U.S Department of Labor and Statistic
''The 2000 Standard Occupational Classification (SOC) System: 15-0000 Computer and Mathematical Occupations''
/ref> The BLS classifies all other engineering disciplines, including computer hardware engineers, as ''engineers''.U.S Department of Labor and Statistic

/ref> Many states prohibit unlicensed persons from calling themselves an Engineer, or from indicating branches or specialties not covered licensing acts. In many states, the title Engineer is reserved for individuals with a Professional Engineering license indicating that they have shown minimum level of competency through accredited engineering education, qualified engineering experience, and engineering board's examinations. In April 2013 the
National Council of Examiners for Engineering and Surveying The National Council of Examiners for Engineering and Surveying (NCEES) is an American non-profit organization dedicated to advancing professional licensure for engineers and surveyors. The Council’s members are the engineering and surveying lic ...
(NCEES) began offering a Professional Engineer (PE) exam for Software Engineering. The exam was developed in association with the
IEEE Computer Society The Institute of Electrical and Electronics Engineers (IEEE) is a 501(c)(3) professional association for electronic engineering and electrical engineering (and associated disciplines) with its corporate office in New York City and its operation ...
. NCEES ended the exam in April 2019 due to lack of participation. The American
National Society of Professional Engineers The National Society of Professional Engineers (abbreviate as NSPE) is a professional association representing licensed professional engineers in the United States. NSPE is the recognized voice and advocate of licensed Professional Engineers repr ...
provides a model law and lobbies legislatures to adopt
occupational licensing Occupational licensing, also called occupational licensure, is a form of government regulation requiring a license to pursue a particular profession or vocation for compensation. It is related to occupational closure. Professions that can have ...
regulations. The model law requires: # a four-year degree from a university program accredited by the Engineering Accreditation Committee (EAC) of the Accreditation Board for Engineering and Technology (ABET), # an eight-hour examination on the fundamentals of engineering (FE) usually taken in the senior year of college, # four years of acceptable experience, # a second examination on principles and practice, and # written recommendations from other professional engineers. Some states require continuing education. In Texas
Donald Bagert Donald is a masculine given name derived from the Gaelic name ''Dòmhnall''.. This comes from the Proto-Celtic *''Dumno-ualos'' ("world-ruler" or "world-wielder"). The final -''d'' in ''Donald'' is partly derived from a misinterpretation of the ...
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. Rochester Institute of Technology granted the first Software Engineering bachelor's degrees in 2001. Other universities have followed.


Canada

In Canada, the use of the job title ''Engineer'' is controlled in each province by self-regulating professional engineering organizations who are also tasked with enforcement of the governing legislation. The intent is that any individual holding themselves out as an engineer has been verified to have been educated to a certain accredited level and their professional practice is subject to a code of ethics and peer scrutiny. It is also illegal to use the title Engineer in Canada unless an individual is licensed. IT professionals with degrees in other fields (such as computer science or information systems) are restricted from using the title ''Software Engineer'', or wording ''Software Engineer'' in a title, depending on their province or territory of residence. In some instances, cases have been taken to court regarding the illegal use of the protected title ''Engineer''.'Professional Engineers of Ontario'

"Quebec Engineers win court battle against Microsoft"
/ref> Most Canadians who earn professional software engineering licenses study software engineering, computer engineering or electrical engineering. Many times these people already qualified to become professional engineers in their own fields but choose to be licensed as software engineers to differentiate themselves from computer scientists. In
British Columbia British Columbia (commonly abbreviated as BC) is the westernmost province of Canada, situated between the Pacific Ocean and the Rocky Mountains. It has a diverse geography, with rugged landscapes that include rocky coastlines, sandy beaches, ...
, The Limited Licence is granted by the Engineers and Geoscientists of British Columbia. Fees are collected by ''EGBC'' for the Limited Licensee.


Ontario

In Ontario, the Professional Engineers Act stipulates a minimum education level of a three-year diploma in technology from a College of Applied Arts and Technology or a degree in a relevant science area. However, engineering undergraduates and all other applicants are not allowed to use the title of engineer until they complete the minimum amount of work experience of four years in addition to completing the Professional Practice Examination (PPE). If the applicant does not hold an undergraduate engineering degree then they may have to take the Confirmatory Practice Exam or Specific Examination Program unless the exam requirements are waived by a committee. A person must be granted the “professional engineer” licence to have the right to practise professional software engineering as a Professional Engineer in Ontario. To become licensed by Professional Engineers Ontario (PEO), one must: # Be at least 18 years of age. # Be a citizen or permanent resident of Canada. # Be of good character. Applicants will be requested to answer questions and make a written declaration on the form as a test of ethics. # Meet PEO's stipulated academic requirements for licensure. # Pass the Professional Practice Examination. # Fulfill engineering work experience requirements. Many graduates of Software Engineering programs are unable to obtain the PEO licence since the work they qualify for after graduation as entry-level is not related to engineering i.e. working in a software company writing code or testing code would not qualify them as their work experience does not fulfill the work experience guidelines the PEO sets. Also Software Engineering programs in Ontario and other provinces involve a series of courses in electrical, electronics, and computers engineering qualifying the graduates to even work in those fields.


Quebec

A person must be granted the “engineer” licence to have the right to practise professional software engineering in Quebec. To become licensed by the Quebec order of engineers (in French :
Ordre des ingénieurs du Québec The Ordre des ingénieurs du Québec (OIQ) is the self-regulatory body that governs Quebec's 65,000 professional engineers. In Quebec, the OIQ carefully monitors compliance with rules of this trade and with the professional integrity of its membe ...
- OIQ), a candidate must: # Be at least 18 years of age. # Be of good character. The candidate will be requested to answer questions and make a written declaration on the application form to test their ethics. # Meet OIQ's stipulated academic requirements for licensure. In this case, the academic program should be accredited by the Canadian Engineering Accreditation Board - CEAB) # Pass the Professional Practice Examination. # Fulfill engineering work experience requirements. # Pass the working knowledge of French exam


Software engineering (SEng) guidelines by Canadian provinces

The term "engineer" in Canada is restricted to those who have graduated from a qualifying engineering programme. Some universities’ "software engineering" programmes are under the engineering faculty and therefore qualify, for example the
University of Waterloo The University of Waterloo (UWaterloo, UW, or Waterloo) is a public research university with a main campus in Waterloo, Ontario, Canada. The main campus is on of land adjacent to "Uptown" Waterloo and Waterloo Park. The university also operates ...
. Others, such as the
University of Toronto The University of Toronto (UToronto or U of T) is a public university, public research university in Toronto, Ontario, Canada, located on the grounds that surround Queen's Park (Toronto), Queen's Park. It was founded by royal charter in 1827 ...
have "software engineering" in the computer science faculty which does not qualify. This distinction has to do with the way the profession is regulated. Degrees in "Engineering" must be accredited by a national panel and have certain specific requirements to allow the graduate to pursue a career as a professional engineer. "Computer Science" degrees, even those with specialties in software engineering, do not have to meet these requirements so the computer science departments can generally teach a wider variety of topics and students can graduate without specific courses required to pursue a career as a professional engineer.


Europe

Throughout the whole of Europe, suitably qualified engineers may obtain the professional
European Engineer European Engineer (EUR ING) is an international professional qualification and title for highly qualified engineers used in over 32 European countries. Contemporary EUR ING engineers are degree-qualified and have gained the highest level of profes ...
qualification.


France

In France, the term ' (engineer) is not a protected title and can be used by anyone, even by those who do not possess an academic degree. However, the title ' (Graduate Engineer) is an official academic title that is protected by the government and is associated with the ', which is one of the most prestigious academic degrees in France.


Iceland

The use of the title ' ( computer scientist) is protected by law in Iceland. Software engineering is taught in
Computer Science Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (includi ...
departments in Icelandic universities. Icelandic law state that a permission must be obtained from the Minister of Industry when the degree was awarded abroad, prior to use of the title. The title is awarded to those who have obtained a BSc degree in Computer Science from a recognized higher educational institution.


New Zealand

In New Zealand, the
Institution of Professional Engineers New Zealand Engineering New Zealand Te Ao Rangahau (ENZ; previously the New Zealand Institution of Engineers – NZIE and then Institution of Professional Engineers New Zealand – IPENZ) is a not-for-profit professional body that promotes the integrity a ...
(IPENZ), which licenses and regulates the country's chartered engineers (CPEng), recognizes software engineering as a legitimate branch of professional engineering and accepts application of software engineers to obtain chartered status provided they have a tertiary degree of approved subjects. Software Engineering is included whereas Computer Science is normally not.


See also

*
Bachelor of Science in Information Technology A Bachelor of Science in Information Technology, (abbreviated BSIT or B.Sc. IT), is a bachelor's degree awarded for an undergraduate program in the information technology. The degree is normally required in order to work in the Information tec ...
* Bachelor of Software Engineering *
List of software engineering topics The following outline is provided as an overview of and topical guide to software engineering: Software engineering – application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software ...
* Software engineering demographics *
Software engineering economics Software engineering is a systematic engineering approach to software development. A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term ' ...


References

{{Reflist


External links


Professional licensing in Texas



Review of the Professionalization of the Software Industry: Has it Made Software Engineering a Real Profession?", An academic article documenting the progress of SE professionalization
Software engineering