There is this stereotype that the Tech Industry is populated entirely by atheists. There is the gag in the HBO series “Silicon Valley” where Erlich scolds someone that “Christianity is almost outlawed in Northern California”. The stereotype holds that everyone in tech is a ultra-rational. I have no idea how true this is, and I certainly know plenty of religious people in the industry. But I have to think that part of the reason so few people in tech have time for organized religion is that everyone’s capacity for blind faith is fully occupied by the work they do every day. Building an engineering system takes immense amounts of faith.
At the ground level, the individual coder or engineer knows their piece of the system, but has to have faith that everyone else’s pieces will do what they are supposed to do, and that someone at a higher level actually has a reasonable plan of action. At the same time, the people at the top need to have faith that that all the people further down the org chart are dong what they are supposed to do. For really complicated systems, or whole companies, everyone involved has to have some degree of faith that it all eventually works.
Imagine a big hardware system with hundreds of components. The difficult part of hardware is that the lead times are very long. Everything has to be fairly well planned out months, maybe years, ahead of time. Once they are beyond the very early stages, the people managing that product end up with very little control of the outcome. Senior managers should have some sense of what works and what does not, but modern hardware products are so complicated, it is very hard for any single person to know everything about a product. To make matters worse, very small problems at a low level can completely kill a product by blocking some key functionality somewhere downstream, and this may not be apparent from a high vantage point. This is equally true for software, albeit on a slightly different time scale. Cloud-based software has the advantage of allowing regular updates. But even here, managers have to make smart choices about where to invest time in an infinite sea of options. What features will matter? Can the engineering team really develop those features or do they need to bring in some outside expertise? (Side note: this is a highly relevant question as ‘Machine Learning’ becomes increasingly important.)
I have been writing about the intersection of business and technology lately, and for managers on the business side of technology, the amount of faith required would challenge a Medieval ascetic. Not too long ago, I was working with a client on a product that had a two year lead time for development. More recently, I was talking to the CEO of a software consulting company that wanted to transform his company into a software development shop. Both companies were essentially betting their future on a multi-year time frame, and standing here at the outset it was not clear if they could reach their goal.
How does a manager cope with this? There are two extremes – blind faith and micro-management. Neither of these two approaches quite work, although I can think of too many examples of both. Obviously, managers will have to delegate, assigning junior managers to cover different aspects of the product engineering. But this really just transfers the burden of faith onto a company’s Organizational Structure. In really small companies, the CEO can know everyone and have a decent sense of their progress and mindset. But most companies are too big for this approach. Management has to trust that the organization has enough checks and balances to deliver results.
I think it is this last bit where many companies stumble. All too often, communication tends to be one-way. Management communicates its wishes, but then struggles to obtain clear feedback in return. This is actually a well-documented problem in Political Science. In autocracies and dictatorships, the leadership suffers most from its inability to collect ground level truth, which is part of the reason they have a Secret Police force (but then you have to question their loyalty too…). In companies, senior leaders need to worry if they are being ‘shielded’ from bad news. Can that new feature actually be engineered? Of the 100+ features in the new product is there one that is so weak it cripples the whole product? And it’s not just senior managers who have to worry, you may know your task is on track, but what about the people on the other floor, or the other site? Can they deliver?
For their part, sales and marketing people have to make some educated guesses about what to promise the market. “Our new product is coming in three months and it is going to have these features.” The business people only get to be wrong about those kinds of statements so many times before they lose the market. Experienced sales people all cope with this in different ways from extreme conservatism to outright lying.
In a future post, I plan to explore the strategies that managers and business people can take to accurately gauge the progress of the technology side of the shop. There are a lot ways to minimize the associated risks, but at the end of the day, there is always going to be some blind faith required.
Closing Note: The featured image of this post is a picture of a TSMC fab under construction a few years ago. The building and the equipment that went into it cost something like $3 billion, at a point when TSMC capex exceeded its revenue. I am sure that the company had all kinds of sophisticated planning models, customer commitments and legal contracts to help them justify the investment. But with those stakes, you cannot convince me that their management team lack faith in a power greater than themselves.