Maniacal Rants (14 Part Series)
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.]
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.
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.
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.
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".)
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.
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:
Fanboys have no credibility.
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.
Fanboys are a half step away from being... bullies.
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.
Fanboys are intellectually stagnant.
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.
Fanboys have a spectacularly-high likelihood of generally being butt-wads (technical term).
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.
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.