Team Geek

Book description

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.

Publisher resources

View/Submit Errata

Table of contents

  1. Praise for Team Geek
  2. Dedication
  3. Mission Statement
  4. Acknowledgments
    1. From Fitz
    2. From Ben
    3. About the Authors
  5. Introduction
    1. Who Is This Book For?
      1. Warning: This Is Not a Technical Manual
      2. The Contents of This Book Are Not Taught in School
    2. The Pitch
  6. 1. The Myth of the Genius Programmer
    1. Help Me Hide My Code
    2. The Genius Myth
    3. Hiding Is Considered Harmful
    4. It’s All About the Team
    5. The Three Pillars
    6. HRT in Practice
      1. Lose the Ego
    7. Learn to Both Deal Out and Handle Criticism
      1. Fail Fast; Learn; Iterate
      2. Leave Time for Learning
      3. Learn Patience
      4. Be Open to Influence
    8. Next Steps
  7. 2. Building an Awesome Team Culture
    1. What Is Culture?
    2. Why Should You Care?
    3. Culture and People
    4. Communication Patterns of Successful Cultures
    5. High-Level Synchronization
      1. The Mission Statement—No, Really
      2. Efficient Meetings
      3. Working in a “Geographically Challenged” Team
      4. Design Docs
    6. Day-to-Day Discussions
      1. Mailing Lists
      2. Online Chat
    7. Using an Issue Tracker
    8. Communication as Part of Engineering
      1. Code Comments
      2. Putting Your Name in Source Code Files (a.k.a., the “Author Tags” Issue)
      3. Require Code Reviews for Every Commit
      4. Have Real Test and Release Processes
    9. It Really Is About the Code After All
  8. 3. Every Boat Needs a Captain
    1. Nature Abhors a Vacuum
    2. @Deprecated Manager
      1. “Leader” Is the New “Manager”
      2. The Only Thing to Fear Is … Well, Everything
    3. The Servant Leader
    4. Antipatterns
      1. Antipattern: Hire Pushovers
      2. Antipattern: Ignore Low Performers
      3. Antipattern: Ignore Human Issues
      4. Antipattern: Be Everyone’s Friend
      5. Antipattern: Compromise the Hiring Bar
      6. Antipattern: Treat Your Team Like Children
    5. Leadership Patterns
      1. Lose the Ego
      2. Be a Zen Master
      3. Be a Catalyst
      4. Be a Teacher and a Mentor
      5. Set Clear Goals
      6. Be Honest
      7. Track Happiness
      8. Other Tips and Tricks
    6. People Are Like Plants
    7. Intrinsic Versus Extrinsic Motivation
    8. Final Thoughts
  9. 4. Dealing with Poisonous People
    1. Defining “Poisonous”
    2. Fortifying Your Team
    3. Identifying the Threat
      1. Not Respecting Other People’s Time
      2. Ego
      3. Overentitlement
      4. Immature or Confusing Communication
      5. Paranoia
      6. Perfectionism
    4. Repelling the Poison
      1. Redirect the Energy of Perfectionists
      2. Don’t Feed the Energy Creature
      3. Don’t Get Overly Emotional
      4. Look for Facts in the Bile
      5. Repel Trolls with Niceness
      6. Know When to Give Up
      7. Focus on the Long Term
    5. A Final Thought
  10. 5. The Art of Organizational Manipulation
    1. The Good, the Bad, and the Strategies
    2. The Ideal: How a Team Ought to Function Within a Company
      1. Your Life Under an Ideal Manager
    3. The Reality: When Your Environment Is an Obstacle to Your Success
      1. Your Life Under a Bad Manager
      2. The Office Politician
      3. The Bad Organization
    4. Manipulating Your Organization
      1. “It’s Easier to Ask for Forgiveness Than Permission”
      2. If You Can’t Take the Path, Make the Path
      3. Learn to Manage Upward
      4. Luck and the Favor Economy
      5. Get Promoted to a Position of Safety
      6. Seek Powerful Friends
      7. How to Ask a Busy Executive for Anything … via Email
    5. Plan B: Get Out
    6. All Is Not Lost
  11. 6. Users Are People, Too
    1. Managing Public Perception
      1. Pay Attention to First Impressions
      2. Underpromise and Overdeliver
      3. Work with Industry Analysts Respectfully
    2. How Usable Is Your Software?
      1. Choose Your Audience
      2. Consider Barrier to Entry
      3. Measure Usage, Not Users
      4. Speed Matters
      5. Don’t Be All Things
      6. Don’t Be Lazy
      7. Hide Complexity
    3. Managing Your Relationship with Users
      1. Don’t Be Condescending
      2. Be Patient
      3. Create Trust and Delight
    4. Remember the Users
  12. A. Epilogue
    1. A Final Thought
  13. B. Further Reading
  14. Index
  15. About the Authors
  16. Copyright

Product information

  • Title: Team Geek
  • Author(s): Brian W. Fitzpatrick, Ben Collins-Sussman
  • Release date: July 2012
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781449302443