I was on a panel last week and the topic of cross functional teams came up. The panel was about startups in Chicagoland and there is a clear train of thought that cross functional teams with diverse thinking and backgrounds lead to better results.
The flip side is that some startups like to hire a monolithic group with consistently good coding skills (for example).
While there was no consensus as to which was the better path, it seems clear that teams with consistently good coding skills across the entire staff are probably in some ways initially more efficient at making decisions and implementing strategies. The authority in those cases comes from those with the best coding skills making decisions for the rest. The truth is that as the business expands, the coding skills that made your product great are not necessarily the skills that will make your company great. Additional perspectives and backgrounds are needed to understand the needs of the market and how best to fulfill those needs. A great product alone does not make for a great company.
The same is true in investing. A great stock (high valuation/market price) does not necessarily imply a great company, any more than an inflated stock price means that a company is in trouble. Great code or great products alone don’t make the company function in an efficient and streamlined manner! Figuring out how to make companies great while also making great products is the key to the engineering management challenge.