It's time to stop with the partisanship in tech. It's a silly and fruitless activity that doesn't get us anywhere. It either reinforces your beliefs, or alienates others.
I've observed a few interactions with techy people (enthusiasts, developers, IT pros) recently, and over the span of years, where the discussion revolved around mobile phones, their operating systems, computer operating systems, cloud services, etc. I hear things like:
- ewwww, why would you use Android?! It's like a cesspool of malware.
- a Mac? I don't get it, why use a computer with one-button mouse?
- Ruby? Doesn't it let you overwrite a variable with another type? That's insane!
- iPhone just locks you into using a dumb interface with no customization. You can't tweak anything! Why do you follow the crowd?
- we need to get more Windows Phones going on around here. It's more modern.
- Windows sucks. Microsoft marketshare is plummeting; M$ is dead in this post-PC era.
I don't ever want to be engaged in these discussions, and I'll actively disconnect if one arises. What's the point? I'm not sure if it's a maturity-level issue, or geek-boastery, or what.
It's useful to understand why tech enthusiasts feel or show allegiance to tech products and/or their companies. My bottom line on this is that people like to justify their decisions: both financial and emotional.
When you make a decision in a personal tech product, that decision involves a financial commitment. That might be an initial outlay of money, or an agreement to pay a large sum spanning multiple years. Either way, it's a large undertaking, and you want to get maximum value from this decision.
When you're choosing to spend a large sum of money, you might go through a few thought processes. You're basically making a mental investment in your potential choice.
- is this the right product for me?
- do I have an escape plan if it doesn't work out?
- balance the pros and cons of this choice
By the time the decision-making process is over, you're convinced that this choice is right for you, and you want to avoid paying again for that decision and having to go through it all again.
Remember that these companies are large multi-national corporations. They do not care about you. They care about you choosing to open your wallet and buy their next product. The most obvious example is Apple, who is incredibly successful in marketing their products. They use emotion, values, and aspiration to colour your perception and subtly convince you that their product aligns with you. It's Not a Church, It's Just an Apple Store. In their case, it's imparting your values with their brand, their logo, and their products.
Companies love loyal customers, but why do you want or need to be a loyal customer? I understand the basic human need to be a part of a group and find acceptance, and that you benefit by sharing experiences, tips and tricks, etc. I also understand that tech companies help encourage you to stay in their product silos by offering features or advantages. This helps reinforce your platform choice.
Here's where I think things go sideways in the tech geek: they're predisposed to defending their investment, and are now vindicated in their choice, as they've gained more benefits in that choice. People can turn from tribalism to partisans, and actively shut their brains off. I'm not sure what it is about the tech enthusiast personality, but it seems more susceptible to partisanship than normals are. Mix that with some snark and it doesn't present well.
The subtle point: all platforms are innovating and evolving, and all users within those platforms are benefiting (more or less) at the same rate. This results in a set of warring factions, each proclaiming that Feature X is superior to Opposing Product Y. That may be true... for that person at that time.
Fast forward ten years, and it all seems silly.
Try All Slices.
A well rounded tech worker stays on top of technology. Some even consider it their job. When a new technology comes on the scene, you should take the benefit by trying it.
A personal example: I purchased a Mac for home use. I'm a Windows developer, and have been in the Windows world since beginning my career. I didn't really need to learn OS X; they're different environments without much overlap, but it definitely broadened my view, and that's a good thing. Why?
- I wanted to see and learn another large computing environment.
- I kept hearing its users' excitement.
- iOS development was exclusive to OS X.
- I've not had much Unix exposure at all.
- I love learning. This change showed me new applications, quirks, and cultures to help shape my view of the industry.
It turns out, magically, that it wasn't hard. I didn't have to push something off the mental stack to learn a new OS.
I feel that it's my job to know what's out there, and to choose the right/best tool for the job.
So your job is personal computing? Yes, choose what fits your needs and what works for you.
Your job is software development? You'd damn well better know what's happening out there, otherwise, you'll atrophy. You may find yourself on the wrong side of change wave one day.
Does one platform suck today? Keep your eyes open, as it may not in a year from now. Consider phones and tablets: Android's early detractors had a lot of points, but those problems and pains are basically all solved. iOS didn't have copy and paste in v1 in 2007. These OSs keep evolving.
Windows has all major dev platforms(Ruby, Python, Node.js, Android and iOS), you can run any OS in Windows Azure, you can RDP to a Windows machine from OS X, .NET runs on *nix. We're in an age of convergence and the silos are breaking down. Granted, the enterprise will take a while longer to adapt.
All these things evolve; your choices should too.