The code I’m still ashamed of (2016)
freecodecamp.org
freecodecamp.org
It will be passed as just routine and a normal part of the process. It'll be "just the way things are done". It'll still be up to you to understand and appreciate the ethical consequences of you choices.
In this case he was "lucky" enough to become aware of it due to heavy news coverage and then a follow up of an immediate family member being directly impacted. It almost never will be that blatant.
That's the lesson to take away from this. As part of your profession, you need to understand the consequences of the code you write and choices you make - and represent for and protect the people who won't be in the room, but who will be the recipients of the consequences.
Your day will be a subtle milgram experiment, and you need to be the one to say something.
You don't solve persistent corruption by ethics courses you do it by removing conflicts of interests, changing incentives, and enforcement. They may not be easy to do, free of costs or even within capability to change.
Ethics could still be useful of course but the institutions need to care about it and the incentives need to be changeable accordingly for it to be more than just a figleaf.
Requiring CS, CoE, and EE majors to take courses on the humanities - without making any statement about the merits of those courses - the sort of thing that the university decides based on its political and financial goals, not based on its desire to create stronger CS professionals. A course with a title like "CS Ethics" sounds much more relevant and beneficial than "African American Womyn's Studies", which is the sort of thing I would have to take to satisfy my university's ethics requirement if I hadn't satisfied it with AP testing.
Today, I'm not so sure. People do tend to completely ignore ethics when there's social pressure to do so, but maybe the author of this essay could have benefited from it.
http://www.faculty.ucr.edu/~eschwitz/SchwitzPapers/BehEth-14...
Personally - I haven't taken any classes. I once wrote a template mailer that financial institutions used to mass mail customers, which I felt icky about, but I still did it to the best of my ability.
1/2 way through my career, I took a pay cut to leave finance and work in cancer research, mostly for the interesting work, but I do feel better about it as it's more positive sum for the world.
I would not begrudge someone doing something dodgy but legal to feed their families. Maybe they should feel a bit bad and look for other jobs, but I can understand.
In fact, a world where companies are so very ethical it takes a professional ethicist to spot unethical practices sounds nearly like a utopia.
> you need to be the one to say something
This implies a moral duty to learn rhetoric.
I had Oracle experience and was hired to develop a middleware to translate long DB object names to short ones in Oracle (no refactoring of the app was allowed), plus I had to convert a shedload of T-SQL to PL/SQL. I told my employer this would take months.
Two weeks in to the job I was told "You're off to Boston to demonstrate your work to the client", "Err, its not ready" I said, "Don't worry its just a demo to get our second payment from the client, it will be Okay" my CTO said.
So on the flight from Dublin to Boston, my CTO leans over and says "I'm not asking you to lie, but..."
Long story short, they rigged the application to make it look like it was connecting to Oracle, but was actually saving data in SQL Server data files. I had to convince the client it was working fine. A low level techie kept giving me the stink-eye as he could clearly see this was a scam.
On my return I resigned and called the security department of the bank concerned. My wife is a US citizen so I really don't want to get in to trouble with the US authorities. The bank took the product, but they insisted on a massive discount to not take legal action.
Okay, it wasn't my dodgy code, but I felt the experience was similar.
Basically, I am in despair, at what I consider to be a complete ethical and moral collapse of the entire software development industry.
It's a long story, but I spent about 27 years in a "silo," where not all was The Sound Of Music, but where I was never presented with ethical dillemas.
Then, I left that company, and returned to the world that I had come from before I joined it, as an idealistic, optimistic, energetic young engineer.
Oh.
My.
God.
It is now exactly like the finance industry has been for decades. Profound moral collapse. That means that it will never get better. There's just too much money sloshing around.
It does annoy me, when folks treat me like I'm either an idiot or a chump for insisting on living a life of Personal Integrity. I don't go around, trying to get other people to change, but I feel as if I'm punished, whenever I mention my own point of view.
I won't write dark patterns, and I won't write code that runs against my Personal Integrity. I'm quite grateful to have the luxury of choice.
Kraft 1977 is my favourite Marxist analysis of the software industry.
https://www.amazon.com/Programmers-Managers-Routinization-Pr...
That being said there is an ethics of the software industry. It does not necessarily encompass an ethics of marketing but there is an ethics of privacy, security, authentication, authorization, identity, and decision making.
It would seem that extending the domain of computer science ethics into the ethics of its subject domains would be an overreach. Does it make sense for computer science to apply the idea in Kraft that should overpower all other industries and thereby decide the ethics of pharmaceutical marketing, simply because it controls the means of production?
It is a Marxist analysis like I said that computer scientists should properly have this power.
However it is not wrong that if you are working on a project and don’t agree with its ethics that you should speak up and work to improve it. Everyone has that responsibility.
It isn’t about computer science or software engineering. It’s about professionalism.
The thing about me, is I never did the "boiling frog" thing.
I went into a company with a fairly insular culture in 1990, and came out in 2017. It was sort of like being transported in a time machine. I learned the tech, but not the prevailing culture.
In 1990, it was [finally] cool to be a programmer, but it was just beginning to be "lucrative." Bill Gates was sort of the only real software mogul most of us knew. Larry Ellison, and a couple of others were just beginning to flex their muscle, but they hadn't really hit their stride, yet.
It is now crazy lucrative. A lot of people, make a lot of money, and they also act as cultural bellwethers for their employees and fans. Their values become the values of the workforce. Fairly standard human nature. Nothing surprising about it. Good old-fashioned "Monkey see; monkey do." As I said, I live in New York, and have been watching this happen with the finance industry since the day I moved up here.
It was just a shock to encounter the same ethos in the software industry. In 1990, most of the folks that I hung out with were tech enthusiasts. We enjoyed the tech, and were happy to make a decent living off it, but most of the people I hung with considered it a vocation of love; not avarice.
We were dorks, but happy dorks. Working in a team was fun, and we didn't feel the need to have the crazy competitiveness that we have today (but it was beginning, back then; I just didn't encounter it in my circle).
That was an amazing moment in time and I miss it. I barely touched it but I was too young to really hold onto it myself.
"Hey developers, customer account manager here, just sold an upgrade to the customer on product X, they need capability Y"
"It already has that in the version they have, it's probably just misconfigured"
"Oh... well I've sold it now, can we just increase the version number and pass it over to them anyway?"
We laughed that guy out of the room, thankfully.
My boss's response was basically, "Welp, we just got $200,000 to build this. We should probably figure out what the fuck it is."
My first job out of university, the sales guys would desperately throw every feature they could dream up into the contract to try to close a deal, then we'd have to build it before they committed to purchase. Then we'd be on the hook to make it based on their whiteboard fever dreams and find out after it shipped the customer just needed 2% of the whole thing
These companies were paying $500,000 for 12 hours of exclusive time on our home page, so they got whatever they asked for. If they wanted a car to drive out of the ad and smash into the text below, and have each character morph into 5,000 butterflies that then reformed into the car, they got a car driving out of the ad and smashing into the text below, and having each character morph into 5,000 butterflies that then reformed into the car. And they got it within a week.
I swear, the wizardry those flash devs pulled out of their asses was some of the best hacking I've seen in my life.
Sincerely,
help.
And somebody is leaving the sales team for either a makework job till they leave, or just straight up fired if there's less politics involved.
Like: change the API and forget to update the version number.
:)
If the customer can be made happy and the company can make money by just making an increase to a version number with no additional changes, why not just do it?
It builds trust in your company, so that when they think about renewing their contract they remember you have integrity and aren't trying to rip them off. Instead, you believe in your product and are actually trying to sell it on its merits.
It also becomes a funny story they tell their friends / others in the industry, which could lead to further business.
There are no downsides to owning up (I'd even claim the upsides above), but there are some possibly gigantic downsides to not owning up.
Don't you think the client would be happier with a refund and an explination?
It's likely also criminal, as fraud is illegal, but even if not the deceit should be something that makes your conscience bristle.
Is it ethically wrong to ship chicken bits like that? You can make arguments either way (e.g. a device might not have been QA'd or tested for the disabled features, and the feature itself might be faulty, e.g. that's extra support labor they didn't pay for). But that's a different question to whether the salesperson should have sold them a feature they already had access to.
The customer has already paid for that feature. Best case we rip them off and take their money for nothing, which is scummy. Worst case they figure it out later and sue.
Either way it's the wrong thing to do.
Sometimes it makes sense, some tasks shouldn’t be done manually. But sometimes you automate something that was better for both the employees and citizens/patients the inefficient way, because it’s cheaper. After a long time doing this, the thing that gets me the most is how I used to buy all the corporate bullshit about how things like citizen/patient comfort, corporation, employee happiness mattered more than money, because it never did when it came down to it.
Still there are perks to the job, you get to genuinely improve people’s lives, sometimes even build things that save lives, but the automation thing, meh.
I've come to the conclusion that it's not a moral failing on my behalf that people might suffer as they were replaced by code, but a failing of society. There's this belief that it's a sin to work less than full time from the cradle to the grave (minus a few years either side), that if you're not working then you're a sloth, you're lazy and you get what you deserve. More and more work is being automated, but there's still this pervasive belief that everyone needs to be gainfully employed. Instead, as manual jobs become automated, as a society we should be working less hours. The 40 hour week should become 30 hours, 20 hours.
What's the point in making somebody dig holes and fill them back in (or the clerical equivalent), just to prove that they're "working" and useful? Menial unskilled labour for the sake of it is just wrong.
My goal in life is to make myself redundant, to automate my own job away. If the programmers are out of work, then maybe we've reached utopia.
I spent five years working for a small company that was a scrappy startup, especially in how they thought about technology--everything was duct taped together and barely worked--but was cheap!
At a high level, my job was to replace people with software. What I am proud of is that we didn't let anyone go, we just found something more valuable for them to do. When I started they had 4-5 people who's job was to spend 40 hours copy and pasting tracking numbers from one system to another. This was automated and they were able to move to roles that actually helped customers.
I think my (apologies for taking a while to get there) point is that you can look at digitization and automation as a cost cutting exercise to improve the bottom line or instead view it as a way to invest in and improve the customer experience. Information Technology as margin-defense is a short-term benefit, while IT as a value-driver is a long-term one.
"offensive operations, often times, is the surest, if not the only (in some cases) means of defence" --George Washington
Also as a way of 'getting rid of the boring bits' of a task allowing system users to spend more time on tasks that add value to the business and / or the customers.
If you're gonna dig a hole, you can have 1 person use a digger, or you can have 100 people use spoons.
I mean no disrespect, and I’ve felt/feel this too, but I’m scared it falls in under the old punk saying of “the guilty don’t feel guilty, they learn not to”.
Later after we delivered it, we learned that project alone was the reason the client cut 700 low level positions. A single "robot" could do in an afternoon what 700 people did in a week. (Was/is a pretty large company.)
The words from my manager still echo in my mind: "If we think of the "ethical" aspect of it, we wouldn't have our own jobs."
The problem is that the gained efficiency is often not used to improve the lives of all (former) participants: There is little responsibility towards employees and customers. Businesses are not seen as communities, neither by employers nor by employees.
Leaders, owners, investors, employers and other powerful actors profit disproportionally, because their decisions are not tied to a holistic responsibility but only to financial metrics (which are also directed by them; a whole other problem).
There are also actors with higher (or sufficient?) ethical standards that will invest efficiency gains like you describe to educate and train their employees or at least give them the financial means. This inspires loyalty and trust.
I'm longing to hear more about such cases.
Should we give our gardeners a lawnmower? Nah that would result in redundancies, leave them with their nail scissors.
Or, taking a step back, if you ask "how many busywork jobs should there be?", it would be surprising if the answer is "exactly the number we have right how". So it seems either you should want to eliminate busywork jobs, or create more of them.
To me the "dilemma" smells like status quo bias.
I will say though, status quo bias is not all bad, there is some value to stability, but I'm not convinced it is the role of businesses to provide stability, that seems like a role for government.
But then you'll have to deal with all the people who complain about government interference in the free market.
Provide the right kinds of support, retraining, or yes, UBI, and we're no longer talking about people going hungry when they lose a menial RSI job. We're talking about people whose struggle to make ends meet can change into doing something that feels like a step up in the world.
Having the means to choose your employment is a HUGE thing for a lot of people. Been there, and I can feel the huge weight off my shoulders knowing that if for some reason my current job goes away, that I am certain I can find something comparable.
On the other hand, isn’t it better that everyone can type their own reports and check spelling and grammar themselves via code?
> It is...
Is it really? Seems like an awful lot of stuff just doesn't get checked any longer. The "checking" done by MS Word et al is no substitute for the eye of a skilled human.
I strongly agree... but we don’t have UBI. So for me it’s still a moral dilemma. That person is still out of a job and might be out of a job for a very long time if the economy is weak. Yes, there are answers to this problem like UBI, but as someone living in the US I can’t honestly say I can see it being implemented here any time soon. So my work has the potential to devastate someone else’s life.
(and yes, I know, I know, if I quit someone else will take my job and it’ll all happen anyway. Doesn’t mean it isn’t still a moral dilemma)
- Work actually getting done (through automation) - i.e. the "supply side" needs to be there
- People that demand it/ see it as necessary solution to _some_ problems (it won't just appear if there's no problem to be solved)
For me, it's simple: does it move society in the right direction? Yes, it creates some transient problems - but progress always does.
Would you tell a homeless person to their face that their poverty is a shame but it’s the price we need to pay for progress? And that you don’t know with any certainty when positive change will happen?
Okay - but are we replacing them with UBI?
It feels analogous to ripping a person off of life support while saying "some day, you'll get an organ transplant. I prefer that to keeping you alive mechanically, strapped to a bed."
I wonder if the Bobcat is really that much cheaper. And the construction workers in photos from a hundred years ago always look much healthier & happier than the guy in the Bobcat.
Low level employees would be lucky to be treated like robots.
Back in 2001 I worked for a 'Medical Communications' company, building marketing websites for various drugs companies. I was young, it was my first coding job and I desperately needed the money
I even ended up building an internal marketing website for use by sales reps pushing an antidepressant. It was an awful PoS, technically, but it had a basic CMS system and I was flown to the US (from the UK) to show the very friendly team at the drug company how to use it. I was fairly blasé about the ethics of it - they paid a lot of money after all. The drug in question was later removed from the market after it was found to increase suicide risk.
14 years later, my mother had maxxed out on the same kind of anti-depressant. She kept relapsing and the doctors kept upping the dose until they couldn't prescribe her any more. She took her own life shortly after.
Not so long ago, I interviewed a candidate for a data engineer position at the 'FinTech' I was lead engineer at. He turned us down because he didn't like the CTOs attitude towards the credit data we were collecting about our customers. Until that point I hadn't really considered the ethics of what we were doing, again. I started looking for another job the same day.
You do the right thing because you get to choose whether the blood is on your hands or not. You get go sleep and go to your grave with different amounts of guilt and peace. You get to tell your kids these stories and help them make better decisions. Through all of that, you might make the cost of deceptive websites a little bit higher and the message a little bit less effective. Or you might not, but that's not the point.
In short, don't make your ethical choices on the impact it will have on the world. Make them for the impact it will have on you. (The alternative will mean you'll struggle a lot more making the right decision, knowing that Pfizer will just get someone else to make the site and maybe you should still take the work and then donate some of the money to a good cause.)
Not necessarily; saying "whoah, this is really wrong and I'm not doing it!" also forces others to consider what they're doing, and perhaps adjust their position. Would it in this case? Probably not, but it's not inconceivable that something would have changed to be less bad.
Either way, just rolling over because it's the most convenient thing sounds lazy, apathetic, and quite selfish.
> In short, don't make your ethical choices on the impact it will have on the world. Make them for the impact it will have on you.
So you should "just be following orders" if that has a positive impact on you? I hate to Godwin things here, but that's really how your entire comment is coming across...
If having blood on your hands has a positive impact on you I doubt you're reading a HN thread about ethics, so you weren't my intended audience. I was writing to people who are trying to do the right thing, even when it's hard to know what that means in every situation.
You came up with a reading that was completely opposite mine. I had thought that the gp referred to the ideals of the pinnacle of proper behavior, not self-gratifying behavior.
Didn't expect an article on ethics.
I haven't had to write code went into a project I considered unethical, but I have performed penetration tests on DRM systems. While I don't consider the idea of DRM to be unethical, I really don't like it. While in the design review meeting, and the PM was describing the project, they avoided using the term "DRM", and I really wanted to be like "So...is this whole thing just DRM for X?"
I can't say more because I don't want to violate an NDA, and I don't want to self-doxx and say who I work for, especially because I still work for them.
When I was taking CS Engineering UG course(IN~2008), there was an elective subject(have to be chosen by entire class) called 'Engineering Ethics'. It was a preferred elective as there was no course work and I think there were no tests as well.
I remember the professor starting the class as,
>"If a Structural/Civil Engineer builds a bridge and it goes down, he/she will go to jail; lucky for you guys there are no ethics for computer science".
Now that a code can easily manipulate the life of an individual, I think we need to bring in accountability into CS/programming along with universal whistleblower protections for reporting unethical behaviour at work from UN.
How true is this? I've never heard of such a thing happening. Of course catastrophic accidents of that sort are thankfully very rare (maybe because of the accountability)...
Does it apply in cases of negligence or clear-cut corner-cutting, with proven intent? Or just in any case of structural failure? In which countries?
I'm not calling you a liar, for the record, it just gets bandied about a lot, and I would like some context.
In general, if a bridge/building goes down due to a honest mistake, that would not result in criminal charges, however, the planning and approval process is designed so that simple mistakes by a single person don't result in such failures, and it needs some clear violation of the process - not doing a mandated re-verification of calculations someone else made, faking some signatures of approval, intentionally skipping parts of process or change documentation, etc; those are unethical acts which make you criminally liable if they result in actual harm to people.
The consequence of poor decision making in a Professional Engineering setting that we were most often warned against was ejection from the profession. If your work results in the loss of life or property, you may find yourself unable to continue working in the field due to loss of license or a steep increase in insurance premiums.
As a software "engineer", the consequences for poor professionalism are not as sharply defined.
I'm not trying to imply that writing software is harder, but it's a lot more finicky and shifting. Also you're the architect, the bricklayer and the person taking out the trash - all by yourself and usually getting alotted time for a 1/3 of it.
I'm actually often surprised software works at all..
No, software engineers don't often have the same levels of responsibility.
Personally I do have a indemnity insurance of various forms which could pay out in the event I am sued over this sort of thing, but that's because I'm operating as an independent consultant with my own company. It appears, in the UK market, to mostly be understood by all parties (my clients, the insurers, myself) to be a formality, and criminal liability is very far from my mind. I can't think how we would get there.
May be its more common in India, could be very well be the norm because every time a bridge goes down a related Engineer gets arrested the very same day or soon under 'Causing death by negligence'; perhaps a practice from colonial era still being practiced to pacify public.
Read:
Another BMC engineer arrested in Mumbai bridge collapse(2019)[1]
Bhubaneswar flyover collapse: Engineer, director of construction firm arrested(2017)[2]
4 Engineers Arrested In Kolkata Flyover Collapse Case(2016)[3]
IIT Roorkee: Two professors arrested in bridge collapse case(2015)[4]
SMC engineer held in bridge collapse case suspended(2014)[5]
Gammon, Hyundai officials arrested, probe ordered(2009)[6]
I'm sure you can pull up such cases going back at least 200 years.
[1]https://www.deccanchronicle.com/nation/current-affairs/02041...
[2]https://www.hindustantimes.com/india-news/bhubaneswar-flyove...
[3]https://www.ndtv.com/kolkata-news/4-engineers-arrested-in-ko...
[4]https://www.indiatoday.in/india/story/iit-roorkee-two-profes...
[5]http://timesofindia.indiatimes.com/articleshow/38044181.cms
[6]https://www.ndtv.com/india-news/kota-bridge-collapse-30-dead...
Fixed.
For all intents and purposes, you can still work as an engineer without having to take responsibility for your work.
I don't think it's a great system because the person who signs off on it becomes the scapegoat if something goes wrong.
A few years back we managed to draw the attention of a pretty big agency who at the same time was in the news because one of their employees killed themselves over the work pressure. Now, this company has ten thousands employees so we never gave it much thought, but later we learned that the account we scored was actually the account of the employee who killed herself. The employee was of a similar age to me at the time, and the company approached us the day after the news of the suicide broke.
Although it's not in similar vein, it made me feel like shit for a few good days and I still think about it whenever the Agency is in the news or someone mentions it.
I saw a job posting on my universities' IT depratments' job board. Another (non-IT) department wanted an application implemented in a specific way that was completely unsuitable. Not impossible to implement, just the wrong tool for the job and it would be a nightmare for the users.
I wasn't particularly interested in doing the job, as I wasn't short on money and had a "real" job lined up, but I did reach out to the department, asked whether there was a specific reason for the requirements (there wasn't), explained the better alternatives, and offered to help them write a better ad, and if they really couldn't find anyone else, implement it (for a fixed price that would result in an above-average hourly rate for me, which I was transparent about).
I ended up implementing it, and it is an implementation that at that time would have been controversial, but still seems to be the right choice even with many more years of experience and hindsight.
Had I simply ignored it, the most likely outcome is that thousands of students would have had to suffer with a really bad system. That code I'm still proud of.
If FB let users click that button, but secretly broke the functionality, then that's a different issue.
I built the NLP features in Arabic, because Saudi Arabia was having a hard time tracking their people as well as they would have liked since Arabic wasn't supported. A few months after I shipped the features, Jamal Khashoggi was killed. Who knows what other atrocities I contributed to.
I was just so damn excited as a junior engineer who didn't even speak Arabic to work on something so cool.
Just before and during the 2008 meltdown.
At least 3 big banks were using the software I helped make.
To paraphrase, the things people were doing with CDSs were analogous to taking out an insurance policy on your neighbors home, and then burning the home down and collecting the insurance.
What was interesting was that - it was a very fun problem to model on the DB side, especially with the kind of constraints around payouts and it kind of sucked me into saying yes.
Learned the next year that he was arrested over the summer.
Never did actually answer more than just basic stat course questions.
The first was that they were a "free" ISP. The way they made money was that all their POPs were in facilities taking advantage of the rules around long distance termination fees. Effectively you could set up a CLEC in a corn field in Iowa and as long as you could get a lot of people to call you, you could make money from the Bells. Free Internet access, but a long-distance call. It was probably a good deal for people who didn't have a local POP anyway. However, it led to a weird incentive -- you wanted to keep people connected.
In order to sign up for the service you had to dial into it. In order to create an account (these were regular shell accounts on SunOS systems mostly -- totally insane by today's standards) we had to have an entry in /etc/passwd and of course you needed their login to get an entry there. We had worked out how to take their details and create an account, but you had to disconnect to log back in as that new user, and we lost money every time someone disconnected. The solution was obvious -- please modify logind so that you could essentially sudo from the "setup" user into their new shell right there in the existing session. Boy that was fun, and felt a little dirty.
It turns out the other thing people liked to do besides Internet dialup that would keep their computer on the phone for a long time was to download porn (you could argue they were doing that with their Internet dialup too). So of course the company ran many Wildcat-based porn BBSes out of each of their POPs. In fact that business came first. They flew me out to (somewhere outside of Toronto I think) to upgrade the access for a particular POP and asked me to load some CDs in the jukebox at the same time. I didn't think much of it, but when I got there I realized that these were all hardcore porn. I don't think there's anything inherently unethical about porn, but it clearly also didn't check the box on things I'm going to tell my mother about my job.
I left that job after about 6 months, but I liked it better than the one before it, where they weren't paying their phone bills and would regularly tell their customers that they were having "technical problems" while they got SBC to turn their access back on. I think I lasted most of 3 months there.
I can only imagine the burden when it actually involves human life or wellbeing, and am thankful to have had the luxury of choice. This gets me to wonder if having a universally agreed code of conduct (like the one from ACM mentioned somewhere else in this thread), and the backing of some kind of union could make a difference - at least developers would have some comfort that they wouldn't be fired for raising ethical issues, or even refusing to do work, without the company having to face legal action. What's the equivalent for other lines of work?
Of course, it's still tech for killing, so the moral quandary doesn't change.
Anyway, the business model didn't work out, so the founder pivoted into something that should work: phone sex and telephone fortune telling. It was a bit too much for me :)
It's certainly legal, but I'm still undecided as to whether it is moral or not.
Personally I am opposed to the use of DRM, but I enjoy the technical challenges involved.
I declined their job offer on the grounds that I didn't feel comfortable with that duplicity.
The common thread I think with the articles author is that most marketing is about crafting a story and maybe hiding the true origins.
> We’re approaching a time where software will drive the vehicle that transports your family to soccer practice. There are already AI programs that help doctors diagnose disease. It’s not hard to imagine them recommending prescription drugs soon, too.
> The more software continues to take over every aspect of our lives, the more important it will be for us to take a stand and ensure that our ethics are ever-present in our code.
Software will only be regulated by government action, not individual action.
Edit: I am not innocent of this as well. I got paid to deliver addicting software while working for Blackberry (just a radio tech), I got paid to build compliance tools for a bitcoin company, and I get paid to optimize the amount of ads and how much profit they bring to my current employer.
I spent my whole career not working for Microsoft, Lockheed, Goldman Sachs, Big Oil, Monsanto (now called "Bayer"), FAAG (Netflix seems OK).
You can't usually keep unethical people from using your software, but you don't need to specifically enable them. Little evil leads by insensibly small steps to big evil.
I remember of a contemporary theater play, where at some cruel moment an audience volunteer is called upon to assist, just to be a stand-in witness. Reluctantly a few spectators walked into the scene, then passively stood through subject's torture. None dared to walk off or ask them to stop... I left my seat feeling disturbed. Later I found out that the play had an alternative flow based on the action of the witness.
It's hard to step into someone else's shoes, too easy to say right thing post-factum. In OP's story, the testing lady took the most sensible action, she verbalised the unspoken. This is akin to historiographers or news reporters, just describe things as they are, no judgement. This gives a chance to eventually placing the responsibility where it's due.
Well, as I mentioned, I have left after that scene had concluded (conventionally, I guess). The prisoner got "killed", the witnesses returned to their seats with a mixture of puzzlement and amusement on their faces.
As for the alternative flows, I only learned that the scene had some kind of chance for the prisoner, should any witness have intervened. Basically, witnesses' participation was a vote (a silent compliance in that case). None of this obviously had been advertised ahead of show (it was part of a festival). The play and the company were from South America (Chile or Argentina) .... it's been awhile.
https://www.theverge.com/2020/1/28/21112456/spotteredu-degre...
Apparently we weren't the only uni planning on doing that.
https://drewdevault.com/2020/05/05/We-are-complicit-in-our-e...
In short: in general, software engineers enjoy a very good job market and lots of maneuverability, much more so than our peers in other fields.
The FDA is the definition of regulatory capture.
A long line of examples. Their still holding to the line that Glyphosate (roundup) does't cause cancer and that Marijuana has no proven medical value.
I've a special place for the Texas Railroad Commission, for example:
https://independentleaguetx.org/legislature-fails-texas-rail...
Please don't say things like this unless you know. People say the same thing about SSRIs when pretty much every clinical trial says the exact opposite (hence the FDA black box label for both drugs).
Accutane causes crazy hormonal changes. I personally know multiple people that ended up in a mental hospital after taking that drug (including my brother).
No, this is incorrect.
As it turns out, one of Charles Darwin's last published books is The expression of the emotions in man and animals. Chapter XII addresses self-attention: shame, shyness, modesty, blushing.
https://archive.org/details/expressionofemot1872darw/page/31...
You might care to reasses your casual dismissal of shame's relevance.
I also said by the way "you have a good moral fabric" which goes along with that statement. If someone is say, a rapist, then I suppose shame is a great emotion to have, because they're upset that they lack what other people have, which is a working control of emotion and a sound mind. For most people (who are good people), I feel like shame is something that does nothing but inhibit life.
I'd also caution about presuming Darwin had this all right, He was the first (AFAIK) to write on emotion as evolutionary adaptation, and certainly made errors or omissions. Classification of emotions remains very inexact.
But the discoverer of natural selection deduced the evolutionary role of emotion, suggested a deep significance and innateness of them, and specifically names and discusses the emotion you've very lightly dismissed.
You should probably hear him out.