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
Never attribute to stupidity what is adequately explained by opportunity cost
31–40 of 94 posts
Re: Never attribute to stupidity what is adequately explained by opportunity cost
#32Opportunity 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> 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.
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
#34As 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…
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
#35I 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…
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
#36I 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…
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
#37Re: Never attribute to stupidity what is adequately explained by opportunity cost
#38This 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…
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
#39Re: Never attribute to stupidity what is adequately explained by opportunity cost
#40Or, 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.