The culture of our engineering team is based on the three pillars of humility, respect, and trust, which we jointly refer to as HRT or "heart". Most social conflict -- the "bugs" in our teamwork -- are caused by a lack of one of these three qualities.
These principles are drawn from Team Geek, by Brian Fitzpatrick and Ben Collins-Sussman. This book is aptly described by its subtitle: A software developer's guide to working well with others. It is required reading for all developers.
Friction-free interaction is like bug-free code -- it's what we strive for but realistically do not expect to attain. Team Geek gives us a shared vision of how we should treat each other and a shared vocabulary for discussing how we can strive towards that goal.
If you do not have a copy of Team Geek, please ask your manager to order one for you. You can also find an electronic copy through our subscription to Safari Books.
Team Geek focuses on the human interaction side of software development. Software is a team sport, but developers often have very little formal education on how to work together for years at a time. This page is just a quick summary of the core principles -- please read the whole thing!
Humility means that we recognize that each of us will make mistakes and not know the answers to many questions. We understand that we each still have much to learn, and we embrace opportunities for self-improvement.
Respect means that we care about each other as human beings. As a complement to humility, we recognize that others are neither infallible nor omniscient. We are proud of each other's accomplishments, and we celebrate each other's successes. We always remember the Golden Rule.
Trust means that we believe that we are all striving for the same goal and have something to contribute to that journey. We understand that there will be times where we each lead and we each follow, and that we are all competent and qualified to meet the demands that this job requires. We believe that even if we disagree on how to achieve a goal, we are all working towards the same end.
Just as we take a mindful approach to building high quality software, we also take a mindful approach to building a high quality engineering culture. This means that we approach embodying the principles of HRT with the same humility, respect, and trust as we approach any other project.