Software engineers experience some ethical dilemmas when developing new products. As designs have become more sophisticated and marketed toward the general public, more ethical issues have arisen. This has caused some companies to consider ethics more heavily when choosing how to design a product and deciding whether it’s responsible to allow just anyone to use it.
Here are a few examples of ethical considerations in software engineering.
How will the software design affect the wellbeing of the consumer or target audience?
Some software is incredibly addictive. Examples of this are popular video games such as World of Warcraft, Call of Duty, etc. Social media software platforms are yet more examples of technology that many people spend a lot of time and energy on.
Software engineers must ask themselves how addictive they want a new technology to be. How does the user benefit from the software? Perhaps a new game is extremely easy to play and offers users a means to squeeze in some entertainment and relaxation time whenever they have a few moments. The downside to this may be that people use the new game as a crutch and spend too much time distracted by it during stressful times.
Apps and games that gather user data and employ monetization are considered more ethical if the user is made aware of the practices that are being employed. Collecting data without permission or attempting to explain what data is being collected may not be viewed as ethical. This is why we so often have to acknowledge that we permit software to collect information in exchange for us using it.
There may be other stipulations, such as the company sharing consumer data with other companies in exchange for monetary compensation. The idea is that in exchange for your information, you are getting to use a product or service owned by the company. Consumers need to understand that in most cases, there is no completely free software for them to use.
Algorithm bias can be a major problem
Software is developed by humans, and therefore it is subject to bias. We can design software so that it performs in a certain manner that may reflect our personal moral bias. For example, search engine software could easily be programmed to direct search results to exclude some websites, topics or even people. Anyone who believes in total freedom of speech on the web may feel that this is an unethical practice that puts some companies and individuals in a position where they have a unique advantage over others.
Some algorithm bias can be built in simply because developers need to be culturally aware when they develop software. Speech recognition software is a perfect example of unique software that takes a lot of time to develop if it is to include people from many different backgrounds. Some early speech recognition programs did not recognize common accents or the voices of people of color. Many people cite this major oversight as a prime example of systemic racism in the software industry.
Cyber security issues are a major concern
Software engineers and developers need to consider how much time and energy they need to put into making sure that their software is secure, and user data is not subject to hacking and other nefarious cybercrimes. Not taking the time to make software secure could be deemed highly unethical, as users trust companies to develop safe and easy-to-use products.
How responsible are software developers for protecting user information? Consider a situation where a developer may be creating new shopping software for businesses. This system would be involved with gathering financial information and processing it. A security breach could result in a lot of people having their financial information sold, used or posted online.
Ransomware attacks are particularly common now that cyber-attackers have seen that a lot of people are willing to pay the ransom to avoid losing business. The cost of paying them is weighed to be less than the cost of ignoring the threat and losing business.
Future software engineers will need to take ethics more seriously than ever as AI becomes more developed and sophisticated
Artificial intelligence (AI) will play a major role in all future software design. Those pursuing a master’s in software engineering learn how to make ethical decisions when designing or upgrading software for clients. Baylor University offers an excellent online master’s program for those who want to update their software engineering skills.
AI is rapidly being integrated into a lot of software designs, especially customer service software. Some websites use AI to write content and articles that can greatly influence customer perception. When AI writes news articles, the ethical question that arises most often concerns whether the AI technology is capable of writing an article that is fair, balanced and drawing from reliable sources for any specific quotes or data.
Is software appropriate for all ages, and is it likely to be used by young people regardless?
Plenty of apps and software state that they are not for use by people under a certain age. However, the truth is that if it has features that are undoubtedly appealing to younger users, then there is a high likelihood that trying to limit its use to people above a specific age is not going to be effective. Software engineers and companies need to ask what potential harm or situations could arise from younger individuals using software that is designed for adults.
Conclusion
It is important for the general public’s health that software engineers and companies consider and study the potential impacts of any software they are considering for release. Companies that try to maintain a good code of ethics will be looked at more favorably by consumers over a long period of time.
Companies that are exposed as creators of unethical products can do irreparable damage to their reputations and thus lose a lot of money as their customer base dwindles.