Do software companies succeed because of the technology they use or is it due to the discipline and talent of their engineering and design teams? Is it the right combination of vision and direction from leadership that leads to success or just simply being in the right place at the right time? All of these things are potential contributing factors to the success of a software company but none of them stand alone as reasons for success.
The companies that succeed are the ones who solve their customers business problems with excellence, regardless of technology, leadership, or team composition. To attribute success to any one dimension, such as technology choice, is at best naive and at worst renders that dimension untouchable.
When technology is given all of the credit for success it becomes the gravitational center that all further technology decisions must orbit. Evaluating alternatives becomes fruitless; anything that has the potential to drift too far from the ideals of this magnetic core is viewed with skepticism. This makes it challenging for companies to adapt, or even recognize, that there are changes in technology choice that could benefit them greatly.
Worse still, this magnetic core philosophy creates an environment where all choices are evaluated through the reality-warping magnetic field surrounding the technology core. Process changes, HR policies, culture; all these things are influenced by the gravitational pull of the core and often by the community of other companies who have chosen to embrace its ideals.
In a company where the magnetic core of technology is viewed as the sole basis for success, there become untouchable icons (the technology, and its supporters) who are unable to be challenged. This often creates a sense of fear (and paralyzes objective thinking) as any idea that deviates from core ideals is viewed as having the potential to veer the company out of orbit and cause a cascade of failure.
There becomes an identity mismatch between team members who have good ideas and those who espouse core ideals; the framework of trust used to identify an individuals success often selects the latter.
technical depth at the expense of empathy
Companies that align their success with the magnetic core of technology often over-value technical depth and promote from within those individuals who have demonstrated alignment with core ideals. When technical depth is put in this position of importance it creates an environment where empathy is seen as a less valuable skillset. The challenges that these companies face, and the challenges our industry continues to face are often a direct result of a commonly repeated failure that too closely aligns success with technology.
All of this paints a pretty bleak picture about the state of technology and the software industry and it is easy to list problems without solutions; where do we go from here? I firmly believe that there are simple solutions to the problems listed above.
First, we need to balance the success equation in our companies so that it places more emphasis on people being the reason for success instead of technology choice.
Second, We need to foster an open environment that allows people to feel like they can contribute ideas, any ideas, without feeling paralyzed by the fear of being viewed as counter-culture when ideas differ from core ideals.
Lastly, and most importantly, we need to balance the framework we use to promote leaders in our companies so that empathy will be considered more important than technical depth.