You are previewing Team Geek.
O'Reilly logo
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.

Table of Contents

  1. Team Geek
  2. Praise for Team Geek
  3. Dedication
  4. SPECIAL OFFER: Upgrade this ebook with O’Reilly
  5. Mission Statement
  6. Acknowledgments
    1. From Fitz
    2. From Ben
    3. About the Authors
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. A. Epilogue
    1. A Final Thought
  15. B. Further Reading
  16. Index
  17. About the Authors
  18. SPECIAL OFFER: Upgrade this ebook with O’Reilly
  19. Copyright