The Role of Ethics in Software Engineering

Certain members of the United States Armed Forces and key participants in the Iraq War never set foot in the Middle East during the war. Airman First Class Brandon Bryant is one of these soldiers. As a navigator for the Air Force, Bryant remotely controlled weaponized drones designed to terminate insurgents from above. From halfway across the world in a remote Nevada base, he pulled triggers that ended lives only displayed to him as pixels on a computer screen. Although Bryant wasn’t a ground soldier, he still experienced PTSD following his employment. This is an example of trauma commonly suffered by UAV (Unmanned Aerial Vehicle) pilots like Bryant, comparable to that experienced by traditional soldiers.

Bryant’s story epitomizes why ethics in software engineering is paramount in the education and development of software developers. It is true that aerospace engineers designed the physical structure of a UAV, and mechanical engineers tuned its engines and sensors. But software engineers helped transform the order of a remote pilot into the release of a Hellfire missile, ultimately resulting in a target’s death. The prevalence of software, from microwaves to unmanned drones, renders it necessary to consider the ethical implications of any engineer’s work: is it right to use one’s knowledge to create a remote-controlled killing machine?

However, the application of ethics to software differs greatly from that found in other forms of engineering. Software engineering is heavily reliant on the movement of bits, meaning that developed software can be delivered to consumers instantaneously and frequently, often bypassing regional bounds or governmental regulations. The actions of a developer can instantly and heavily influence users, making it even more important for software engineers to consider the ethical implications of their work. More specifically, developers should consider the ethical impact of their work as if creating everyday tools to consumers’ lives; these tools are reservoirs for sensitive information and can be utilized for potentially harmful purposes. Software engineers should treat their products as such, and consider the actions that their users will perform with their product’s assistance.

Most of these software tools utilize some forms of user information, including but not limited to email addresses, relationships, banking information, and location. This forces users to trust the security and safety of their software, hoping that this information does not fall into the hands of someone with malicious intent. This occurrence can lead to the ransoming of a consumer to return important information or the release of sensitive information for public eyes. The holding of sensitive info and the penalty-should a breach occur-make software security incredibly important. It is up to a software developer to keep this information secure, and manage it in a manner that protects both the consumer and their work. In order to ensure consumer well-being and trust, software developers must consider their work like a sensitive tool; should it malfunction, consumers may face serious consequences.

Another aspect of software that carries moral argument is its accessibility; anybody with a computer can learn to code without expensive equipment or an extensive education. The sheer number of software developers that result create different forms of software to suit different interests, some of which hurt others or carry out illicit activity. For example, independent developers created the Silk Road, a website on the dark web purposed to distribute illegal substances in an efficient and discreet manner. Many tools that software engineers develop are purposed to assist people and make lives easier, but the opposite is equally true. Software engineers must always consider the realistic intent of their work in order to develop software in a just and ethical manner. In some cases, the line between good and bad software is blurred. For example, a consumer can either utilize the same VPN software to protect their privacy from prying eyes, or to discreetly and illegally download media. This decision-making is done by the consumer, so developers are forced to predict consumer intent while considering ethical ramifications.

In a time where computers are becoming more common than ever, what is most important of all is that users rely on the robustness of their software as an essential piece of equipment. In order to productively develop a morally sound product, software developers must treat it as such, and consider their users’ information and potential motives as driving factors towards ethical considerations. The ethical evaluation of software must be held at a higher importance than software itself. Only then can useful and safe software be of legitimate assistance to consumers; a goal we all should be concerned by.