What's your atomic bomb?

dmfay profile image Dian Fay ・1 min read

Inspired by Software that helps, except I disagree with Bertil's implicit assertion that all software is helpful in the long run :) The development of the atomic bomb is the classic example of how diffusion of responsibility through a team and/or management structure helps people rationalize working on all kinds of stuff. Likely none of us have reached the ethical depths plumbed by Oppenheimer and his team, but what aren't you proud of?

I worked in advertising for a few years, making it easier to waste paper and annoy people worldwide with those mailers from car dealerships you throw away without looking at. I'm never working in advertising again.


markdown guide

I saw @calebthompson give a talk about working on cellular triangulation technology that can help the military track and kill people.

It was never pitched as such, the developers were just given exciting math problems to solve, but that was its ultimate purpose.

I don’t have much in my own past to offer. But we will need to avoid dark temptations in the future of dev.to. Many platforms turn awful over time and prey on the users. Trying to ensure that doesn’t happen here.


It was never pitched as such, the developers were just given exciting math problems to solve, but that was its ultimate purpose.

This reminded me of an article (unfortunately in Italian) that I read yesterday about the new chief of Mossad that created an operation in which the various actors involved (killers included) didn't know they were part of a Mossad operation.


Watched a video yesterday on new research that creates photo realistic videos. It's really scary how if this is perfected, it could end the usage of videos as evidence.


Sell out early and sell out often. Urgency kills ethics every time.


Developed a management system for a client way back. Was recently asked to maintain/add features. I didn't write tests back then, so yeah, every code change is a bomb waiting to explode.


The silly thing is that even knowing how things can get horribly wrong, I just can't find the discipline to write tests for legacy code. I strictly subscribe to TDD for new projects though.


Spent two years working on a web platform for multi-level marketing companies. MLMs are, by and large, get-rich-quick schemes that sell McGuffins--the product doesn't matter as long as the sales rep can claim it will cure you of psoriasis, loneliness, poverty, ennui, or unattractiveness. They're very popular around here.

Ultimately I rationalized that not all of our clients were that bad. And the company was chock-full of really brilliant, wonderful people. And hey, it wasn't a cigarette factory. But I was always uncomfortable with what our clients were doing.

Now I work on products that help hospitals save money, hopefully by providing more effective care to patients. I'm sure the company has opportunities to compromise ethically, but for the most part we try to leave those decisions to our clients. It's not a perfect job but I feel better about myself now that I work in a field with clear ethical standards, like the Hippocratic oath.


This reminds me of some of my earlier work that I forgot about when first trying to answer the question.

I ultimately didn’t take the work, but I remember being asked to help with MLM-type stuff when I was doing web dev consulting in college.

The whole thing was just so weird. I’ve never felt comfortable blindly implementing some scheme.


I used to use over-the-counter maximum strength placebo.
But I found that wasn't helping my psoriasis, loneliness, poverty, ennui, and unattractiveness.
Now I'm using prescription placebo. Sure, it costs more, but its worth it!
(I kid! I kid!)


I wrote content generation software that could be used by unscrupulous internet marketing types to spam blogs and forums for SEO purposes. I pulled the plug on it because I didn't like how it was being used.


In my opinion, the software behind any social media (if not handled carefully) would be an atomic bomb!

It starts off as something very useful that connects people globally but then explodes & spreads like a wildfire, i.e: The recent case of Facebook's Cambridge Analytica


Based on Facebook’s entire history, which showed pretty consistent contempt for the users, Cambridge Analytica hardly seems like a coincidence or accident. It’s exactly what they built towards.


I remember first using Facebook's Graph API a couple years back. I only wanted to get engagement data (shares, likes, comments) for posts on a given page. I checked the documentation to see how often I could hit it within the rate limit.

The docs said we were allotted 2,000 calls per user per day.

One page like = one user.

Any medium-sized page or app which was so inclined could have (and probably did) stockpile loads of data.

The shocking thing about Facebook isn't they doled out everyone's data, it's that they did it for free.


I always felt that it was just me who thought Mark Zuckerberg must be as haughty as depicted in The Social Network but from your statement, I believe I'm not the only one :D


A lot of programmers like to pretend that there are no politics or power hierarchies involved in the products we build, and once they are built that we are no longer responsible for how they get used or by whom.


I currently write UI for a TV provider. It sometimes feels like our ultimate goal is to waste the more time and money as possible for the end-user.


our ultimate goal is to waste the more time and money as possible for the end-user

Can confirm it feels that way from the user side of things.

How is this? This can’t possibly make anyone happy about their work. Does anyone come into the office excited about today’s work?


Well, I'll speak for my colleague, but overall:
Here's the thing, we like UI/UX development and we're good at it. Compare to web, TV has interesting challenges and unique features. In the end, we ship very nice UI, that users should like to use.
But, that's still true that TV stay a time waster.

ps: but adding the nth feature to try to catch-up with Netflix hegemony, is sad at best.

Ah okay, I was thinking about bleaker elements of TV technical development. Your part of things seems like decent or neutral overall work and it’s probably best that it’s done by people with care for the experience.


I used to write software that enabled telecommunications companies to be CALEA compliant, i.e. allowed them to gather call records, voicemails, IP addresses, cell tower records, and text message records from mobile subscribers. While there were many cases where the usage of this software was valid, I believe it was possible for authorized parties and law enforcement to misuse the software for personal uses.

Additionally, I have installed deep packet inspection devices to ISP edge routers for subscriber traffic analysis, though those devices were really just used to see how much of a provider's traffic was being used to watch porn (it's a lot) and were not geared towards analyzing any particular user's activities.


I've had several ideas over the years which I felt pretty certain would get me rich if pursued, but would ultimately be a blight upon the world. These were from the darker parts of my mind. Out of principle, I never implemented any of those ideas. I didn't even let them leave the confines of my brainpan for fear that someone else might. Fortunately I have forgotten most of them by now.

For work that I've actually done over the years, I can't point to anything that makes me feel like a destroyer of worlds. (I certainly can point to some horrendously bad code, but that is different.) I make apps/systems for businesses. So far they have been made in good faith, to make everyone's lives easier. Sometimes they are used in ways which I dislike. Mostly that is organizational unhealthiness rather than maliciousness.

I would like my work to have a positive impact, of course. But at the end of the day, I am a tool-maker. Tools are not inherently positive or negative, until they make it into someone's hands. So for me, the far more important consideration is the whether the organization itself is making a positive impact.


My first professional tech job was writing ad hoc queries, uploading data, and maintaining software for a company that handled foreclosure claims on behalf of national bank chains.

Basically, banks cashing out on insurance from FNMA, FHLMC, and FHA on loans signed before the crash that, to an unknown extent, may have been predatory.


In my case, working in a project payed with public money and knowing that It would be thown away in a year. It wasn't my fault but we all knew that we were running a project with no future due to political corruption


My first dev job, nearly two years ago, was for a little french online payment provider. Basically, and even if that was not the part that was proudly displayed on the "customer" part of the website, the company was making money on payment transaction thanks to internet gambling, fortune telling sms and money laundering... great !
Hopefully I was a total beginner (still am, a little) with no guidance so my work there was never used, I left this job after only 7 month.


As a new developer I added third-party DRM to a B2B client program, despite personal reservations about DRM I had at the time. It ended up causing some issues, either due to its requirement to phone home, or due to the way the DRM program modified the distributed binaries. Management eventually decided that it was better to distribute this program sans-DRM for free as a way to generate demand for a paid data service we provided.


I am currently working on deploying cameras in my office to analyze "work office behavior" and my company plans to selll this project if it is sucessfull. I feel like big brother.


That would be because you essentially are, in this scenario; one panopticon is much like another. What are the positive reasons you're going along with it in spite of your misgivings?


All in all it's in fact, the most interesting project in my company but currently I am second guessing if it's a good choice. I'd like to work on something similar but with a more positive impact.


Built up an administration framework for a customer route back. Was as of late requested to keep up/include highlights. I didn't compose tests in those days, no
Best Custom Logo Design Company doubt about it each code change is a bomb holding on to detonate


I once worked on a "modernization" program that turned out to be anything but modern. Was it more modern than what the customer had? Sure, but we were using an 8 year old release of Qt, a C++ language standard from when I was in college, and a version of CentOS that reached end of life support 5 months after the project was completed. It's on my resume, but I'm not proud of it.


Overall, I've been lucky enough to dictate terms on who I'll work for and what I'll work on. Notionally, I've had less in the way of flexibility in decision-making since getting married (since consequences of decisions-of-principle effect more than just me). However, that was offset by having built a work-reputation that meant that people haven't typically wanted to ask me to violate my principles and/or I've had "outs" if I needed to demure.

All I can say is, my ability to look myself in the mirror has been greatly aided by not having gotten married early.


At one of my jobs my main project was doing web-scraping on a bunch of US states' websites, gathering business record data. Which one could argue should have been public domain anyways. The only qualm I had was we were shuttling all our traffic through TOR so the websites wouldn't block our IP address. Surprisingly only a few states at the time actually had APIs for collecting this data.


I worked on a book about Brexit, written by one of the UK's most prominent critics of the EU. Ergo, Brexit is partly my fault.


While I understand what you are asking, I take issue with the creation of the atomic bomb as "plumbing the ethical depths". More like an ethical gray area, IMHO. Developing the atomic bomb is only unethical if you are sure that you are the only team capable of completing the task. German and Soviet scientists/politicians of the time were fully willing and capable of developing similar weapons.

At the time of the Manhattan Project, the scientists involved must have assumed that the Nazis were working along similar lines, and allowing Hitler to have sole possession of nuclear weapon would hardly be the ethical choice. Stalin obtained nuclear weapons shortly after the US, and most historians would agree that it was fortunate that a democratic country obtained nuclear weapons before a murderous dictator did so.

The decision to drop nuclear weapons on Japan is more problematic, but there is a good argument to be made that this decision saved 100,000 US troops and millions of Japanese civilians. The bombs dropped on Hiroshima and Nagasaki killed fewer people than the firebombing of Tokyo, and you have to remember that the US had seen the Japanese fight to the last man (civilians included), on several islands leading up to the decision to use nukes.


My last bombs were decomisioned a few years ago, taken out of production. Nothing fancy just bad code as a junior 😀.


what aren't you proud of?

I wrote a software in Python once, and people still ask me for it because it solved a problem for them. :-(


Dangerous comments like these will only get you an I-heart-python t-shirt for Christmas.


The atomic bomb allowed for the end of a war with less lives lost than otherwise. Had there been no atomic bomb the US would've invaded Japan leading to much much more destruction.

Since then wars have been on a much smaller scale arguably because of nuclear weapons.


You can maybe make that argument for Hiroshima, although it was far from settled even without the benefit of historical hindsight: Dwight Eisenhower himself commented in 1945 that "the Japanese were ready to surrender and it wasn’t necessary to hit them with that awful thing". And there's no excuse whatsoever for Nagasaki. But regardless, the real or imagined necessity of a "necessary evil" does not actually make it less evil.


"If the military had its way, we would have fought until all 80 million Japanese were dead. Only the atomic bomb saved me. Not me alone, but many Japanese, ironically speaking, were saved by the atomic bomb." nytimes.com/1983/08/10/world/augus...

Anyways, still an interesting question to ask and something software engineers should be aware of.