In: Computer Science
(c) When do we need to use/apply a professional code of ethics? What professional codes of ethics we can use in software development field?
(d) In B. Berenbach and M. Broy, "Professional and Ethical Dilemmas in Software Engi- neering," in Computer, vol. 42, no. 1, pp. 74-80, Jan. 2009 (an article provided in the class as reading material), the authors have categorized 8 ethical dilemmas that a software engineer may face in practice. Select one of the dilemmas that you think you may face in your future career, give a specific example of that dilemma and elaborate which code of ethics can be applied for that dilemma:
(c)The term ethics means certain principles that are followed by any individual. Professional code of ethics means the principles that needs to be followed by any professional working in any Organisation be it an accounting professional, a doctor, a teacher or anyone who is involved in any profession. We need to use/apply the professional code of ethics in our day to day life or whenever we are involved in any activity that on a small or large scale may impact the people you are dealing with as well as when you are representing any institution/company/profession.
When it comes to the professional code of ethics to be followed in software development field, there are many which directly or indirectly affect the client, people using the software product, as well as the growth of your country. And some or the other of these code of ethics need to be applied every time a software developer is involved in any activity. For example, When a software developer is involved in development of a new product for a client, he needs to keep in mind that the product needs to be developed, keeping in mind all requirements of the client and the success of the Product is directly going to impact the reputation of his/her company in the market and attract other good projects for his/her company.
(d) Out of the dilemmas that a software engineer might face , the most common one that seems to me is the "Cancelled Vacation". This dilemma is probably the result of inefficient planning and working, when too many teams or people are involved in working for a project and not performing their roles correctly OR due to any last moment problem occurred while testing or while making the code live. There can be N number of reason . Having received approval on the planned vacation, and getting is rejected at the very last moment is the most disheartening dilemma that software engineers face, which indirectly is related to what their Job demands. You can never be sure, when at last minute a small bug may arrive in the code, when the code is ready to be implemented and that small bug might affect the project deadlines, thus resulting in the pressure of cancelling vacation from the project managers/team managers.
Now being a software developer, who is his company's representative in front of the client, he/she should behave in an ethical way and follow the ethics required to be presented in front of the client. A software developer should always work with a THINK CUSTOMER approach and at this point when a stuck project delivery, requires this behaviour to be projected, I being a software engineer would re-plan my vacation and put in best of my efforts to lead the project delivery. This will bring customer trust for my company and will be a satisfactory feeling of completing my tasks and not leaving them in between just to enjoy my holiday. Holidays can be anyhow re-planned, but it is difficult to gain customer trust.