Technical architecture (the act of researching and specifying a set of technologies to address a particular need) is a form of investing. Sadly, like stock market investors, many technical architects are blinded by hype, hero worship, tribalism, and short-sightedness, and make poor decisions as a result. A comparison between current web application development issues and the stock market may help you to avoid these tendencies in yourself or your team.
All too often in architecture, we get defensive about decisions we’ve already made and attack things that we’re ignorant of, forgiving the faults of our Own Stuff and downplaying the strengths of Their Stuff. We assume that Our Stuff is going to win and Their Stuff is going to lose, because we like Our Stuff and hate Their Stuff, and the best stuff always wins, right?
It doesn’t work like that, though, and our judgement is biased toward the things we already are familiar with. The stock we’re holding is undervalued, while the stock we want to buy is overhyped. The technology we’re using right now is obviously better than the technology we don’t know anything about. The stock will bounce back; we’ll sell it when it turns around and hits twice its current price. The new release with feature XYZ will make everything so much easier that we’ll be able to take Fridays off.
Concepts from financial investing that are helpful when thinking about technology more objectively are the Efficient Market Hypothesis, Fundamental Analysis, Market Capitalization, and Net Present Value. Each of these represents a structured way of thinking about the current opinion of the value of something in a manner that includes its potential future value and still gives you a single number to work with.
- Do you know something that most other people don’t know? Paul Graham says you can exploit this, in Beating the Averages says . EMH says you’re fooling yourself.
- Are you judging something based on hearsay? Fundamental Analysis is a tool for thinking about whether a stock is as good or bad as people say it is, and how that is likely to change in the future.
- Are you ignoring the behavior of others when making decisions for yourself? Market Capitalization is an aggregate of what everybody thinks, regardless of whether they’re right or wrong.
- Are you judging something based on its current value instead of where it will be, and how much it might cost you to get to a certain point in the future? Net Present Value is a tool for figuring out the value of future outcomes so you can decide whether it’s worthwhile to try to achieve them.
All of these concepts are just models for thinking about what’s really going on, and as such you should understand their shortcomings before using them. A major shortcoming is that your predictions are still going to be based on your subjective experience, and as such may be biased toward making you feel good about the choices you’ve already made. But they still hold lessons for techies trying to make choices about technology choices, for current projects or for improving your future employment options.
In Part 2 I’ll talk about why this is a timely topic.