Is being overly passionate about your platform, software, or methodology choices affecting your ability to innovate?
When I was young, I was told there are three things you never bring up in polite conversation; money, politics & religion. Since then, I found this law of social dynamics to be not so obvious. As I spend more time in Asia, money is common conversation fodder. Facebook brought politics to the forefront of family gatherings over holidays. Likewise, it is hard to avoid discussions of religion in a more global and integrated world.
I wrote about open source software last month and the responses were quite interesting. Some shared thoughtful feedback about their own adoption and use of open source in their companies. Some chose to call me an idiot and other more choice phrases.
Religion is not a word to merely describe faith in a deity. It encompasses any topic where strong beliefs and traditions exist. As one definition states “a cause, principle, or system of beliefs held to with ardor and faith”.
Sports is a perfect example. When I was at Boston University, we had one of the most fierce ice hockey rivalries with crosstown neighbors Boston College. I still fondly recall the “BC sucks” chants during games.
Religion also has a long history in tech lore. You might recall the series of Mac vs. PC ads several years back. When I started as a developer, the Oracle vs. Sybase battle was raging. On the geekier side, I fondly remember the vi vs. Emacs debate (Emacs really is better though).
Tech religion may have a negative connotation, but it actually has had an enormous impact on raising good engineering principles and innovation. The faith in the open source movement has led to a blossoming of technology that powers much of the Internet. The belief in better software practices led to Agile and helping development teams accelerate software delivery.
The reason most developers do what they do comes from passion, whether passion to solve problems, explore new ideas, or build great products. That passion extends to the choices they make on platforms to build on, languages to use, and methods of how to code.
Religion of Platforms
When I was at Siebel, we were so focused on client/server architecture, we got blindsided by the web. It took our leadership a few years too late however to realize that the web and cloud delivery was the future. Salesforce and their “No Software” mantra won the day.
Platforms can quickly lose their relevance. Mainframe was hot in the 70’s, Unix in the 80’s, Windows in the 90’s, web in the 00’s, and cloud in our current decade. Every ten years has brought an evolution that has made the delivery and operations of systems both faster and easier. Something new will come about in the next decade. If you get stuck believing your platform is the best, you might not be prepared for the change that will happen.
Religion of Language
I think we can all partially relate to the following about our choice of programming languages:
“When I look back at my development career, it seems to me that every programming language I was using at any given time was clearly the best one.”
The author is clearly being tongue in cheek, but it shows how we can be blind to language bias. At GopherCon SG, one friend complained that a speaker brought Python into the presentation at a Golang conference. The reality however is that most modern software stacks will have multiple languages based on what gets the job done.
Could you write a significantly complex system in one language? Of course, but you cannot necessarily guarantee that will be true in the future. GO-JEK made the decision to rebuild code for a key component of their app from Golang to Clojure, though it was not so simple:
“This is not to state one language is better than the other…There were trade-offs made when the switch was made. While Go is superior in performance, the capability to make changes and add features was hard. Language was traded for design.”
Developers have strong beliefs on languages. From the Stack Overflow Developer Survey this year, Rust and Python are the most loved while VBA is dreaded. But in five years will this still be true? Languages, like platforms, evolve as new ideas and innovations surface, requiring different sets of tools to meet those needs.
Religion of Methodologies
When you google “Agile or Scum religion”, you clearly see the methodology war. Much like platforms and software religions though, the “how” of creating software is often more about past experience than actual proof of validity. The human mind craves the routine and familiar.
A good example is open source. As an approach, it makes sense to leverage as much open source as feasible. Open sourcing everything however would be overkill when there are many SaaS, PaaS & IaaS solutions that can accelerate value to the business and provide better long-term results.
The danger with religion is always when it goes too far into fanaticism. The high priests and apostles go on the offensive to silence criticism and attack opposing ideas. We know however that innovation does not thrive through monolithic ideas, but from the diversity of experiences that lead to better ideas.
A philosophy I have used to guide my thinking is best summed up in the phrase strong opinions, weakly held from Bob Sutton.
“Weak opinions are problematic because people aren’t inspired to develop the best arguments possible for them, or to put forth the energy required to test them…it was just as important, however, to not be too attached to what you believe because, otherwise, it undermines your ability to “see” and “hear” evidence that clashes with your opinions.”
What makes this philosophy work is the “weakly held” portion. Any platform, language, or methodology should be followed up to the point that its utility to best solve the problem at hand is superseded by better solutions. In an era of increasing complexity, we need to be willing to make trade-offs that achieve the best future path, not a rigid adherence to purity for purity sake. It’s about striking the balance between standardization to achieve scale and the flexibility to adapt and innovate.
What do you have a strong religious belief in about technology? Does your organization have religious adherence to certain architectures or standards?
Is Bami Goreng the same as the dish labelled as ‘Singapore Noodles’ in the United Kingdom?
Because when in Singapore, you got to get the good eats…
We help IT leaders in enterprises solve the cultural challenges involved in digital transformation and move towards a community based culture that delivers innovation and customer value faster. Learn more about our work here.