There are two links I've come across recently that have stuck with me and made me think about ethics and programming and the discussion we had back in April around the subject:
The post was about the ethics of programming autopilot software in the contest of the apparent shortcuts Tesla was taking and its false promises to deliver this feature which entailed basically beta testing it on its customers.
One of links is a list of unethical things (some borderline criminal in my opinion) programmers have done in their career: Ask HN: What is the most unethical thing you've done as a programmer?
I've collected some of them:
I created software that was used by call center agents to bid on “bathroom” break time slots and kept track of who was on break and actively punished those who didn’t follow the rules. It rewarded those that had higher performance and who took less breaks with higher priority. If an agent didn’t come back from their break a security guard would automatically be dispatched to find them. For the same company I also made software that reduced the same call agents to numbers and effectively automated the layoff/termination process.
This orwellian automation terrorized the poor employees who worked there for years, long after I left, before it was finally shut down by court order. I had designed it as a plug-in architecture and when it was shut down there were many additional features, orders, and punishment_types.
Break monitoring and automated layoff. Apparently the programmer was at the beginning of its career and didn't have the full scope of what they were doing.
The owner had my team leader find someone on his team willing to do the following: dump the guy's Plesk database containing all of his customers and make a copy of it on our network. I took on the task and was told it was simply a backup. I was young and didn't really think things through. I feel bad about it now because... The customer was booted from the network a month later and all of his customers were offered free email and or web hosting for the year, including migrating them over to our network... the owner absolutely annihilated the guy. He contacted all his customers and simply wiped him out.
I worked for a company with an extensive QA process and on occasion I found myself being less then thorough before handing the code off. I knew there were bugs, but just left them in there, because they had bug quotas they had to meet, and we had a tight deadline, etc... At least that's what you tell yourself to justify the behavior.
ERM software. When a new client comes onboard, install the product and database, but make sure not to make any optimizations, not even the basic indexes in the DB. Depending on the usage, the DB will get slower and slower in a few months. Then send a "consultant" who will simply run a script and add indexes etc and test a bit (no more than an afternoon worth of effort) and charge a high fee for it.
This one doesn't surprise me at all.
I worked on a penny-bidding site. These guys "auctioned" items like PlayStation, tvs, cars to the user who placed the final bid on an item after 60 seconds of no further bids. Each bid would increase the final price by 1 pence/cent, but each bid would cost 50 pence/cents. You could "win" a $20,000 car for $500.37 and the house would have taken 50,037*50 cents. It might be okay if that was it -- but I was asked to code some "house bidders" who would outbid players until a certain threshold was met. I left that job shortly afterwards.
Fixing bids, wow -_-
After Jared Kushner originally bought the New York Observer, I was hired to lead the tech team, which I did for a year and a half in house then for three more as a vendor. He asked me, out of band, to blackhole articles critical of his commercial real estate colleagues and I complied.
High profile instances!
I once used curl to continuously upvote a family member's art submission to some national contest. The contest site did no validation so continuously sending POSTs with was almost too easy to game it. They won and got a free trip across the country (among other things).
I don't particularly follow the advancements of AI but this one made me a little worried and a little weary: China Is Building a Fleet of Autonomous AI-Powered Submarines.
In the article is explained how China is "quietly" building a fleet of autonomous AI submarines with the potential of being armed (except nuclear power) and (for obvious reasons) the US is doing the same. It's a little funny that even the secretary of defense of the US is a little concerned about AI in warfare:
As Jim Mattis put it in an interview about the use of AI and drones in warfare, “If we ever get to the point where it is completely on automatic pilot, we are all spectators. That is no longer serving a political purpose. And conflict is a social problem that needs social solutions, people—human solutions.”
This also reminded me of how, recently, Google had to drop the pursuit of a defense contract because how vocal its employees became against it: Google to drop Pentagon AI contract after employee objections to the ‘business of war’
And I thought that it was unethical to read the list of applications a person has installed on an Android phone just because the API lets you do it, all of this stuff is actually scary :D