Press enter or click to view image in full size
I roll my eyes each time I hear about another tech company “making the world a better place.”
Extremely serious voice: “We make the world a better place by optimizing API call latency between your microservices…“.
Sorry, WHAT???? How is optimizing API latency making the world a better place?
Again, serious voice: Multiple tech companies are expected to make their operations more efficient, leading to cost savings. These savings will allow them to offer their products at lower prices. One of their customers will be healthcare providers, including hospitals, who can benefit from these lower prices, enabling them to invest more in improving care for sick children. So, you see…. because of us, the sick children will get better.
Frankly, I have no idea how people can say these things with a straight face.
- Are you making the world a little bit more efficient? Sure.
- Do you try writing high-quality code to make other engineers’ lives a bit less frustrating? Maybe.
- Are you making the world a better place? Sorry, not even close…
Press enter or click to view image in full size
A cardio surgeon doing 12 hours of surgery to save somebody's life? They are making the world a better place.
Somebody retired, coming to help at a soup kitchen — they are making the world a better place.
Boy Scouts cleaning up parks from trash are making the world a better place.
I can see an argument that these shaved-off microseconds provide a teeny-tiny amount of goodness, but when you multiply it by billions (of calls), it should be counted way more than cleaning some trash.
However, I don’t think it works like that. (BTW. I don’t have a goodness meter in my back pocket, so I am going on a limb here). It feels like making the world a better place usually consists of a combination of several factors (unordered):
- Going beyond normal expectations (in normal circumstances, it’s not expected for a surgeon to be operating 12 hours; the average retired person and average kid don’t do that many selfless things)
- Having a beneficiary (person or animal) who doesn’t directly reciprocate (a surgeon is getting a salary, often not tied to the length of operations. Obviously, retired persons and Boy Scouts are not getting anything in return).
- Crossing some threshold for a beneficiary to feel truly grateful.
The majority of tech companies don’t pass muster on each of these tests. This example, which I am using, provides benefits that exactly match customer expectations. They are reciprocated via payment. And rarely do they cross this threshold of somebody being truly grateful (however, this one happens sometimes).
Software engineers working in these companies contribute to this in a manner that is barely visible in the grand scheme of things.
Press enter or click to view image in full size
Do you want to make the world a better place? Donate to some cause that will make an impact, roll up your sleeves, and truly benefit somebody (who won’t reciprocate). Just do something vs. sitting in your silicon tower daydreaming how your software is so great for the world.
TLDR. Multiple people were pointing out different flaws in my thinking. Some of them are fair arguments, but some of them felt incredibly superficial. Below, you will find thoughts, arguments for and against, and a lot of philosophical musings. Feel free to skip it if you don’t feel strongly about the arguments above.
P.S.#1. To be fair, if you are working for (selected) non-profit or very directly involved with industries that have a real and positive impact, you are making the world a better place, and this article is not for you.
P.S.#2. BTW. Making the world better is a good thing (and I really respect people who do that), but ultimately it’s not mandatory. It’s part of my value system, but it doesn’t have to be part of yours.
I got a couple of comments that could be summarized as “Victor, You are a pinhead :) Software Engineers are making the world a better place by leaps and bounds. And next time when you go to do an MRI, think what you would do without software engineers”.
Moving out my answer from the comments to here.
Non-reciprocity
Nobody is saying that software engineering companies are NOT changing the world. They do change the world, and a ton of things depend on software now. However, in my mind, the absolute key to making the world a better place is non-reciprocity.
Imagine three situations:
- First, somebody saves a child (and does not ask anything in return)
- Second, you have to pay (directly) to somebody to save a child
- Third, somebody is willing to save a child ONLY if you give them ALL your money.
The first one is making the world a better place (no question asked). The second is still an incredibly good deed (that’s, for example, how doctors work). The third one is called extortion.
BTW. We feel that the second one is still a good deed because we value children’s lives VERY-VERY highly. So, even when somebody is paid for it, it still resonates with us.
How will you perceive another situation? Let's say instead of saving a child (while receiving a payment), it was somebody who prepares food for you (also for a payment). Would you say — “oh… these McDonalds workers who are putting together my BigMac are making the world a better place”? I bet in the average case you wouldn’t think at all (just pay them and forget about it in 5 minutes), or in the best case, you would consider it’s just a normal job.
Software companies and engineers are squarely in the second category. We do our job/business. People pay to us. That’s pretty much it. The absolute majority of software companies are building software to make money and not out of sheer goodness of company investors/owners’ hearts.
P.S. #3. And another interesting note. There are a lot of people who are quick to start counting all the positive externalities. However, I agree with one of the commenters: if we start adding up all positive externalities, maybe we should add all negative externalities, too. And for some reason, nobody is quick to start adding them up.
P.S. #4. A couple of additional directions/ideas were explored. The biggest question that was raised is, “What constitutes _a better world?”). It looks like three thoughts emerged (or were touched upon)
- You have to calculate all positive and negative outcomes of the action and if you stretch this idea. You should include all indirect outcomes. However, this is obviously a road to nowhere because we can’t predict all events in the future and measure their outcomes. (BTW. This is a good launch pad for people who are extremely self-centered. If you can’t predict it, just damn concentrate on making your life better (which you understand better) and let other people take care of their lives).
- The second direction was very literal reading. If I have a world in state f1 and it moved to state f2 and f2>f1 (even by a minuscule number), this is making the world a better place. I have tons of grief with such a literal take on this. First of all, in this view, the world is not just flat, it’s literally uni-dimensional. I feel that the world is a bit more complicated that than. However, even if you are collapsing everything to one dimension, it would raise my brow if, let's say, you created an additional 100 points, grabbed yourself 99, gave the world 1 point, and after self-congratulatory, declared that you made the world a better place. Common… You made YOUR life better, and the world changes were just a rounding error.
- The third direction (which I believe in) is the spirit of the sentence rather than a literal reading. The spirit of it is that you are trying to do some action that makes things better outside of YOU. It can make you happy and proud. However, conversely to the previous item, happiness and being proud are byproducts of the main action and not the main dish.
Just in case anybody is interested:
PS #5. My philosophy
As I was discussing the different outskirts of this idea, I realized that we are arguing about some different axioms in our philosophies. As a result, I tried to summarize my thoughts on this subject and why I came to a conclusion (what I wrote in the article).
- I can figure out only direct and extremely obvious indirect results of my actions.
I do not buy it when people start talking about effects removed from their actions by a long chain of events. The world is so complicated that it’s impossible to predict everything. Also, if we are going this way, we should start looking for indirect negative effects, too.
- I try to choose positive actions.
Duh… :)
- If I try to do something positive, I strongly prefer actions without immediate reciprocation (read: “payment”)
If there is no “payment,” it’s quite obvious whether your action is net positive. You got nothing, and somebody got something. It’s a net positive. As soon as payment is involved, it’s messy, and it’s too easy to hide self-interest. A person got something but spent money on it, and you got money. Maybe it’s a net positive, but it could also be a net zero or net negative.
- Some of the principles are almost nonsubjective.
I believe there are sets of principles that are shared SO widely (beyond the Western world) that they could be considered almost non-subjective (murder and violence, stealing, lying, greed). I am trying to avoid that.
The same goes for positive. Giving food to a person dying of starvation would be considered good in a wide variety of cultures.
Based on these widely shared principles, I don’t like arguments about total moral relativism. Yes, there are tons of complex and questionable morals, but some small subsets are way more universal than others.
- I am fine with (and would consider) another philosophical system as long as it is reasonably coherent.
If you notice, even though it’s my philosophy, it doesn’t rely on me waking up one day and going one direction and another day — another direction.
I believe it should be a set of principles that could be followed without consulting the author of the principles each day.