It’s widely known (although somehow still controversial) that investment managers who try to manually pick stocks cannot beat the market the vast majority of the time:
- “Active fund managers trail the S&P 500 for the ninth year in a row in triumph for indexing” | CNBC
- “Stock-Picking Fund Managers Are Even Worse Than We Thought At Beating the Market” | Fortune
- “More evidence that it’s very hard to ‘beat the market’ over time, 95% of finance professionals can’t do it” | AEI
- “Your robo-advisor probably won’t be able to beat the stock market. But then again, neither will your human advisor” | The Balance
That is even without the fees that active investment managers charge, which are usually 1% or more (which is horrendous long-term when subtracted from compound interest).
Those high fees are part of the problem – investment managers need to do something special to justify them. If the investment manager takes the sensible choice of just buying broad market indexes and holding long-term, how can they justify their fee? The client could just do that themselves and pay far lower fees.
I was thinking that there might be a similar effect with a lot of software engineering teams.
Software engineers are expensive. At the same time, many common software engineering problems now have standard, boring solutions that are well understood and easy to use. Yet there is surprisingly widespread resistance to just using these standard solutions – many software engineers prefer to apply their ingenuity and do something clever instead.
This is so widespread that at this point in my career I now consider it a rare skill to be able to accept boring, simple solutions where they are appropriate.
Of course, we frequently encounter situations that do require advanced skills and deep knowledge, and that is where software engineers should be delivering the highest value.
As an industry we frequently seem to lack the ability to distinguish the truly complex problems from the low-hanging fruit where the ratio of cost to benefit should be massively in our favour. Instead we pile on unnecessary complexity costs.
Perhaps this is a cousin of the “fee justification” problem in the investment industry.