(2012-04-15) Tomayko Github Management
Ryan Tomayko shows the Management style he's trying to use as director of engineering at GitHub. I vehemently refuse to tell people what to do... I show people how to plan, build, and ship product together. Essentially, I try to create little mini-managers, each responsible for managing a single person: their self... I actually don't show people how to make decisions and ship product in any real direct way. There's no How To Ship Product training class or anything like that. Instead, I just do work... The only thing that may be unique and interesting about the way I do it is that I insist on being extremely visible (Transparency) throughout the entire process. That means removing sidebar conversations, private meetings, face time, IM, private pairing, and anything else that limits the visibility of work and process... It's often cited that GitHub doesn't have managers. In my opinion, a better way to describe the phenomenon would be to say that everyone at GitHub is a manager... Imagine what would happen if 100% of your "workforce" were "decision makers".
Nov20'2012 update: he gave a talk with a different spin. By far the most important part of the talk — the thing I hope people experiment with in their own organizations — is the idea of borrowing the natural constraints (esp ASynch) of Open Source software development when designing internal process and communication... processes designed to conform to open source constraints results in a project that runs well, attracts attention, and seems to be self perpetuating where the same project structured more traditionally requires much more manual coordination and authoritative prodding. It's important to note that while following open source constraints creates the possibility of Cooperation Without Coordination, it of course doesn't guarantee it... It is impossible to design process around meatspace interaction while also reaping the substantial benefits of Cooperation Without Coordination... I'd like to double down and predict the decline of the office as the center of planning, coordination, and communication for software development organizations... The GitHub office has two primary roles: 1. Be a great environment for individuals to work. Like a café with great food, wifi, and music. 2. Be a great place to party and hang out. Lastly, working face-to-face in meatspace has proven extremely valuable in matters of strategic thinking and, obviously, for developing personal relationships, two things which are vital to a company's success.
Edited: | Tweet this!