Are You A Fanboy???
Tags: dogma, programming, leadership, codequality
Published: 2020-04-26 01:43:17

One of tech's bigger annoyances is the ever-churning proliferation of "fanboys".  For multiple reasons, tech doesn't typically lend itself to reasoned, sober comparisons.  Too often, we find ourselves _cheering_ for a particular tech solution, rather than _advocating_ for it (where appropriate) and constantly re-evaluating our premises.  

[**NOTE**:  This isn't meant to be gender-exclusive.  There can be _fangirls_.  But I'm not going to litter this article with the utterly-awkward phrase: _fanperson_.  Besides, most of the blowhards I've encountered who've earned such a label are, in fact, male.]


## Scope of Fanboying

There are _many_ potential breeding grounds for fanboys.  Too numerous to count.  And every day, it seems another group of fanboys is minted.  In tech, here are a few subject areas where they seem to congregate:

* Hardware (Looking at you, _Apple_ fanboys...)
* Languages (Any programmer who's been doing this for long enough has, at some point, been at least a _little bit_ of a fanboy for their current language-of-choice.)
* Frameworks (There are approximately 39 unique fanboy sects for different PHP frameworks - and every single one of them is _wrong_.)
* Packages (You know that guy - the one who _uninstalls_ the NPM package you've been using and replaces it with his package-of-choice.)
* Thought Leaders (We should do this because Famous Programmer X said...)
* Paradigms (OOP vs FP vs factory patterns vs MVC vs inheritance vs declarative syntax vs...)

Obviously, this list could stretch on for many more entries if I was trying to be exhaustive.


## Signs of Fanboying

None of the following are definitive proof that you've earned the title of "fanboy".  But if these points start sounding a little-too-familiar, you might want to start measuring yourself for an Official Fanboy Tracksuit With Matching Pinky Ring.

**The broken record**

When Node.JS first started becoming "a thing", one of the guys on my team developed a serious crush.  For the next six months, _any_ time I talked about _any_ new project that might be coming down the line, his first response was always, "We should do it in Node.JS."  My response was never to shoot him down.  Rather, I'd ask him for empirical reasons why we should adopt the (then)new tool - and he could rarely come up with a cogent response (other than the fact that, you know... he _really_ wanted to build something in Node.JS).

**The whole world is wrong**

There's nothing wrong with _favoring_ a particular technology.  In fact, it's entirely natural and expected for any professional to have their preferred tools.  But if you find yourself talking _down_ about the other tools - merely _because_ they're not you're tool of choice - then you just might be a fanboy.

**Delusions of grandeur**

Fanboys don't just _like_ their chosen tech.  They speak about it with glowing, over-the-top proclamations.  Every fanboy I've ever met swears that _their_ chosen tech allows them to swiftly write efficient, bug-free code (cuz, you know... there's no way you could swiftly write efficient, bug-free code using any _other_ tech...).  They're also perfectly comfortable telling you that _your_ chosen tech is not conducive to swiftly writing efficient, bug-free code.

**Offended by _fanboy_**

Here's a cool Jedi mind trick you can use to identify the fanboys of a particular tech in any crowd.  For example, let's imagine that we're talking, in broad strokes, about Angular.  Then, while you're talking, throw a couple of moderately-snarky jabs at "Angular fanboys".  Then... just sit back and wait.

People who appreciate Angular for its strengths _and_ its weaknesses won't be offended.  They'll probably say nothing at all.  They understand that Angular is neither perfect nor useless.  And they in no way see themselves as Angular "fanboys", so they don't feel threatened by the reference.

But the _real_ Angular fanboys??  Well... They won't be able to help themselves.  They'll start getting annoyed.  They might even clap back at you with some angry retort.  

> If it offends you to hear about "Technology X _fanboys_", then you _are_ one of those "fanboys".  

Right now, I write React code nearly every single day of my life - and I love it.  But it doesn't bother me if you wanna talk about "React fanboys" - because I know that phrase has nothing to do with me.

**Fountains of dogma**

Dogma is one of the fanboys' most common weapons.  They repurpose old dogma to their needs.  They make up new dogma on the spot.  They endlessly regurgitate the dogma that's been spouted by the biggest thought leaders who support their cause.  They can't be bothered to actually _show_ anyone, in _empirical terms_, why their solutions are any better.  They ultimately end up falling back on rote dogma.

**Wolfpacking**

Fanboys seek out other like-minded fanboys, and they make every attempt to congregate (or even, _segregate_) whenever possible.  They can't be bothered with the inferior and stooopid ideas of other, unenlightened devs who don't mindlessly fall in line with their fanboying.

**Unilateralism**

By this point in the 21st century, there are _thousands_ of programming languages, packages, frameworks, platforms, patterns, etc.  The first sign that you've met a fanboy is when someone claims that _any_ of these solutions is unilaterally "right" or "superior".  At this point, proclaiming any particular tech as the "best" is like claiming that any particular website is the "best".  (With the obvious exception of Stack Overflow.  We all know that Stack Overflow is, provably, the "best".)


## Fan vs. Fanboy

At this point, it's time for a quick clarification.  There is a _world_ of difference between being a "fan" and being a "fanboy".  On some level, you're a "fan" of anything that you just really _like_.  And of course, over years of hard-fought experience, you're going to find some things that you _personally_ like - and some things you don't.  And that's OK.

A fanboy isn't someone who simply _prefers_ one technology over another.  It's someone who ticks off one-or-more of the qualifications shown above.  Contrary to what fanboys believe, it's entirely possible to be a _fan_ of something without becoming a mindless automaton that blindly touts it as the Solution For Every Problem.

For example, I really enjoy Citizen Cope.  He makes some great music.  Seems (from afar) like a pretty cool cat.  I've seen him more than a half dozen times in person.  Once, I even travelled halfway across the US just to catch one of his more-intimate gigs at a place in NYC called _City Winery_.  But as much as I like him, I'll freely admit that he's not everyone's "cup of tea".  Hell, on some days, he's not _my_ cup of tea.  And I'm sure-as-hell not gonna try to yell you down because you favor some entirely different artist (or genre) and you don't favor mine.  You see, I'm a _fan_ of Citizen Cope.  But I'm definitely not a Citizen Cope _fanboy_.


## Cost of Fanboying

Why should any of this matter _to you_??  Well, I'm constantly trying to reassess my premises - and guard against silently sliding into "fanboy territory".  Here's why:

1. **Fanboys have no credibility.**<br/>If I know, that every damn night, all you want to eat for dinner is McDonald's, then you can be assured that _I will never ask you where you want to eat for dinner_.  What's the point??  I already _know_ what your recommendation will be.  And if I don't want to eat at McDonald's, and I'd like to get a nuanced opinion on another restaurant, I can't trust that I'll get that analysis from you.  Because you're already over-the-top in romantic love with McDonald's, and you've already shown that you can't evaluate other restaurants objectively.  Hell, even if I _want_ to eat at McDonald's, it's almost impossible to get any meaningful advice from you about the menu.  Because, in your eyes, McDonald's can do no wrong.<br/><br/>

1. **Fanboys are _a half step away_ from being... bullies.**<br/>To be fair, I know that "bully" is a very-loaded word.  And there are plenty of fanboys out there who never come close to being outright _bullies_.  But sometimes... it's a short leap - because the more you mindlessly love _your_ chosen tech, the easier it is for you to justify being a real jerk when you realize that I've chosen _a different_ tech.<br/><br/>

1. **Fanboys are intellectually stagnant.**<br/>Sure, they might still be learning ever-more-intricate techniques to master their Fanboy Technology of Choice, but they spend very little time trying to learn anything _outside_ their fanboy specialty (other than to bash it).  Eventually, they _might_ transfer their fanboying to another tech, but they can almost never be counted on to make a reasoned analysis of all options available to them.  And they can rarely speak intelligently about the strengths _and_ weaknesses of other approaches.<br/><br/>

1. **Fanboys have a spectacularly-high likelihood of generally being _butt-wads_ (technical term).**<br/>Being a fanboy doesn't _ensure_ that you're a Grade A jerk, but mannn... it's amazing how many fanboys _are_ Grade A jerks.  Even here, on some of my blog posts, I've been amazed by the arrogant attitude some people can throw at you because you've somehow stepped on some sacred corner of their fanboying.  I'm **_not_** talking about someone simply disagreeing with me.  That's fine.  And I've been _wrong_ more times than I could possibly count.  I'm talking about someone just being _arrogant_ and _rude_.


## Reality Check

Look.  If you've been in tech even 1/4 of the time that I have, it's nearly impossible to avoid _ever_ becoming a fanboy with regard to _any_ particular tech.  Sometimes it just... happens.  You see that hot new tech.  Your colleagues think it's hot, too.  Next thing you know, you're sending it text messages throughout the day.  Then you're writing it full-fledged fan letters.  Then you're getting it tattooed on your arm.  

Hey... it happens.

But if you care, at all, about your profession.  And if you have any desire whatsoever to grow, and learn, and not become a Royal Douchebag along the way, you should make every possible attempt to avoid becoming a full-on _fanboy_ at all costs.