I just finished reading Team Geek: A Software Developer's Guide to Working Well with Others by Brian W. Fitzpatrick and Ben Collins-Sussman. The authors bring their experience of working on open source project teams (Subversion) as well as corporate software development teams (Google) and share what it takes to build great teams, create organizational change and manage your own career.
Although at times I felt that the book got a bit repetitive and could have done with tighter editing, overall, it is a great read with lots of hard earned wisdom on working in software teams. I've pulled out a few quotes which I particularly liked.
On not criticizing every single decision and learning to pick the right battles to fight:
Every time a decision is made, it’s like a train coming through town — when you jump in front of the train to stop it you slow the train down and potentially annoy the engineer driving the train. A new train comes by every 15 minutes, and if you jump in front of every train, not only do you spend a lot of your time stopping trains, but eventually one of the engineers driving the train is going to get mad enough to run right over you. So, while it’s OK to jump in front of some trains, pick and choose the ones you want to stop to make sure you’re only stopping the trains that really matter. -- Team Geek
On not tolerating people that threaten to poison your team's culture, even if they are "genius" programmers:
Genius is such a commodity these days that it’s not acceptable to be an eccentric any more. -- Team Geek
On attempting to change bad habits and behaviours:
It’s impossible to simply stop a bad habit; you need to replace it with a good habit. -- Team Geek
On learning to Manage Upward:
Shipping things gives you credibility, reputation, and political capital more than just about anything else in a company. -- Team Geek
On writing emails that get results:
A good Three Bullets and a Call to Action email contains (at most) three bullet points detailing the issue at hand, and one — and only one — call to action. That’s it — nothing more. -- Team Geek
On doing the Right Thing:
Do the right thing, wait to get fired. -- Chade-Meng Tan