Rusty Divine

Live, Love, Learn, Teach

Team Geek

Team Geek: A Software Developer's Guide to Working Well with Others, by Brian W. Fitzpatrick and Ben Collins-Sussman.

The Big Idea:

Humility, Respect, and Trust – HeaRT – are what it takes to be a great person and team member, in fact, it’s what is going to make or break your career.

Humility: Be open to self improvement and being wrong. Seek out other opinions and treat them fairly. Lose the ego – don’t comment on every discussion, be willing to conform some so that you don’t spend energy struggling against the system, and learn to take criticism.

Respect: Care about other people and their emotions. Appreciate their abilities and accomplishments.

Trust: Lead with believing people will do the right thing and want to do it well. Let yourself be vulnerable and trust that your team will not harm you.

Book Notes

Gone are the days of the Genius Programmer in a private office churning out code or technical specifications isolated and uninterrupted. Today we expect our teams to communicate continuously, be open to alternative ideas, and to put the code before themselves – you are not your code.

The authors state that “Almost every social conflict can ultimately be traced back to a lack of humility, respect, or trust.”

A manager needs to make it obvious that she trusts her employee and the employee will feel positive pressure to live up to that trust.

“The best advice we got when we first became engineering managers at Google was from Steve Vinter, an engineering director. He said, ‘Above all, resist the urge to manage.’” The authors believe the most important thing a manager can do is to serve her team.

Managers, don’t:

  • Ignore low performers
  • Ignore human issues
  • Be everyone’s friend
  • Compromise the hiring bar
  • Treat your team like children

“The engineer asking for advice typically doesn’t want you to solve his problem, but rather to help him solve it, and the easiest way to do this is to ask him questions.” Knowing the right question can be better than knowing the answer.

Managers need to shield their teams from chaos. Keep the second guessing, power struggles, budget concerns, and other external drama away from the team. This can be very difficult if you have a good relationship with your team, but it’s important to separate your responsibility to protect the team morale from your urge to be transparent with them.

“If you have six kids and give each one the same amount of water, light, and fertilizer, they’ll all get equal treatment, but the odds are good that none of them will get what they actually need.”

Engineers crave autonomy, mastery, and purpose.

On difficult team members

Try not to think in terms of bad apples, but in bad behaviors. It’s the behaviors you want to filter out, not the people. “If, after repeated warnings, the behavior doesn’t change, only then does it makes sense to consider formal rejection.” Will the project still benefit in the long run with this person who exhibits bad behavior?

Managers need to be intolerant of destructive behaviors, and explicit about the team approaching each other with HRT.

On Communication

A good email is short. If you need something from the reader, it should be three bullet points or less and one – and only one – request.