Earlier this week, a post written by programmer and teacher Bill Sourour went viral. It’s called “Code I’m Still Ashamed Of.”
In it he recounts a horrible story of being a young programmer who landed a job building a website for a pharmaceutical company. The whole post is worth a read, but the upshot is he was duped into helping the company skirt drug advertising laws in order to persuade young women to take a particular drug.
He later found out the drug was known to worsen depression and at least one young woman committed suicide while taking it. He found out his sister was taking the drug and warned her off it.
Decades later, he still feels guilty about it, he told Business Insider. And he was inspired to write the post after he viewed a talk by Robert Martin, called “The Future of Programming.” Martin is a famous-in-his-world programmer and speaker better known as “Uncle Bob.”
Software developers ‘kill people’
Martin argues in that talk that software developers better figure out how to self-regulate themselves and fast.
"Let's decide what it means to be a programmer,"Martin says in the video. "Civilization depends on us. Civilization doesn't understand this yet."
His point is that in today's world, everything we do like buying things, making a phone call, driving cars, flying in planes, involves software. And dozens of people have already been killed by faulty software in cars, while hundreds of people have been killed from faulty software during air travel.
"We are killing people," Martin says. "We did not get into this business to kill people. And this is only getting worse."
He pointed out that "there are hints" that developers will increasingly face some real heat in the years to come. He cited Volkswagen America's CEO, Michael Horn, who at first blamed software engineers for the company's emissions cheating scandal during a Congressional hearing, claimed the coders had acted on their own "for whatever reason." Horn later resigned after US prosecutors accused the company of making this decision at the highest levels and then trying to cover it up.
But Martin pointed out, "The weird thing is, it was software developers who wrote that code. It was us. Some programmers wrote cheating code. Do you think they knew? I think they probably knew."
Martin finished with a fire-and-brimstone call to action in which he warned that one day, some software developer will do something that will cause a disaster that kills tens of thousands of people.
But Sourour points out that it's not just about accidentally killing people or deliberately polluting the air. Software has already been used by Wall Street firms to manipulate stock quotes.
"This could not happen without some shady code that creates fake orders,"Sourour says.
Programmers confess
Sourour's "ashamed" post went viral on Hacker News and Reddit and it unleashed a long list of confessions from programmers about the unethical and, sometimes, illegal things they've been asked to do.
One wrote about working for a company that signed people up for its email newsletters even after they opted out (which could be a violation of federal law). Programmers then wrote scripts to help the company's salespeople target these people. When this guy confronted the CTO about how unethical this was, he was told to stand down. And now, he says, these same programmers are "working on startups that scoop up massive amounts of people's location data."
Another programmer was hired to write software for a radio device and was asked to make it use channels reserved for emergency services because this would make the device operate faster. "Quicker but illegal, and obstructive to emergency communications," he said. He refused to do it but says, "there's always an engineer willing" to simply follow orders.
One said that as an intern, he was handed some code that had been copied from a competitor's website and was asked to build on it "just for a demo for investors," his bosses told him. He felt like he was being asked to defraud the investors.
Another told a story of being asked to alter a backup of some financial data and to re-run the year-end report, by restoring the altered backup. This programmer refused as did this person's supervisor. "Watched that client get arrested for tax evasion a couple years later."
One said he was, just recently, asked to target children by making "a gambling game disguised as a base-building resource-management strategy game aimed for kids ... I don't work there anymore either."
Bootcamps without ethics
A common theme among these stories was that if the developer says no to such requests, the company will just find someone else do it. That may be true for now, but it's still a cop-out, Martin points out.
"We rule the world," he said. "We don't know it yet. Other people believe they rule the world but they write down the rules and they hand them to us. And then we write the rules that go into the machines that execute everything that happens."
And he warned, if programmers don't start to govern themselves, after that apocalypse event that kills thousands of people occurs, legislators will do it for them, dictating everything about their jobs, down to the languages they are allowed to use.
The obvious solution is to teach ethics courses. And they are pretty much mandatory for every four-year computer science student. The bible of this college course is author Sara Baase's "A Gift of Fire: Social, Legal, and Ethical Issues for Computing Technology."
"Unfortunately, many of today's software developers are self-taught or are learning through so-called 'coding bootcamps,'" says Sourour.
"These rarely, if ever, include any kind of ethics training. The focus is on pumping out people who can write code as fast as possible to satisfy a growing and insatiable market for coding skills," he adds.
Sourour is calling for all bootcamps and online training sites to "start talking about the ethical responsibilities that come along with writing code," he says.
But what developers really need is an organization that governs and regulates their profession like other industries have, both Martin and Sourour believe. Currently nothing like that exists although both the Association for Computer Machinery and the IEEE have made a start, with ethics documents and, in some cases, training.