Brandon Weaver’s “Beyond Senior - Metric Obsessions” has been stuck in my mind ever since we caught up at a SF Ruby Meetup and chatted about rules-adherence as a general problem:

…by definition a vast majority of your engineers are likely to be concentrated more towards the novice end of the spectrum, and will frequently over rate themselves on this scale.

If folks in the novice to advanced beginner stages are known for a rigid adherence to rules and almost legalistic approach to them what do you think might happen if you give them a giant list of metrics [, coding rules, linter warnings, dependency violations, or type-checking errors]?

Will they exercise discretion and nuance? Will they have the ability to prioritize based on that information? Will they make appropriate tradeoffs? [No.]

This is coming from the Dreyfus Model of Skills Acquisition, which is like Shuhari but with more levels:

  1. Novice:
    • “rigid adherence to taught rules or plans”
    • no exercise of “discretionary judgment”
  2. Advanced beginner
    • limited “situational perception”
    • all aspects of work treated separately with equal importance
  3. Competent
    • “coping with crowdedness” (multiple activities, accumulation of information)
    • some perception of actions in relation to goals
    • deliberate planning
    • formulates routines
  4. Proficient
    • holistic view of situation
    • prioritizes importance of aspects
    • “perceives deviations from the normal pattern”
    • employs maxims for guidance, with meanings that adapt to the situation at hand
  5. Expert
    • transcends reliance on rules, guidelines, and maxims
    • “intuitive grasp of situations based on deep, tacit understanding”
    • has “vision of what is possible”
    • uses “analytical approaches” in new situations or in case of problems