When writing software for yourself, your company or third parties, do you always
ID: 639289 • Letter: W
Question
When writing software for yourself, your company or third parties, do you always consider certain principles, values, standards, or rules of behavior that guide the decisions, procedures and systems in a way that contributes to the welfare of its key stakeholders, and respects the rights of all constituents affected by its operations?
And can this code of conduct sometimes be overruled by business requirements, lack of technical skills or other friction during the development process?
Some random examples in order of severity. (yes that is controversial) :
Do you accept known bugs as a risk for the end-user?
When writing applications, do you always give the end user the chance for a complete de-install?
Do you always secure and encrypt private data delivered end-users in your web application?
Do you alwask ask the end-user before submitting his entered data to the server?
Did you ever wrote an application that sends unwanted e-mails?
Did you ever work on harvesting or scraping projects only for the benefit of the business?
Did you ever write software that is legal but moraly controversial, like for weapons industry.
Did you ever wrote software that ( can intentionally) or is be used for criminal activities
It would be nice if you can get a good case with explanation on your moral and ethical decisions.
note: Since ethics and law are quite local and cultural dependent, it would be interesting if you add the location of the "crime scene" with it.
Explanation / Answer
Overall, I always keep the Software Engineering Code of Ethics in mind. However, to address some of your particular points:
Do you accept known bugs as a risk for the end-user?
It depends. If it's a mission critical system and the bug is a showstopper, that's unacceptable. However, if it's a minor flaw that has workarounds in a non-critical system, that's acceptable. I always consider the impact of the problem on the system and to the users (and people affected by) the system.
Do you always secure and encrypt private data delivered end-users in your web application?
If I was on a project where this applied, I would consult any applicable laws and guidelines and follow them. If there were no applicable guidelines, I would err on the side of caution and use some form of security. Of course, you have to weigh a number of factors, ranging from how the system is deployed (physical locations, connections between nodes) and performance of any algorithms or techniques used.
Did you ever write software that is legal but morally controversial, like for weapons industry.
All of my jobs (as you can see in my profile) have been in the defense industry (and I'm also planning on working in the defense or intelligence industries after graduation), including work on ISR systems and Command and Control systems. I don't understand anyone, especially really good software engineers with skills that these projects need, who says that they won't build such systems. The way I see it, by bringing the best software engineering practices to these systems, you are only making them safer and more reliable. And these systems that involve life and death need to be as safe and reliable as possible.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.