…because good design helps sell your ideas.



Team Geek: A Software Developer’s Guide to Working Well with Others

Posted on March 18, 2013 by Blog Design Journal

In a perfect world, software engineers who produce the best code are the most successful. But in our perfectly messy world, success also depends on how you work with people to get your job done.

In this highly entertaining book, Brian Fitzpatrick and Ben Collins-Sussman cover basic patterns and anti-patterns for working with other people, teams, and users while trying to develop software. This is valuable information from two respected software engineers whose popular series of talks—including “Working with Poisonous People”—has attracted hundreds of thousands of followers.

Writing software is a team sport, and human factors have as much influence on the outcome as technical factors. Even if you’ve spent decades learning the technical side of programming, this book teaches you about the often-overlooked human component. By learning to collaborate and investing in the “soft skills” of software engineering, you can have a much greater impact for the same amount of effort.

Team Geek Tips


Don’t work alone. Create a low-friction environment for rapid feedback loops with other programmers.

Keep the “bus factor” high. (Bus factor = the number of people that would have to get hit by a bus before your project is completely doomed)

Practice humility, respect, and trust. Almost every social conflict can ultimately be traced back to a lack of one or all of these behaviors:
Humility: You’re not the center of the universe. You’re neither omniscient nor infallible. You’re open to self-improvement.
Respect: You genuinely care about the people with whom you work. You treat them as human beings, and appreciate their abilities and accomplishments.
Trust: You believe others are competent and will do the right thing; you’re okay with letting them drive when appropriate.


Build a strong team culture. Base that culture on humility, trust, and respect— and consensus-based decision making.

Write a mission statement. It’s just as important to agree on what you’re NOT doing as what you are.

Run efficient meetings:

  1. Only invite people who absolutely need to be there.
  2. Have an agenda and distribute it early.
  3. End the meeting early if possible.
  4. Keep the meeting on track.
  5. Try to schedule the meeting near other interrupt points in your day.

Build strong processes and tools around team communication. They’re just as important as your software tools.

Never underestimate the bandwidth (and power) of a face-to-face conversation. It trumps all forms of electronic communication.


Remove roadblocks for the team. Strive to be a “servant leader.”

Be a leader, not a manager. Managers worry about *how* to get things done, while Leaders worry about *what* things get done, and trust their team to figure out how to do it.

Provide direction and intrinsic motivation. Figure out how much guidance the people on your team need to stay on track—and happy.


  • Reject behaviors, not people.
  • Guard your team’s attention and focus.
  • Ignore trolls and stick to facts.
  • Don’t sacrifice long-term culture for short-term convenience.


Ask for forgiveness, not permission.

If you can’t take the path, make the path.

Connect to the right people. Take advantage of the favor economy.

Cut to the chase. Make requests using “3 bullets and a call to action” method.

  • There is a pony deficiency.
  • Lack of ponies makes people sad.
  • Ponies increase productivity.

Please get us a pony.


When marketing your product, under-promise and over-deliver. Be aware of how people perceive your software; it determines whether they’ll even try it out.

Make your software easy to use. If your software isn’t easy to try, fast, friendly, and accessible, users will eventually walk away.

Listen to your customers. Users want to be heard and acknowledged. Proactive engagement with long-term users has a positive effect on the evolution of your software, and on retaining your customers.

Click Here For More Information

3 to “Team Geek: A Software Developer’s Guide to Working Well with Others”

  1. Shaun Lippy says:

    There’s more geing a great engineer than being a great programmer Software development teams can often be repositories of really intelligent people who have no understanding of how to function in a team environment. The myth of the nerd buried alone is his parents’ basement hacking up software actually has some basis in fact, sadly – not that engineers are literally working from their parents’ basement, but the mentality often parallels one engendered from that environment. I work for Oracle, a very mature company that pre-dates the revolution in software development teams, started in the 90s dot-com boom but perfected by the likes of Google, Facebook, Twitter, etc. in more recent years. The work environment I find myself in is what I would, as kindly as I can, describe as ‘old school’. I’ve heard tale of how engineering teams at these other types of companies function, and now, with Ben and Fitz’s book, I finally have a full-fledged view into how a well-oiled team works.The authors very methodically take the reader through what are the elements of a productive team: from how engineers should comport themselves, to how leaders can build and maintain the health of their teams, dealing with people who are working against you, navigating the organizational constraints (and, often, *re*straints), all the way through how to treat users of your software. No stone is left unturned, not even ones you perhaps wish *would* have been ignored (for example, how to handle nice but under-performing team members).As a 17 year veteran of the software development industry, I found many of Ben and Fitz’s stories intimately familiar, and I’ve stumbled my way onto a couple of their solutions through my own trial and error. But if I had read this book when I became a manager 6 years ago, or, even better, way back when I was coming into the world of software, my path would have been much less rocky and much more enjoyable. So if you are just looking to break into the wonderful world of software development, do yourself a favour and pick up this book – read it carefully, and highlight frequently. If you are a grizzled old veteran like me, you can still gain a lot of insight from the text – most of the problems will be familiar to you, but the solutions might not have presented themselves to you via your experiences or other readings.Nowhere is there a more thorough guide to all aspects of working in the corporate software world, whether you find yourself in a start-up with 5 employees or navigating the treacherous, bureaucracy-filled waters of the IBM’s and Oracle’s of the world. If you want to succeed in the software development universe, this book gives you all the tools you need to handle the social aspects of the environment. Knowing your algorithms and sharpening your programming chops gives you the potential to be a good engineer – tacking on the people skills you will learn in this book can make you a great one.

  2. Andy says:

    Good Book Brian Fitzpatrick leads Google’s Data Liberation Front and Transparency Engineering teams.Ben Collins-Sussman is one of the founding developers of SVN and now manages the engeneering team for the Google Affiliate Network.Both have a lot of experience with Open Source Projects.The Book has a clearly defined goal – to help programmers become more effectiveand efficient at creating software by improving their ability tounderstand, communicate with, and collaborate with other people.And that is the essence of this book. It explains why each relationship (not only related to Software projects) should be based on Humility, Respect and Trust (HRT).The message of the book also applies to the relationship between team mates, team leader and team and above all to the relationship with end users.The book gives useful tips on how to cope with complicated team mates and how managers should lead their team.Brian and Ben explain why a team culture is so important and should be protected right from the start.Last but not least the reader gets some tips on how to promote himself better within his company.I really enjoyed reading this book.

  3. M. N. Henkel says:

    A Framework for Successful Teams I stumbled upon this book while walking the Expo Hall at OSCON 2012: Brian Fitzpatrick and Ben Collins-Sussman were at the O’Reilly booth signing their new book, and I jumped at the chance to check it out. What a great decision.This is a short, entertainingly written, guide to working in, and leading, teams. Sure there’s a geeky theme to the examples, but it’s generally just good, practical, advice. Coming in at just 160 pages this is the kind of book I’d like to see every new hire at Return Path get: Let’s all start knowing that we’ll be working within the same framework of humility, respect and trust.

Leave a Reply

You must be logged in to post a comment.

  • Categories

  • Archives

  • Recent Comments

  • Advertise Here

  • Business Directory for Houston, Texas
  • Blogarama - The Blog Directory

↑ Top