Team Geek: A Software Developer's Guide to Working Well with Others
Team Geek: A Software Developer's Guide to Working Well with Others
Team Geek: A Software Developer's Guide to Working Well with Others
5 3
Price: $10.05 FREE for Members
Type: eBook
Publisher: O'Reilly Media
Page Count: 194
Format: pdf
Language: English
ISBN-10: 1449302440
ISBN-13: 9781449302443
User Rating: 5.0000 out of 5 Stars! (3 Votes)

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

Ben Collins-Sussman, Brian W. Fitzpatrick free


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: Only invite people who absolutely need to be there. Have an agenda and distribute it early. End the meeting early if possible. Keep the meeting on track. 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.

MANAGE PROBLEMS WITHOUT DRAMA 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. MANAGE UP & OUT

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.

User tags

Download ISBN 1449302440
ISBN 1449302440 books
ISBN 1449302440 epub
ISBN 1449302440 price
Ben Collins-Sussman, Brian W. Fitzpatrick book
ISBN 1449302440 for sale
ISBN 1449302440 for cheap
ISBN 1449302440 barcode
Team Geek: A Software Developer's Guide to Working Well with Others torrent
ISBN 1449302440 pdf
ISBN 1449302440 djvu
ISBN 1449302440 to buy
ISBN 1449302440 edition
ISBN 1449302440 Ben Collins-Sussman, Brian W. Fitzpatrick
ISBN 1449302440 Team Geek: A Software Developer's Guide to Working Well with Others
Download ISBN 9781449302443
ISBN 9781449302443 books
ISBN 9781449302443 epub
ISBN 9781449302443 price
ISBN 9781449302443 for sale
ISBN 9781449302443 for cheap
Ben Collins-Sussman, Brian W. Fitzpatrick djvu
ISBN 9781449302443 barcode
ISBN 9781449302443 pdf
ISBN 9781449302443 djvu
ISBN 9781449302443 to buy
ISBN 9781449302443 edition
ISBN 9781449302443 Ben Collins-Sussman, Brian W. Fitzpatrick
ISBN 9781449302443 Team Geek: A Software Developer's Guide to Working Well with Others
download Ben Collins-Sussman, Brian W. Fitzpatrick
download Team Geek: A Software Developer's Guide to Working Well with Others
Ben Collins-Sussman, Brian W. Fitzpatrick pdf
Team Geek: A Software Developer's Guide to Working Well with Others pdf
Team Geek: A Software Developer's Guide to Working Well with Others book
Ben Collins-Sussman, Brian W. Fitzpatrick torrent
Ben Collins-Sussman, Brian W. Fitzpatrickfree download
Team Geek: A Software Developer's Guide to Working Well with Others free download
Team Geek: A Software Developer's Guide to Working Well with Others djvu
Ben Collins-Sussman, Brian W. Fitzpatrick epub
Team Geek: A Software Developer's Guide to Working Well with Others epub

download eBook Team Geek: A Software Developer's Guide to Working Well with Others - Ben Collins-Sussman, Brian W. Fitzpatrick online free pdf mp3 torrent
download 1449302440 9781449302443 book online
| 5 out of 5 Stars!

Reposted from my blog - [...]

Disclaimers: I received a free copy of this book to review from O'Reilly. I work at Google, as do the authors, but this review reflects my views only and not necessarily those of Google.

One thing I have learned over my three years of professional software development is that you really are writing code for other people to read, not for the compiler. This dual nature of programming, the precise, exacting specifications that run on the computer, and the imprecise, ambiguous human factor, is fascinating to me. Ben Collins-Sussman and Brian W. Fitzpatrick, two of the engineers behind the SVN version control system, currently working at Google, have written Team Geek, a book that aims to impart lessons learned in creating better software through better people skills and teamwork.

Programmers tend to lionize the lone programmer, like Linus Torvalds of Linux fame. In some rare cases, geniuses do manage to accomplish incredible things on their own. But in most cases, great software is a collaborative effort performed by a team of people of varying skills, backgrounds, and communication styles. There are many books which help improve your technical proficiency, but this is one of the few I've encountered that addresses the importance of working effectively with teammates.

I won't reiterate all of the content of the book but there are a few themes that occur throughout that I'd like to touch on.

The first is that it is crucial to spread the knowledge throughout the team rather than keeping it siloed in the heads of a few people. They whimsically refer to this as the "bus factor" - how many people would it take to be hit by a bus (or be otherwise incapacitated) before the project would fall apart?

One way of increasing this shared knowledge is through the use of communication channels that are easily archivable and searchable rather than through point to point communication. For instance, it is better to ask questions of the team via an IRC channel or mailing list than to ask someone directly, because that exchange can be easily found in the future. It also gives other team members visibility and input into the decision making process.

The culture of the team is also frequently discussed. In the previous example, archiving technical discussions would do no good if no one bothers to search and try to find answers by themselves prior to asking someone for the answer. The shared values of the team are crucial to its effectiveness.

Another main theme of the book is focus, or "saying no to all the distractions." Part of an effective team, the authors say, is a manager who can shield engineers from the chaos inherent in the organization. This is a form of avoiding distractions at a high level - working on things which do not actually matter for your project. One relevant quote I've found in this regard is

There is nothing so useless as doing efficiently that which should not be done at all -- Peter Drucker

One way the authors suggest to maintain focus is to decide on a mission statement. It might sound cheesy, but they offer a compelling argument as to its efficacy. They relate an example of how they used this technique on one of their projects and it became clear that many of the senior engineers had very different goals and ideas of what the product should do. Had they not forced the team to clearly specify what they were trying to accomplish and what the non-goals of the project were, there would have been significant wasted effort by people working at cross purposes. They use the analogy of a cart being pulled by different team members in different directions - by not working towards one goal, the cart will not move forward as quickly as it would if all were pulling together.

At a lower level, distractions abound as well. While programming, it takes significant concentration and effort to get engrossed in the task at hand and to `load' the program structure into one's head. Context switching is very bad for productivity because the cost of reloading this state is so high. Sometimes these context-switching distractions come from other team members, such as when someone interrupts to ask a question. The authors suggest that the team come up with a strategy for minimizing these disruptions, both to increase productivity and decrease frustration. For instance, in one team the authors led, any time Alice needs something from Bob, Alice would make her presence known, Bob would verbally acknowledge Bob but not stop what he was doing, finish what he was doing, and only then stop and talk to B.

While much of the book is generalizable to any sort of team environment, the authors do give some coding specific advice. There are discussions on handling code reviews effectively, dealing with people who constantly dig their heels in and criticize others' technical solutions, and ways to avoid ego while coding.

I thoroughly enjoyed this book, reading it cover to cover over two legs of an international flight. Much of the advice in the book is common sense but there are also many specific, concrete ideas that I had never considered before. I would recommend this book without reservation to anyone working on a team that writes software.

| 5 out of 5 Stars!

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.

| 5 out of 5 Stars!

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.

Showing 1 to 3 of 3
Write Review

Your Name:

Your Review: Note: HTML is not translated!

Rating: Bad            Good

Enter the code in the box below:

© 2019
visa master card