The document discusses the principles of professional ethics for software engineers. It outlines 8 principles that software engineers should follow, with a focus on the principle of "Profession" - that software engineers should advance the integrity and reputation of the profession in a manner consistent with public interest. The document proposes discussing this principle in the context of a hypothetical software company. It provides examples of how the company and its software engineers would uphold the various guidelines under the "Profession" principle, such as developing systems accurately, taking responsibility for errors, avoiding conflicts of interest, and addressing any violations of the professional code of conduct.
2. INTRODUCTION
Just like mechanical, electrical, telecommunication and civil engineering, software engineering is
also a profession whose aim is to provide practicalities of developing core software systems to
provide services to users and perform / execute tasks as need by the companies, organisations,
individuals and other users at a given period of time
Software engineers as they are professionals there are ethical rules and morals that they should
adopt in their field of work. These rules maybe stated by the government of the particular country,
community in which an engineer is going to perform his tasks, standards set by the IEEE community
which governs all the engineering professions.
Software engineers shall commit themselves to making the analysis, specification, design,
development, testing and maintenance of software a beneficial and respected profession. In
accordance with their commitment to the health, safety and welfare of the public.
The followings are the eight principles set for the ethical code of conduct for every software
engineer and they include:
3. INTRODUCTION CON’T…………
Public
Software engineers shall act consistently with the public interests
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.
Product
Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.
Judgement
Software engineers shall maintain integrity and independence in their professional judgment.
Management
Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of
software development and maintenance.
Profession
Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.
Colleagues
Software engineers shall be fair to and supportive of their colleagues.
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.
4. INTRODUCTION CON’T…………
Our major discussions will rotate around on the sixth principle of code of conduct of
software engineers.
PROFESSION
The profession principle states that software engineers shall advance the integrity and
reputation of the profession consistent with the public interest.
In Uganda software engineering as a professional just started but early days people
doing electrical, computer and telecommunication engineering ended up doing code
which wasn’t their field thus there was a need to start software engineering thus there are
few rules the government has imposed on the software engineering discipline some of
those imposed are the common ones which works even in other engineering disciplines
like
Systems developed by software engineers should be reliable with what was required by
their clients
-Software engineers should involve themselves in malicious practices like hacking
-Software engineers should develop systems within the stated period of time
-Among others
5. PROFESSION
In particular, software engineers shall, as appropriate:
6.01. Help develop an organizational environment favourable to acting ethically.
6.02. Promote public knowledge of software engineering.
6.03. Extend software engineering knowledge by appropriate participation in professional
organizations, meetings and publications.
6.04. Support, as members of a profession, other software engineers striving to follow this Code.
6.05. Not promote their own interest at the expense of the profession, client or employer.
6.06. Obey all laws governing their work, unless, in exceptional circumstances, such compliance
is inconsistent with the public interest.
6.07. Be accurate in stating the characteristics of software on which they work, avoiding not only
false claims but also claims that might reasonably be supposed to be speculative, vacuous,
deceptive, misleading, or doubtful.
6.08. Take responsibility for detecting, correcting, and reporting errors in software and associated
documents on which they work.
6.09. Ensure that clients, employers, and supervisors know of the software engineer's
commitment to this Code of ethics, and the subsequent ramifications of such commitment.
6.10. Avoid associations with businesses and organizations which are in conflict with this code.
6.11. Recognize that violations of this Code are inconsistent with b
6. PROFESSION CON’T----------------
6.11. Recognize that violations of this Code are inconsistent with being a professional software
engineer.
6.12. Express concerns to the people involved when significant violations of this Code are
detected unless this is impossible, counter-productive, or dangerous.
6.13. Report significant violations of this Code to appropriate authorities when it is clear that
consultation with people involved in these significant violations is impossible,
counterproductive or dangerous.
As group 14 members we can subject the profession principle to a set-up of a software company whose
workers will be software engineers and people of other disciplines such as accountants, lawyers and others.
Thus our discussions are as below about the overall code of conduct of software engineers as a profession
7. Help develop an organizational environment favourable to acting ethically.
Ethically all workers especially the software engineers will a have to adhere all the rules set up by the environment where the
company is located. This will create a favourable environment to associate with community
Promote public knowledge of software engineering.
Our company will get one day in a month to sensitize the community/public about the software engineering discipline as a
profession. This will motivate many to like the profession study it.
When the software is developed there is always time to go and teach the users all the functionality the software has thus the
lessons conducted to take them through the system functionality promotes public knowledge about the profession.
Extend software engineering knowledge by appropriate participation in professional organizations, meetings and
publications.
Software engineering as a course emphasises developing software systems involving the users from the beginning of the
development process.
This is because users communicate to developers what functionality they need in their system this process is called
requirements engineering. This extends the software engineering knowledge to users. The company will have to conduct
meeting with the other organisations’ board of directors to discuss about the systems they are required to develop. In these
meeting we shall discuss the logic to be implemented in the softwares to be implemented.
8. Support, as members of a profession, other software engineers striving to follow this Code.
Our company shall always call for applications for other software engineers to work with us after a
period of time. This will help striving software engineers.
Not promote their own interest at the expense of the profession, client or employer.
Software engineers within our company shall conform to all the rules we set and all our clients shall
have a copy of company rules. To the employers software engineers will only develop software
systems that has only required functionality.
Obey all laws governing their work, unless, in exceptional circumstances, such compliance is
inconsistent with the public interest.
All software engineers employed in our organisation/company will have to follow all the laws that are
stated within the company mandate. This means provided the software engineer is working on any of
our project term and conditions should be adhered to during the entire development process.
9. Be accurate in stating the characteristics of software on which they work, avoiding not only false claims but also claims that might
reasonably be supposed to be speculative, vacuous, deceptive, misleading, or doubtful.
Software development is a process which should include all stakeholders of the system like the developers, system users, employers and
project managers.
Stakeholders involve themselves in the development process to create accurate communications during the entire process this helps in users to
state the correct system specifications. Stating correct system specifications solves the problem of stating inaccurate software characteristics.
Take responsibility for detecting, correcting, and reporting errors in software and associated documents on which they work.
Every system before its development software engineers shall have to get correct system specifications and they are documented in a software
requirement specification document which includes all the system functionality. Thus any errors make in the system documents will result in
developing fake systems. Software engineer responsible for developing the system with error will be responsible and will have to re-develop
a new accurate system as required by the users
Ensure that clients, employers, and supervisors know of the software engineer's
commitment to this Code of ethics, and the subsequent ramifications of such commitment.
Software engineers shall adhere to the engineering community rules and this will show the entire community where he or she executes his
tasks. On the side of commitment software engineers shall develop the system within the stated period of time
10. Avoid associations with businesses and organizations which are in conflict with this code.
No software engineer in our company will have to work for another company competing with us in the same business
Punishments shall be put for any software engineer in our company who works with the conflicting company with our
business
Recognize that violations of this Code are inconsistent with being a professional software engineer.
Software developers should not develop system which harm other people’s life such as privacy, hacking someone’s or
organisation’s data.
Strong measures shall be put in place for any of the engineer who deviates from the stated code of conduct within the
company’s mandate
Express concerns to the people involved when significant violations of this Code are detected unless this is
impossible, counter-productive, or dangerous.
In case of any harm created by any of our software engineers punishments shall be subjected to the person who committed
the harm. Compassion for the victim shall be provided by the company strictly.
Report significant violations of this Code to appropriate authorities when it is clear that consultation with people
involved in these significant violations is impossible, counterproductive or dangerous.
Malicious acts done by the software engineers shall be reported to the board of directors in the company. Such violations
like bank system hacking it’s very hard to talk to the victims of such scenarios.