I wrote this in 2015, but I’m publishing it now. It goes well with my theme of technlogical risk and business rewards.
A unicorn company has embraced a technology that I’ve also been following for some time and now I’m becoming concerned with the technology’s perception if this company is to fail for reasons other than their technology choices. I’m hesitant to name the company and technology to jinx it, but it doesn’t change the general effect as I’m sure this applies to other emerging technologies that have their fates locked with an unrelated business.
On one hand, I want to wish the best for the company so that the technology can get some brand recognition (much like Twitter has done for Scala); but on the other hand, I wish the the company not tout it’s unconventional technology stack as a strength until it’s a little further away from a public admonishment.
Rooting for other companies to succeed or fail is a cruel game. In some ways it’s unlike a professional sport where if they lose they won’t be back next year to rebuild and try again. But in other ways it’s just as exciting where you can see their winning public plays and strong picks leading them to victory. I’m almost motivated to financially support this company just to support the development and recognition of their technologists.
The technology in this case isn’t so extreme a choice that it would determine the company’s direct success. It’s not a company trying to sell a technology, it’s trying to sell a product/platform. It would be just as likely that the company could have been successful with a different established technology because they were willing to innovate and have executed successfully so far). I don’t yet see the technology infrastructure causing public facing problems that could weaken the company’s position (again like Ruby did at Twitter). It’s mostly the business case that’s faulty, which no amount of breakthrough technology will be able to save. This is a situation where one can try to apply Mcfunley innovation tokens to determine risk. You don’t want to see a company doing too many difficult things at once. But on the same level, being so conservative that viewing any technology choice that isn’t the #1 most popular as an innovation cost is betting against the advance of technology on providing better solutions. The attitude of ‘forecasting technology is impossible’ entirely misses the technical merits of choosing a technology. If the biggest consideration for a technology is how popular it is, then the technical solution is compromised from the start. Technical debt will build up regardless of technology choice, so going with the established choice starts with it’s existing accumulated technical debt on top of whatever needs to be added for a new solution. For a new solution, it might have less debt to start and accumulate it slower than existing technologies. Less popular or newer does not directly equate with more risky even if there is a correlation. There are plenty of existing and popular technologies which are risky when applied incorrectly. Technology adoption is the process of evaluating the current and future problems against the known solutions. Solutions that strike a balance between support via network effects and future growth versus current technical excellence for the problem at hand is what makes technology choices so interesting and dynamic in the first place! The level of business risk and technology risk must be balanced, if you’re in a very competitive business environment then taking additional risk on a technology that won’t necessarily affect your outcome is dangerous. Trying to double down and take risks on foundational technology and business strategy means that if either fail, it will impact the other. On the other hand, if the business case is mature and the technology choice could have a transformative impact, it is less risky to push the technical boundaries and use that advantage to overachieve in other aspects of business. What often happens is the opposite, risky businesses go for risky technologies and established companies go for established solutions because the psychology of the business decisions tends to play in both choices. Instead of framing the innovation token as the dividend of an investment that matures, it should be treated more like a loan that can accelerate future growth. This is why new technologies are often chosen for non-core needs, as it gives a great deal of flexibility (and satisfaction) to the implementers. If the technology outperforms expectations then that side piece of technology can start to infect the core with its ‘special sauce’, but if it fails or is breaks even in comparison to existing solutions then cutting it off to die should have little effect on the business core use cases.
What I’m looking to justify is the plan for a success story in unconventional technology adoption. There is plenty of good advice in sticking with the pack and aiming for the middle when you have other pressing problems to solve, but it also helps to take a step back and look at what could be done better from the start. It’s important to remember that any significant innovation is risky, and while the big failures overshadow the small successes in terms of marketing and perception, the choice on where and how to innovate is an important one, as one successful innovation can lead to others!
Looking back on this, the company I was concerned about was minorly successful and their tech choice is still widely considered a novelty. So it neither tarnished the reputation nor did it embolden others to take similar risks. I’ve started to see 3 major motivations behind why technologies are chosen on a risk-adjusted basis. The first is people stick with what they know, refusing to take any risk on something new, even if sticking to what they know could be a bigger risk. This attitude bothers me as it basically throws out any chance of growth or gain. It strikes me as a “learning is hard and painful, let’s not do it”. For new projects in new domains this attitude is toxic, as it holds everything back.
The second is people jumping on what’s trendy, they don’t have a broad perspective on options, so the trendy option often looks like the only option. I’ve found that this is actually safer than one would think because there is safety in numbers. You could be dead wrong on your assumption of why this technology is appropriate, but if enough other people are with you it won’t matter. This is a little bit of might-makes-right, which is too true and also makes me sad.
The third is the often-lampooned ‘right tool for the job’, which often brings in elements of the above. If you start from this and fall back to one of the above, that’s actually fine with me. There’s so much nuance here that can justify anything, but if you aren’t willing to accept technology choice as a risk and start here, you can only go down.
In all, I’ve seen/heard more recently about failed patterns (mono/micro services) than failed language/ecosystem choices. This is mostly because the technology platforms have stagnated, but I think this bodes well for the technology treadmill to continue running!