Why many MCSEs won't learn Linux

The Windows worldview cultivates the expectation that learning to use an OS means memorizing specific command sequences and fill-ins - and when that attitude meets the Unix expectation that sysadmins should understand basic principles first and then apply them, chaos and frustration usually follow.

Here's the entirety of a note by discussion contributor nhudd responding to my e-mail exchange with "MCSE Mike":

On behalf of MCSE Mike's everywhere...

Paul, I think that the vast majority of techs/geeks out there can relate to MCSE Mike's question at the top of this article. His question and your "attempted" response reveal three potential roadblocks to the wider adoption of Linux that I would appreciate your further commentary upon.

First, is there any hope in an open source Linux world for the development of a "standard" that holds long enough for newcomers to adapt to it?

Secondly, if not, and with the myriad of distro variations out there, how can accurate "how to" and "help" documentation ever be developed to assist and welcome newcomers?

Thirdly, despite all of the hype about the wonderful help available on Linux discussion groups, your tart yet honest response is exactly the attitude I have encountered time and again. So, why do the existing Linux experts and elite (like yourself) persist in ridiculing those who shun Linux, while at the same time you give well meaning newcomers an elitist cold shoulder snubbing when they do make an effort to make the switch? Do you want people to switch or not?

I do not mean to be too pointed in using the "elitist label", but an elitist is someone who both pokes fun at people for not being like they are, and pokes fun at those who strive to be like they are. Like old English nobility. It's a loose-loose game for everyone but the elitist. So people are treated like idiots for not using Linux, and yet treated like idiots if they try to learn and use Linux and don't know everything already.

Somewhere along the line someone is going to realize that if you spend so much time trying to convince people that Linux is better, you're going to have to deal with people actually trying to use/learn Linux.

I sometimes wonder if many Linux experts like yourself might not be more honest by saying, "While I continue to use my intellectual superiority to convince you that Linux is better, I really do NOT want any more newbies trying to join our camp right now. Even though the heart of open source is that anyone can come in and learn and contribute, we really HATE slowing down our brains and wasting our precious time teaching you what you could learn yourself if you'd just take the next 5 years to read every Linux forum entry posted since 1980! So lets just save us both a lot of time and pain: choose Linux and hire an existing Linux expert."

I'm sure that from your side of the isle it must not look this way. Dose your lordship have the time of day to enlighten us aspiring serfs a little?

Nathan

PS: There's not too much evidence of Linux experts having a very strong sense of humor either. But I hope you will not take this too personally and consider a well thought (non flippant) response. I actually DO respect your knowledge and experience. I just see things from the other side over here a bit clearer than I see yours.

The serious question here is, I think, hidden a bit behind two emotional red herrings: I dealt with one in my immediate response by quibbing that elitism is characteristic of rich left wingers who want to keep their inferiors inferior, whereas I'm sometimes arrogant but always right - and frequent contributor bportlock promptly called him on the other by pointing out the obvious hypocrisy involved when a Microsoft devotee attacks Unix for structural diversity and instability over time.

Nathan's basic question, however, can be paraphrased as something that's both serious and interesting: why do so many MCSEs have such a hard time learning to use Linux? and, as a corollary, why do they think there's no effetcive help available to them?

I think the answer is that there's a great divide between the Windows and Unix camps: a divide one side doesn't recognize and the other doesn't want to cross. It's the divide between training and education: the difference between rote learning and the application of theory to practice.

Basically, to learn Unix you learn to understand and apply a small set of key ideas and achieve expertise by expanding both the set of ideas and your ability to apply them - but you learn Windows by working with the functionality available in a specific release.

Put a Solaris guy who's never used Linux in front of SuSe 10 with a list of complex tasks and he'll complain bitterly about missing pieces, primitive storage management tools, idiosyncratic pathing, misplaced or missing command syntax, and a host of other annoyances - but he won't be either intimidated or deterred; and the job will get done because he knows how the tools he needs should work, and trusts that SuSe's versions do in fact work.

In contrast, if you take a guy who's grown up entirely on Windows 2003/XP and put him in front of a rack of NT 4.0 machines with a similar task list, the chances are good that he'll feel comfortable with the product but won't get the job done - because NT 4.0 isn't 2003/XP Server and he'll end up rationalizing that it simply doesn't do the things he doesn't know how to do.

When serious people ask me for help learning Unix I usually refer them to Kernighan and Pike's The Unix Programming Environment as a good starting point. The book was published in 1984 but applies perfectly to Solaris, Linux, and the BSDs today - because the scripts it uses (almost all of which still work) aren't the point of the book: they're used to illustrate the Unix principles and key ideas that are the point because it's those principles that unite Unix across time and implementations.

But now look again at Mike's plea for help: he doesn't want enduring principles, he wants enduring scripts - click sequences he can memorize:

First, is there any hope in an open source Linux world for the development of a "standard" that holds long enough for newcomers to adapt to it?

Secondly, if not, and with the myriad of distro variations out there, how can accurate "how to" and "help" documentation ever be developed to assist and welcome newcomers?

What these questions reflect is a fundamental difference in perception - the difference between a world view in which theory dominates practice versus one in which only practice counts.

In his world there are no enduring principles and so the notion that unifying principles can be expressed in different ways is simply foreign to him. No Unix techie, for example, would see anything very odd about the assertion that the list segment command has been standardized since System III, but takes different parameters and produces different tabulations on Solaris, HP-UX, and SuSe Linux - but how do you think MCSE Nathan would see it?

In his world the focus is always on the "how" to the exclusion of the "why", and so I'm pretty sure he'd focus on the surface contradiction here; refuse to accept the argument that all the variants reflect the same ideas and fundamentally do the same things; and finally impute some emotional motivation for your obvious lie - he will, in other words, express his deepest fears about his own skills by accusing you of making the claim that "ls" means "ls" regardless of how it's expressed only so you can prove your own superiority to yourself by sniggering up your sleeve at his confusion:

Thirdly, despite all of the hype about the wonderful help available on Linux discussion groups, your tart yet honest response is exactly the attitude I have encountered time and again. So, why do the existing Linux experts and elite (like yourself) persist in ridiculing those who shun Linux, while at the same time you give well meaning newcomers an elitist cold shoulder snubbing when they do make an effort to make the switch? Do you want people to switch or not?

What he's doing here is striking out as a way of expressing the frustration he feels at being unable to understand what we're all talking about - and while that's fully understandable because he's the victim of a social community confusing training with education, I think it's also completely illustrative of the great divide blocking widespread Linux acceptance within the MCSE community.