Programmers like me shared some interesting stories on and last week after a post by Bill Sourour went viral. In he recounts how, as a young software engineer, he was asked to create misleading quizzes designed to sell a drug that was known to have powerful side effects, and eventually became aware of a teenage girl who had died as a result of taking the same drug. Reddit Hacker News “The code I’m still ashamed of” The story struck a chord with developers- it turned out that ethical dilemmas were by no means unusual, and many experiences were shared about creating software that was anti-social, dangerous, or deadly. “As developers, we are often one of the last lines of defence against potentially dangerous and unethical practices” — Bill Sourour The morality of software technologies such as artificial intelligence, drones and big data routinely finds itself under the spotlight, and the arguments on all sides are fairly well understood. Yet what is less acknowledged is the ethical role of the software engineer herself. After all, it is she who actually creates the code and therefore bears the ultimate responsibility for what that code does, so surely she can refuse to create code that is “evil”? Oaths Established professions have ethical frameworks (oaths) in place, the first paragraph of the reads as follows: New York Lawyer’s Code of Professional Responsibility The continued existence of a free and democratic society depends upon recognition of the concept that justice is based upon the rule of law grounded in respect for the dignity of the individual and the capacity of the individual through reason for enlightened self-government. Law so grounded makes justice possible, for only through such law does the dignity of the individual attain respect and protection. Without it, individual rights become subject to unrestrained power, respect for law is destroyed, and rational self-government is impossible. Great stuff. Not only does it enshrine a clear guiding principle for being a lawyer, it also explains how and why. Implicitly it sends out a strong signal about the value and power of lawyers in society, and sets expectations for all concerned. Finally it affords a respectability to the trade, and hopefully a degree of inspiration for those considering a career in law. Similarly the provides a reassuring air of gravitas and a moral framework for doctors which has gone through several centuries of refinement. Hippocratic Oath In fact every single requires its practitioners to sign up to a code of as part of the accreditation process. profession ethics So all this rather begs the question: as software engineers- where is our oath? To be sure, several ideas have been floated: Jonathan Harris wrote eloquently on the and the discussion surfaces from time to time on the more cerebral forums, yet no consensus has so far been reached as to what such an oath would look like. Ethics of Code software development The Professions Regardless of its form, all attempts at establishing a “hippocratic oath” for Software Engineers are in any case doomed for one reason: , “profession” in this context meaning one of the requiring a combination of education, work experience, and crucially- swearing of an oath, in order to achieve membership of a guild. software engineering is not a profession established academic trades There is nothing strange about this. Software engineering is after all a young field, and it is only in the last decade or two that it has really begun to touch every part of humanity. Why shouldn’t organisations be free to hire people who can “just get the job done”? Well, , but from an ethical standpoint, because employers will make them do evil stuff, and without the backing of a professional organisation with a set of guiding principles the software engineer is powerless to complain when given an unethical task, she either puts her job on the line or puts the wider community in danger. for lots of reasons Any attempt to organise labour will always find natural opposition since there are those for whom deregulation is a short-term benefit. However, in the long run society could be well served by the creation of a guild of software engineers who go through a similar path of training and work experience as say, doctors, architects or lawyers; undertake to uphold a code of conduct; and receive support to resolve ethical dilemmas. The Problem with Guilds However, guilds are not without their problems, and it’s fair to say that economic libertarians are generally not in favour. Milton Friedman the guild system in Chapter 9 of his popular work . Considering the field of medicine (as he rightly regarded it as providing the strongest supporting case for guilds), he ultimately arrived at the conclusion that occupational licensing results in inferior care and a medical cartel. famously critiqued Capitalism and Freedom A more mainstream complaint is that guilds eventually tend to act solely in the interests of their members. Depending on your point of view, and the situation in question this is either a good or a bad thing, but there are certainly cases where guilds have gone rogue. Automobile dealers in the US for example, are an occupational group that are protected to such a degree by state and guild, that guild members are enriched to the detriment of everybody else. Equally you could argue that some groups just don’t need to be accredited. Possibly a guild of gardeners, or greengrocers would only serve to reduce access to those trades, whilst simultaneously driving up costs, for no real benefit to the wider community. So Should Software Engineering be one of the Professions? “as the gatekeepers of their organisation’s ability to execute, software engineers need to be held to account, and be empowered to hold their organisations to account.” From an ethical standpoint, you could quite reasonably make the argument that the trade most urgently in need of organisation as a guild is software engineering. Many tasks in the traditional professions have been automated by software. It therefore makes sense to ensure that those charged with automating the work in these fields are held to a similar ethical standard as the existing practitioners. The consequences of software that does the wrong thing can be anywhere from mildly irritating to devastating, and as the gatekeepers of their organisation’s ability to execute, software engineers need to be held to account, and be empowered to hold their organisations to account. What should we do? As software engineers we should internalise the from a perspective of utility and ethics, and be aware of the power that we have as those who ultimately realise the will of our organisations. case for guilds And in case you were wondering if software engineers really do wield that much clout- remember: . the leader of the free world was elected this month largely because of a news recommendation system is how hackers start their afternoons. We’re a part of the family. We are now and happy to opportunities. Hacker Noon @AMI accepting submissions discuss advertising &sponsorship To learn more, , , or simply, read our about page like/message us on Facebook tweet/DM @HackerNoon. If you enjoyed this story, we recommend reading our and . Until next time, don’t take the realities of the world for granted! latest tech stories trending tech stories