The Ethics of Optimized Healthcare Software Systems
by Thomas Tran
Software systems have revolutionized the way we interact with each other. As such, ethics has struggled to catch up with technologies that dare to explore into the previously unknown, such as automated surgical tools that perform surgery without aid from a surgeon or systems that dispense medicine. This brings up an ethical concern: if the underlying code affects the end user, to what degree must engineers worry about the ethics of their products? After all, from the perspective of engineers, the code for a software system directly affects its externalized behavior.
In this article, I will specify that software engineers should not only strive to optimize their code, but that the telos of software engineering is not only to meet the requirements of the product owner, but also to optimize the system for end users. I will first define and highlight this category of ethics. Then, I will discuss what optimization is and why it is important. Finally, I call for action for ethics to be taught more broadly in software engineering. In all propositions, I will allude to software systems used in healthcare that have faculty over a person's life.
Software engineers are taught the science and art of software, but focus little on the ramifications that their creations will have. Furthermore, software engineers who work on projects where there is a high degree of abstraction between the code and the end users are not motivated to create systems that are generally optimized. That is, as long as the system produces an acceptable externalized behavior and as long as that system passes all relevant test cases, then how it affects the end user is of very little concern. That disconnect between development and the end user helps to facilitate this misunderstanding. What happens with systems whose externalized behavior have direct impacts on the survival of another human being?
Ethics refers to rules of conduct that software engineers regard as proper and expected. For instance, the Association for Computing Machinery specifies a fully-realized code of ethics on its website. On the other hand, morality for software engineers come from within. Morality is a force which transcends circumstance. These are the principles that shape our actions under any circumstance, and which are the guides for right and wrong behavior that do not come from adhering to the rules of an institution or a culture, but from adhering to notions of right and wrong found within us. I want to distinguish this from ethics, which is for software engineers is specified by many non-profit organizations and entities which have considerable influence within the field and are more standardized and objective than morality which vary from person to person.
Why do software engineers have to adhere by ethical standards in practice? It can be difficult to translate how lines of code can have real-world consequences. Specific to the healthcare field, engineers have to be aware of how their code will affect the end-user. How will it be used to help or harm the user? The scary thought is that the end goals of some project in which the engineer work is covered in shroud and they do not have access to such information. In such case, it becomes more necessary to think from the perspective of the end user and build code that not only works, but benefit the end users in the best way possible. After all, their health and survival is in the hands of the code that software engineers build. In other words, it is prudent to deduce what the code is being used for. To engineers, ethics is the safeguard that distinguishes bad software from good. Customers and clients want to work with people who follow the same ethics as other software engineers. To build the best system, we have to work at it and code the best that we possibly can. In healthcare, we must ensure that the code will provide the best outcome and ensure the best chance of survival for the end user. In this case, optimization is directly correlated with the survival of the end user.
Companies are compelled by ethical standards to optimize their software and hardware to serve the end users. Time-sensitive systems process a large amount of data and must process them in a short amount of time. By this standard, the underlying algorithms that process these data must be optimized. The hardware for instance could be optimized by running the code on a x86 CPU for instance. This will serve the general interest of the system to deliver the best quality outcomes for the end user.
When it comes to software engineering, clients don't often understand the technicalities and vernacular underlying the process. In order to better rely information between them and the technical team, agents like business analysts translate the technical requirements to language which the client understands. In our case, the software engineers themselves must take it upon themselves to optimize their code so that it serves the end user well and ensure that the system runs under stress. There must be abstraction between the system and the end-user; the only part of the system the end-user is exposed to should be the externalized behavior of the system.
New paradigms of software engineering have emerged that focus on the ethics of software systems within the larger milieu. Ethical-Driven Software Development was created as an approach to help the engineer evaluate the advantages and disadvantages of different software solutions, which allows the engineer to be more conscious and aware of the ethical ramifications of certain engineering decisions within the process.
In our rapidly changing world, a code of ethics for software engineers in the field is necessary. However, ethics is not often emphasized or even taught. There has been too little focus on ethics of software engineering in education. Our future depends on systems which interconnect, and our decisions will determine how beneficial these systems will be to the end user. In healthcare, optimization is an ethical practice which determines whether a person's survival. At the end of the day, ethical engineers make better engineers.