We all know the archetype of the fanboy (or fangirl of course, however I will forthwith use zealot as a gender-neutral term). They expound upon the superiority of their favorite… whatever, and lambaste the competing product or products, and will hear of nothing that would contradict their conclusions. The battle the zealots fight are well known: Juniper versus Cisco. Linux versus Windows. Linux versus FreeBSD. Python versus PHP. PostgreSQL versus MySQL. Apple versus Android. VMware versus Hyper-V. Ad nauseum.
To some degree, we are all zealots. We all have our preferences, our preferred products, our go-to solutions. But no matter how much we like one technology versus another, no matter what our logic, reasons, and proof is, there’s one inescapable truth, something we don’t want to admit, even to ourselves:
Much of our preference is based on familiarity, not superiority.
We like what we know, and more importantly we tend to not like what we don’t know. We view our comfortable environment through the lens of cognitive bias. And for the most part this is OK. The problem comes when we confuse familiarity with superiority.
We’re all going to need our “A Game”, that platform among many platforms that we concentrate on. It’s the one we know the best, and the one we root for and even cheer for. At times, we’re like European Soccer hooligans,
In technology, it’s important to have your “A Game”. We tend to specialize in a specific field, be it networking or storage or what have you, but even in those specializations there exists a myriad of products, projects, and disciplines. So you have to pick one or more A-Games.
In networking for instance, your A-Game may be Juniper or Cisco (or Cisco Catalyst versus Cisco Nexus), in server/virtualization it might be vSphere or it might be Hyper-V.
It’s critical to have an A-Game platform for your discipline (or a couple), and to develop your skills on those platforms. A former colleague of mine (and speeding ticket enthusiast) Joe Onisick describes the “A Game” concept in his great post “Why Cisco UCS Is My A-Game Server Architecture“. Is Cisco UCS the best blade system out there? Certainly that’s debatable (Personally I’m a big fan, and it’s also my A-Game) but he lays out rational reasons for why it is. We all need an A-Game, there’s just too much out there, even in specializations of specializations, to cover everything.
But some of us get overzealous with our A-Game, and we confuse our familiarity with superiority. Supporting information is accepted, contradictory information is either highly suspected, disputed, or discounted entirely. We take an offhanded comment that supports our opinion as gospel truth, and try our darnedest to poke holes in well researched, well thought out arguments that are contrary to our beliefs. (Wait, are we talking about technology or politics? Yeah…)
It happens to all of us at some point, but for some it’s a permanent mindset.
One of the reasons we have an A Game is because learning new platforms takes time and energy. The truth of the matter is, even if another product is superior, it will likely take a non-trivial expenditure of energy to take a new environment from unfamiliar to familiar. Even if another platform is better, the current platform may be good enough that the cost of adopting a new platform outweighs sticking with the old and familiar. In technology especially, it’s the devil you know that’s often better than the devil you don’t. Change is hazardous in the networking realm especially, which is why we have the concept of “change control”. So the familiar looks even more appealing in that light.
On the flip side however, we can’t stagnant lest we find ourselves without a good skill set to be valuable in the job market. It helps to re-evaluate our A Game from time to time, and not be caught up in the local hype. It helps to take a look around, and start the exploration of other platforms to see what’s out there.
Popularity Isn’t A Bad Thing
There are some in technology that seem to go a step further: Whatever is popular must be inferior. That’s the technology hipster model.
Popularity does have its benefits. In an interesting article on choosing either Ruby on Rails or Django as a development framework, two of the author’s criteria (health of community and ease of hiring people with the requisite skillset) aren’t technical parameters at all, but a measurement of the popularity of the respective projects. There are some in the comments that howl at such a non-technical criteria. But that’s bull. Having a critical mass of users means there’s more likelihood that you’ll get to read about the solution to your problem in a blog post, rather than be the person writing the solution.
It All Comes Down To Results
The biggest hole in the typical zealot argument of superiority is the success of the opposing projects. Think about your favored.. whatever, and its nemesis (everything in technology seems to have an archenemy). Companies are successful on both Linux and Windows. Networks hum along on Cisco gear and Juniper and Arista and Brocade (and sometimes a combination). People are happy with Apple and Android. Databases are run successfully on both MySQL and PostgreSQL. Successful sites are built on PHP, Python, Ruby on Rails, Django, and others. Some tools are of course more appropriate in certain situations than others, but there are usually more than one acceptable solution.
I have my preferences, I have my A-game, and I have my comfort zones. There are some products that I’m sure are good, but I’m just not familiar with them. There are some products that I’m familiar with and wouldn’t touch with a 100 meter Cat 6 cable. Be open-minded. Be accepting that other products will succeed. That’s the nature of the technology business.