Level 5 means never having to say you’re sorry

In Big Macs vs. The Naked Chef, Joel derides the least common denominator effect of formal methodologies:

Mystery: why is it that some of the biggest IT consulting companies in the world do the worst work?

1. Some things need talent to do really well.
2. It’s hard to scale talent.
3. One way people try to scale talent is by having the talent create rules for the untalented to follow.
4. The quality of the resulting product is very low.


You can see the exact same story playing out in IT consulting. How many times have you heard this story?

Mike was unhappy. He had hired a huge company of IT consultants to build The System. The IT consultants he hired were incompetents who kept talking about “The Methodology” and who spent millions of dollars and had failed to produce a single thing.

Luckily, Mike found a youthful programmer who was really smart and talented. The youthful programmer built his whole system in one day for $20 and pizza. Mike was overjoyed. He recommended the youthful programmer to all his friends.

Youthful Programmer starts raking in the money. Soon, he has more work than he can handle, so he hires a bunch of people to help him. The good people want too many stock options, so he decides to hire even younger programmers right out of college and “train them” with a 6 week course.

The trouble is that the “training” doesn’t really produce consistent results, so Youthful Programmer starts creating rules and procedures that are meant to make more consistent results. Over the years, the rule book grows and grows. Soon it’s a six-volume manual called The Methodology.

After a few dozen years, Youthful Programmer is now a Huge Incompetent IT Consultant with a capital-M-methodology and a lot of people who blindly obey the Methodology, even when it doesn’t seem to be working, because they have no bloody idea whatsoever what else to do, and they’re not really talented programmers – they’re just well-meaning Poli Sci majors who attended the six-week course.

And Newly Huge Incompetent IT Consultant starts messing up. Their customers are unhappy. And another upstart talented programmer comes and takes away all their business, and the cycle begins anew.

What’s the moral of the story? Beware of Methodologies. They are a great way to bring everyone up to a dismal, but passable, level of performance, but at the same time, [Methodologies] are aggravating to more talented people who chafe at the restrictions that are placed on them. It’s pretty obvious to me that a talented chef is not going to be happy making burgers at McDonalds, precisely because of McDonald’s rules. So why do IT consultants brag so much about their methodologies?

Joel’s entry, written in January 2001, is essentially championing the same Dreyfus Model of Skill Acquisition that the Pragmatic Progammers began advocating in 2002 with Herding Racehorses and Racing Sheep. Andy briefly covered this in the presentation he gave to our group, but the full slide deck goes into much more detail:

Level 1: Beginner
Little or no previous experience
Doesn’t want to learn: wants to accomplish a goal
No discretionary judgement
Rigid adherence to rules

Level 2: Advanced Beginner

Starts trying tasks on their own
Has difficulty troubleshooting
Wants information fast
Can place some advice in context required
Uses guidelines, but without holistic understanding

Level 3: Competent

Develops conceptual models
Troubleshoots on their own
Seeks out expert advice
Sees actions at least partially in terms of long-term plans and goals

Level 4: Proficient

Guided by maxims applied to the current situation
Sees situations holistically
Will self-correct based on previous performance
Learns from the experience of others
Frustrated by oversimplified information

Level 5: Expert

No longer relies on rules, guidelines, or maxims
Works primarily from intuition
Analytic approaches only used in novel situations or when problems occur
When forced to follow set rules, performance is degraded

As Joel points out, the value of big-Em methodology decreases very sharply as you climb the skill ladder. He’s also saying that the resulting value of hundreds of level 1 and 2 coders banging out millions of lines of code is surprisingly low, but that’s a topic for another blog entry.

The Dreyfus model is a general model of skill acquisition that was originally developed through observation of thousands of nurses performing their work. It has nothing to do with software development, per se. You could be a level 1 skydiver and a level 3 cook. But there are some interesting historical parallels with software development:

The nursing profession had a lot of problems in the 70s. The Benner book, and the Dreyfus model, is often quoted as being instrumental in helping turn it around. And if you read the book, you’ll see that the problems faced by nursing back then have strong parallels to those faced by the software industry today.

And as Dave points out, you really don’t want to be in a position where you’re following a set of static, defined rules:

What can companies effectively outsource? Stuff that can be specified precisely. Stuff that has rules. This means that (in general) the jobs of novices will be more at risk from outsourcing that those of experts. Now, this is my no means a perfect model: companies outsource projects that shouldn’t be outsourced, and companies have a strange habit of firing their experienced people in bad times because their salaries are 50% higher than the novices (why does no one ever account for the cost of all that experience walking out the door?). But, ignoring all the exceptions, in general we need to move away from the low Dreyfus levels and start occupying the higher Dreyfus levels if we are to to make ourselves less vulnerable to job evaporation. And Dreyfus is all about the acquisition of skills through experience.

Now, as amusing as it may be, I am not trying to encourage the level 5 means never having to say you’re sorry attitude. “No rules” isn’t shorthand for an air of smug superiority, although there’s certainly no shortage of that in our profession. “No rules” means that we should actively seek out challenging development opportunities with lots of unknowns, work that takes considerable experience and skill. The kind of work that cannot be done by beginners slavishly following a big-Em methodology.

Related posts

Complaint-Driven Development

If I haven’t blogged much in the last year, it’s because we’ve been busy building that civilized discourse construction kit thing I talked about. (Yes, that’s actually the name of the company. This is what happens when you put me in charge of naming things. Pinball

By Jeff Atwood ·
Comments

The Rule of Three

Every programmer ever born thinks whatever idea just popped out of their head into their editor is the most generalized, most flexible, most one-size-fits all solution that has ever been conceived. We think we've built software that is a general purpose solution to some set of problems, but

By Jeff Atwood ·
Comments

Today is Goof Off at Work Day

When you're hired at Google, you only have to do the job you were hired for 80% of the time. The other 20% of the time, you can work on whatever you like – provided it advances Google in some way. At least, that's the theory. Google&

By Jeff Atwood ·
Comments

Coding Horror: The Book

If I had to make a list of the top 10 things I've done in my life that I regret, "writing a book" would definitely be on it. I took on the book project mostly because it was an opportunity to work with a few friends

By Jeff Atwood ·
Comments

Recent Posts

Stay Gold, America

Stay Gold, America

We are at an unprecedented point in American history, and I'm concerned we may lose sight of the American Dream.

By Jeff Atwood ·
Comments
The Great Filter Comes For Us All

The Great Filter Comes For Us All

With a 13 billion year head start on evolution, why haven’t any other forms of life in the universe contacted us by now? (Arrival is a fantastic movie. Watch it, but don’t stop there – read the Story of Your Life novella it was based on for so much

By Jeff Atwood ·
Comments
I Fight For The Users

I Fight For The Users

If you haven’t been able to keep up with my blistering pace of one blog post per year, I don’t blame you. There’s a lot going on right now. It’s a busy time. But let’s pause and take a moment to celebrate that Elon Musk

By Jeff Atwood ·
Comments
The 2030 Self-Driving Car Bet

The 2030 Self-Driving Car Bet

It’s my honor to announce that John Carmack and I have initiated a friendly bet of $10,000* to the 501(c)(3) charity of the winner’s choice: By January 1st, 2030, completely autonomous self-driving cars meeting SAE J3016 level 5 will be commercially available for passenger use

By Jeff Atwood ·
Comments