Lee Hambley(@codebeaker) at MagRails asked this question in his talk “Grown-up Web Application Deployment” and commented that the Unix community seemed to have a sharp divide between people who are experts and people who were advanced beginners (or, from the Dreyfus Model, level 2 and level 5 people). As had been mentioned previously, the best teachers come from the ‘Level 3 – Competent’ range as these are the people who know what they are doing and, more importantly, know how they are doing it. Dreyfus is a skill-based approach, so a user can be level 2 in one skill and level 5 in another.
So why does this sharp gap appear in ‘Unix Skills’? Why does there appear to be a jump from Level 2 straight to Level 5? I think it may be tied into the question ‘What is Unix Skill?’, which is (when phrased like that) a very amorphous, ill-defined question. Is Unix skill defined by kernel hacking? By bash skills? By zsh skills? By skilled sed and awk use? Where is the skill that is ‘Unix’?
My thought is that Unix isn’t a single skill, definable by a single level in the Dreyfus model. Instead, Unix is an entire ecosystem of skills in various different, but related, areas. So how do we appear to have level 2 people, level 5 people and no one in-between? I suspect that the ‘level 5’ people are really level 4 or level 5 in a large number of skills in the Unix ecosystem. This expertise creates a synthesis where they quickly become experts in other skills within the ecosystem, thereby becoming ‘Unix Experts’. The level 3 people exist, but they are level 3 in bash, or level 3 in Apache or nginx configuration, or level 3 in a large spectrum of unix skills, but they haven’t gained expertise in enough skills to spark the synthesis that draws all the skills together into a Unix expert.
So how can someone become a unix expert? I don’t know as I haven’t managed it yet. My suspicion is that as expertise is gained in various unix skills, they start to interact, combining and fusing together, with the common ‘essence’ of each skill that makes it a unix skill being distilled out. If I ever manage to reach this pinnacle, maybe I’ll have more insight. My worry is that if I do, I won’t be able to explain it.