Be The Worst
From Apprentice to Journeyman : Dave Hoover : Home
Comments


    "Be the lion's tail rather than the fox's head!" --Tractate Avot, chapter 4, [1]

Context: You have been Perpetually Learning and have UnleashedYourEnthusiasm?. As a result, your skills have surpassed your team and possibly your entire development organization.

Problem: Your rate of learning has leveled off.

Solution: Surround yourself with developers who are better than you. Find a stronger team where you will have room to grow because you are the weakest member.

Be The Worst was the seminal pattern of this pattern language. It was lifted from some advice that Pat Metheny offered to young musicians: "Be the worst guy in every band you're in." (via Chris Morris' blog) Pat's advice struck a chord with Dave and led him to start writing this book.

Dave finds a better team

    My first programming job was at a dot-com startup. Five months later, the dot-bomb exploded. After the smoke cleared, I landed in the IT department of a large non-profit organization. It was a great place to weather the downturn for a few years, but compared to my former employer the development pace was excruciatingly slow. Two years later I had learned a ton, but I was unchallenged and had lost hope for significant organizational improvement. Acting as the technical architect of my team initially provided some great learning expreiences, but the absurdity of me in an architectural role drove me to look elsewhere for work. The sole purpose of my job search was to increase my rate of learning and the best way I knew to do that was to surround myself with exceptional developers. A year later I was fortunate enough to find myself on a team with several world-class developers. It was an incredible challenge, but a priceless opportunity. --Dave Hoover 

Being in a strong team can make you feel as if you are performing better. The other members of that team will often prevent you from making mistakes and help you recover from your mistakes so smoothly that you won't realize that you may not be learning anything. It's only when you work on your own that you will see that the team has been carrying you. This is why when you're the weakest member of a strong team you need to spend more, not less, time analysing what you did at work and using Breakable Toys to discover the parts where the team was carrying you.

The goal is not to be the worst but to start at the bottom and work your way up. You do this by consciously finding ways to improve by modelling yourself on the stronger developers around you till you are on the same level as the rest of the team. Without this conscious attention to learning from the team you are exposed to several risks.

Firstly there is the risk that you will drag the team down. Secondly since good teams won't tolerate someone (for long) who is just a passenger you run the risk of being fired if you're so far behnd the rest of the team that you can't catch up or you don't seem to be catching up quickly enough. Another side-effect of joining a strong team is that you end up feeling bad about yourself and your skill level unless you're actively honing your skills. At it's best this can motivate you to improve. But like any 'sink or swim' strategy when it fails you will find yourself drowning. This is why it is essential to Create Feedback Loops so that you can tell when you're in trouble. This feedback will tell you if the team is too far ahead of you or hostile to people trying to work their way up and you need more help.

Like Stay In The Trenches, Be The Worst clashes with cultural norms that encourage you to attain a position of superiority as fast as you can. But apprentices value opportunities to learn the craft over expanding and asserting your authority. Sometimes that means you're leading a team (see Over Your Head), but, as an apprentice, you should typically look to be led.

There is a selfish aspect to purposely joining a team as the worst member. To counter this, compliment Be The Worst with Sweep The Floor and Concrete Skills. Sweeping The Floor means you are explicitly seeking out menial tasks in order to directly add value to the project. Developing Concrete Skills that will increase your contributions to the development effort is fundamental to your role as an apprentice. Without that contribution this pattern can lead to strong teams being fatally weakened. As Jamie Zawinski points out in his infamous open resignation letter from the Mozilla project [2] over time if you have too many people joining a simply team because it is already successful rather than out of a desire to make it successful: the magic dies. The magicians move on and little by little the quality bar drops. Eventually it becomes possible to ascend within that team's hierarchy simply by staying still as the quality of those around you drops. Although as an apprentice supported by the patterns of Perpetual Learning you won't be joining strong teams merely to be part of the crowd and you will rarely Be The Worst for long. Ultimately that's why these strong teams will take the risk of bringing you on board.

Steve Baker, a 22-year-old apprentice from Nova Scotia, says it well: "Being the worst isn't about dragging down a team, it's about setting yourself up to learn."

As does Jake Scruggs when he speaks of his summer apprenticeship at Object Mentor: "Without a doubt the coolest thing about working at Object Mentor was being able to lean over and ask David, or Micah, or Paul, or James, or ... Look, everybody sitting next to me had great ideas about programming and, as cool as all their classes are, working with great programmers is a much better way to learn."

Collaborating with great developers will help you maintain a more Accurate Self Assessment as well as provide help in FindingMentors. However Being The Worst is inappropriate for experienced developers. At that stage you should be looking to mentor novices and give others the opportunities you have been given.

Steve's problem

    I thought that my career was moving in the right direction because people were coming to me for help. I was the best they knew of. It felt great to be the best. The problem with being the best, though, is that everyone expects you to be right all the time. --Steve Baker, blog 


Comments ]*>", "", $line); if (ereg("^\^\^\^", $line)) { echo "
"; echo $comment; $comment = ""; $name = ""; continue; } if (ereg("^EMAIL", $line)) { continue; } if (ereg("^NAME", $line)) { $line = rtrim( $line ); $name = ereg_replace("^NAME ", "", $line); } elseif (ereg("^URL", $line)) { $line = rtrim( $line ); if ($line == "URL") { $comment .= "$name wrote...

"; } else { $url = ereg_replace("^URL ", "", $line); if ( ! ereg("http://", $url) ) { $url = "http://" . $url; } $comment .= "$name wrote...

"; } } else { # $line = ereg_replace("(http://[\w\-\.\?\/]+)", "\\1", $line); if (ereg("^[\n\r]+$", $line)) { $comment .= "

"; } else { $comment .= $line; } } } } ?>


Name
Email
(Kept private)
URL
Comment
(No HTML)


Home : Dave Hoover : From Apprentice to Journeyman Copyright © Red Squirrel Design, Inc. All Rights Reserved.