Live data from Hacker News

Never attribute to stupidity what is adequately explained by opportunity cost

erikbern.com

31–40 of 94 posts

Re: Never attribute to stupidity what is adequately explained by opportunity cost

#31
post #14
post #8

You often hear people in engineering teams say something to the effect of "I can't understand why this was built this way. It's been done stupidly", but invariably there's some key piece of contextual information that's missing like, as you say, there simply wasn't enough time. I also wrote about this recently: https://timwhite.digital/building-software-sharing-knowledge

Well, the "I can't understand why this was built this way. It's been done stupidly" can also be a case of Chesterton's Fence: https://en.wikipedia.org/wiki/Wikipedia:Chesterton's_fence

When every comma and semi colon in a document of code can be a potential Chesterton's fence you have to wonder how any progress can ever be made

Re: Never attribute to stupidity what is adequately explained by opportunity cost

#32
I don't get the use of the terminology here.

Opportunity cost is the cost associated by not reaping the benefits of an alternative not being picked. This is a cost from the perspective of the party making the choice.

So in this story, 'opportunity cost' is not an explanation why something didn't happen. It is a side effect of something not happening.

You could say the real opportunity cost in this story is the startup teams having a bunch of unhappy users. The explanation for the missing features is simply: they did something else.

So better: "Never attribute to stupidity what is adequately explained by prioritisation"

Re: Never attribute to stupidity what is adequately explained by opportunity cost

#33
post #13
post #7

> I've found that neither malice nor stupidity is the most common reason when you don't understand why something is in a certain way. Instead, the root cause is probably just that they didn't have time yet. Ok, let's leave security for later!

And even that is sometimes the right decision. I personally experienced an important delivery being delayed several days because the tech lead wasn’t happy with the security settings on the database server. If the DB was accessible outside our internal network or contain any information that wasn’t publicly available, I would have understood.

Someone that concerned with security is either fanatical, or they've been burned by it before.

I also will not sign off on security concerns unless they are correct. I'm happy to let management override me, but I won't back down and say things are finished when they aren't.

IMO, your tech lead wasn't the problem here. Their boss was. Their boss decided that the security was more important than the delivery date, or they decided that they didn't care enough to get involved, which amounts to the same thing.

Re: Never attribute to stupidity what is adequately explained by opportunity cost

#34
post #26

As a JavaScript developer I find the stupidity versus opportunity cost virtually impossible to distinguish. After all, its how I involuntarily became a developer in the first place. I was hired by Travelocity late in 2007 to be a designer. In early 2008 I was a UI developer and if I wanted to continue to be employed I would have to figure it out. JavaScript developers, at least competent ones, were nearly impossible…

What I realized is that companies that think developers are a cost, are not really software companies. Maybe they need software, but it's the same way one needs a visit to the doctor: you go because you have to, you have no passion for it. What really upsets developers is the extra work that is generated by managers that should not manage anything really. If you are competent enough to be able to create from zero and…

I have never worked for a software company. Most of my career was in travel: Travelocity/Sabre, Southwest, Orbitz, Expedia and now I work for a bank. Developers are a cost center even for software companies. It isn’t developers at Microsoft that are selling Microsoft products.

A software company is one that generates revenue directly from the software they write. In that regard I do not consider Facebook to be a software company, their revenue is from advertising and media. They are a software company the way CNN is. I consider Google to be a software company because their revenue is from micro-auctions to their search engine.

Re: Never attribute to stupidity what is adequately explained by opportunity cost

#35

I don't get the use of the terminology here. Opportunity cost is the cost associated by not reaping the benefits of an alternative not being picked. This is a cost from the perspective of the party making the choice. So in this story, 'opportunity cost' is not an explanation why something didn't happen. It is a side effect of something not happening. You could say the real opportunity cost in this story is the startu…

Uncanny. I was also going to recommend that, maybe "ruthless prioritization," to emphasize that everyone is constantly busy and that these choices are sometimes unoptimizably hard.

It would also draw a bigger distinction between the "strategic" decisions he describes at bigcos (which also involve opportunity costs!)

Terminology aside, I did think he made a good point.

Re: Never attribute to stupidity what is adequately explained by opportunity cost

#36
post #18

I believe this is one of those things that are really hard to understand unless you have experienced it first hand. Although I always knew how important prioritization is, I understand it way better since working on my resource-constrained side project. You often fail to appreciate just how many obviously good things you can't do because there are even more important things to do. Or, to quote Steve Jobs: "People thi…

It's much more obvious with side projects because there is no one else to blame. You have a complete view of the picture.

I find personal projects very humbling. Even with no one stepping on my toes or setting unrealistic requirements, I still make dumb mistakes and write subpar code.

Re: Never attribute to stupidity what is adequately explained by opportunity cost

#37
"Listen, we just had better things to do than securing our database and customer data. It's not that we don't care about the effect this leak has on the affected individuals, it's just that you can't make money by providing secure systems, so we prioritized animated emojis higher"

Re: Never attribute to stupidity what is adequately explained by opportunity cost

#38
post #3

This rings really true with my experience at a startup. Everyone involved in the product could see it's weaknesses, we just didn't have the manpower to change them. I've definitely fallen into the "attribute to malice/stupidity" trap as well, even when I know that the people responsible are working flat out, if you're not in the trenches it's so easy to say "but it's so simple! I could do it in an hour". It's somethi…

> "but it's so simple! I could do it in an hour"

This is such a common gripe, and I agree it's grounded in a lack of perspective. It reminds me of an image that helped me quit smoking. When you pick up a cigarette, imagine that a string is connected to every other cigarette you will smoke for the rest of your life, in a chain that stretches on into the future. You're not just picking up one cigarette. And similarly, you're not just picking up one hour of work, because there are 100 other features that fall into the same box.

Re: Never attribute to stupidity what is adequately explained by opportunity cost

#40
This is then made even more frustrating due to the asymmetry when the opportunity cost for you for not having your problem fixed is much higher than for the person you are trying to reach.

Or, more succinctly, asking `Who has the problem?' has helped me over the years to adjust my expectations, because more often than not, it is me who has the problem, and not the person I am reaching out to.

Post reply on HN