Page

Chapter 17. Be The Worst

By Dave Hoover & Adewale Oshineye  

PublicCategorized as 3. Accurate Self-Assessment.

Not yet tagged

chat.gif Discuss this Chapter!

Chapter 17. Be The Worst

Be the lion's tail rather than the fox's head! Tractate Avot

Context: You have been Perpetually Learning and have Unleashed Your Enthusiasm. 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 how much your team increases your productivity and realize how much you have learned. This makes Chapter 29, Reflect As You Work and building Chapter 22, Breakable Toys particularly important for people who are the worst on their team. Both provide opportunities to take a step back from the team environment to allow you to see what habits, techniques, and knowledge you're picking up from Chapter 20, Rubbing Elbows with your more experienced teammates.

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 mimicking the stronger developers around you until 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 Chapter 30, 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.

Like Chapter 15, 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 Chapter 7, The Deep End), 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 Chapter 17, Be The Worst with Chapter 21, Sweep The Floor and Chapter 8, Concrete Skills. Chapter 21, Sweep The Floor means you are explicitly seeking out menial tasks in order to directly add value to the project. Developing Chapter 8, 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. Ultimately your (quickly) increasing contribution to the team is why these strong teams will take the risk of bringing you on board.

Jake Scruggs says it well 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 Part III, ?


Copyright O'Reilly Media

Powered by Near-TimeTerms of Services | Privacy Policy | Security Policy |