The Importance of Ethics in Computing and Why Programmers Should Care

A programmer’s everyday activities are generally not associated with moral dilemmas or ethical matters of significant gravity. However, with the ever-increasing presence of technology in our daily lives, it is becoming increasingly evident that those who design and create these goods must take into account the far-reaching implications of their work on society. This is the essence of software ethics. It is a subject that must be taken into consideration, especially when creating products that can have a positive impact on the lives of those who use them.

The Facebook-Cambridge Analytica scandal that occurred earlier this year brought to light the potential impact of a few lines of code combined with effective marketing tactics. This story sparked widespread concern and is still referenced today, however, there are other instances where technology has been used to enable manipulation.

At a certain stage in their progression, software engineers must recognise that the repercussions of their programming will be experienced far more broadly than just within the confines of the source code editors that they use.

Do Coders Bear Moral Weighting?

It is often necessary to create complex, hierarchical teams when developing large-scale software applications. Such teams may include product managers, software architects, backend and frontend developers, designers, and more, depending on the exact project details. There is a belief that project managers and architects should be held accountable for the effects of their work on customers, since these individuals are responsible for setting the overall direction and desired outcome. However, it seems unjust to place a great weight of responsibility on the programmer who is only responsible for creating a minor feature, as they often do not have access to the entire scope of the project. Ultimately, it is not fair to expect such individuals to take on this burden.

Team members should have the same enthusiasm for taking both the credit and blame for the outcomes of the project, whether it be positive or negative. It is not acceptable to deny accountability and shift the responsibility for undesirable consequences to the project managers. All parties involved should be equally responsible for any mistakes that are made.

In the middle of August, approximately 1,400 Google employees presented a petition asking for greater transparency into the ethical implications of the company’s activities. At the same time, Google announced plans to create a censored search engine in China that would assist the Chinese government in their aims. This has created a complex ethical dilemma. It is essential for those involved in the development of technology to assess the potential effects of their products.

Over fifty-one percent of the 70,782 developers who responded to the Ethics section of Stack Overflow’s 2022 annual survey indicated that they would not create code for a product or purpose they considered morally reprehensible. Approximately a third of the respondents declared they might be willing to do so, depending on the context. To gain further insight, this week an analogous fictitious scenario was posed in a Twitter poll. Although the sample size was significantly smaller, the results were remarkably similar.

Based on the findings of two surveys, it is reasonable to assume that at least one-third of software developers either do not consider ethics to be a priority or do not believe it is part of their job when creating products. Unfortunately, either of these two qualities – naivety or negligence – is not desirable in a programmer, who is in charge of creating products that have real-world consequences.

Does It Make Sense to Certify (Regulate) Software Developers?

The level of competence and ethical conduct of practitioners in fields such as medicine, law and finance are major determinants in how these professions are understood and evaluated. It is not enough simply to know that a doctor is qualified and has the necessary qualifications; we must also ascertain that they adhere to the accepted medical ethics. For those in these professions, ethics is so deeply entrenched that it is almost instinctive. This is because the work they do critically affects people’s health, wealth, economic security and quality of life. If a practitioner in such a field is found to have acted in an egregious manner, they may have their licence revoked.

Some have suggested that software developers should be subject to government regulation, requiring certifications to demonstrate their qualifications and potentially revoking them for producing “dirty code”. While this idea may sound plausible in theory, it is not practical in this context. Comparing software engineering to other professions is inadequate, as software development has become ubiquitous in many industries, including healthcare, finance, automotive, entertainment, and industrial. Requiring universal certification for all of these fields would be unrealistic, and would make it difficult for programmers to remain competitive in the job market with the excessive amount of credentials that would be needed.

Creating a solution to account for the third developer who may produce subpar code under the “proper circumstances” could be a complex task. This is because there will always be some developers who prefer to remain anonymous, due to the sensitive nature of assessing products with malicious intent.

The Importance of Considering Ethical Considerations

It is understandable why one might be hesitant to suggest that programmers take an ethics course in philosophy; however, this may be necessary in order to ensure the ethical implications of their work are taken into consideration. Basic ethical reasoning is an instinctive part of human cognition, and most people have a well-developed sense of what is wrong or right. When moral considerations are disregarded in programming, it is often due to a lack of knowledge or a belief that they will not be held accountable for their actions. It is essential that programmers ask all the necessary questions to properly assess how their work will affect the end user.

In the modern era, software is pervasive in virtually every sector of society. From the military to banks and airports to shopping centres, software is used to facilitate a variety of tasks. Therefore, it is essential to exercise caution when developing software, as poor programming can result in potentially catastrophic consequences. For example, without proper precautionary measures, individuals could be exposed to harm, loss of property, or even imprisonment. Recent events, such as the Cambridge Analytica scandal, demonstrate the serious outcomes that can arise when software is not developed responsibly. As a result of the controversy, many workers were laid off and the company eventually declared bankruptcy. It is clear that those who create software must consider the human implications of their work and take steps to ensure the safety of individuals who will ultimately be affected by their programming.

As professionals, it is essential that we take the time to consider the ethical implications of our work. From a single freelancing job to a few lines of code, we must be mindful that our efforts may have a lasting impact on how people around the world are treated and the resources they have access to. Our actions have the potential to drastically alter standards of living and must be approached with the utmost ethical and moral consideration.

It is not feasible to anticipate people to act in an ethical manner when they could potentially gain immensely by not doing so. By extension, any person may decide to be oblivious to or unconcerned with the consequences of their work as there are usually evident disconnects between the programmer and the ultimate user. However, on the other side of the equation, real people’s lives could be permanently changed. The ethical considerations (or lack thereof) of any person associated with the development process may have a deep-seated influence on the lives of people. Everyone stands to profit when ethical considerations are taken into account.

Are you looking to bolster your programming staff with highly qualified professionals? If so, we would be delighted to help you do just that. Not only can we provide you with access to the most talented programmers, but we are also actively seeking experienced developers who are ready to advance their careers. Please do not hesitate to contact us to learn more about how we can assist you in this endeavour.

Join the Top 1% of Remote Developers and Designers

Works connects the top 1% of remote developers and designers with the leading brands and startups around the world. We focus on sophisticated, challenging tier-one projects which require highly skilled talent and problem solvers.
seasoned project manager reviewing remote software engineer's progress on software development project, hired from Works blog.join_marketplace.your_wayexperienced remote UI / UX designer working remotely at home while working on UI / UX & product design projects on Works blog.join_marketplace.freelance_jobs