Github is the largest software source code hosting company in the world. Their product is used by 4 million software developers to collaborate on 10 million projects. But what is so interesting about the company is that they managed to build upon their open-source roots and scale up to 240 employees in every timezone imaginable without having to tell anyone what to do.
Curious what they are doing differently I set out to find out as much as I could. This is my summary of that research. Comments, corrections and additions are greatly appreciated.
The founders of Github have put together a very short (3:30 min) video of their philosophy behind Github called Freedom which is well worth a watch. Here is some of the stuff they do:
People choose their own work
Nobody at Github tells someone else what to work on. This might sound like a great recipe for spectacular disaster, but it has worked for more than 5 years scaling to over 200 people for them. One of the rules they have is that you can not work on something alone. So if you have a great idea and you can find at least one or two other people you can start a team.
A great quote by Ryan Tomayko on his blog post about the management style at Github sums it all up: >Telling people what to do is lazy. Instead, try to convince them with argument. This is how humans interact when there’s no artificial authority structure and it works great. If you can’t convince people through argument then maybe you shouldn’t be doing it.
So what about all the necessary, but not so sexy, work that needs to be done? Turns out there are people that actually like doing that stuff and that employees can strike a very good balance between good-for-company and good-for-employee things.
Hours are bullshit
One of their first engineering hires, Zach Holman has a great set of blog posts on how Github works, the first one of which is called Hours Are Bullshit. ‘Hours worked’ is a great approximation of productivity for manual labor, but it is a terrible one for knowledge work.
But they go further then just allow you to set your own working hours. As mentioned in the second instalment of ‘Inside Github’ called Flexible Hours (5:00 min) they have an unlimited vacation policy.
How do you prevent people from cheating or taking advantage of it I hear you ask?
The best quote from that video explains that: > Our biggest challenge is turning it off. If you can work all the time and you love what you do, some people work all the time.
In short. Hire smart & motivated people and trust and support them to get on with their job.
In his book The Creative Economy: How People Make Money from Ideas John Howkins describes how we are moving from a manufacturing economy to one based on ideas. Github respects creativity in a number of ways:
Well, hardly any meetings. There are 2 reasons to have a face to face meeting. To discuss strategy and to socialise. Paul Graham of Y-combinator fame wrote a brilliant piece on the Maker’s Schedule which explains that creating anything requires large blocks of uninterrupted time. At Github any other communication happens on-line.
Everyone is a designer
At Github, everyone is a product designer, no matter what your skill is. Everyone is working on improving the products the way they see fit. The reason that doesn’t turn into complete chaos is a) that they have a very clear purpose and b) have constant dialogs what should go in or not.
Be comfortable with failure
Which brings me to the next point. They try a lot of stuff. And not all of that is going to work out. Accept that. We are conditioned from primary school onwards that there is only 1 right answer and that failure is bad.
However, the only sure way to increase the amount of successes you have is to increase the total things you try.
Optimize for Happiness
The Github philosophy is that happy employees make great products, which attracts paying users, which leads to more money to invest in happier employees.
Tom Preston-Werner, Founder & CEO, has some great slides on Optimizing for Happiness.
Will it work for you?
I can already hear people thinking: “That’s great, but Github is a smallish IT product company, this would never work in [insert industry]”.
First of all, 250 is not small and secondly they are working very consciously on their culture and their company structure. Zach Holman, who wrote the original ‘How we work at Github’ series of blog posts recently did a talk called: “How we (no longer) work at Github.”. Parts of it are very technical, but still a great talk that shows the care for their company.
You too can have an amazing culture if you would invest enough time, money and most importantly attention. The question is will you?
- Freedom • Inside GitHub (Video)
- Flexible Hours • Inside GitHub (Video)
- Optimizing for Happiness (Slides)
- Show How, Don’t Tell What - A Management Style (Blog)
- Your team should work like an open source project (Blog)
- GitHub Quick Facts (PDF)
- How GitHub Works: Hours are Bullshit (Blog)
- How GitHub Works: Be Asynchronous (Blog)
- How GitHub Works: Creativity is Important (Blog)
- Scaling GitHub’s Employees (Blog)
- Product design at GitHub (Blog)
- About Github (Website)
- Inside GitHub’s Super-Lean Management Strategy–And How It Drives Innovation (Blog)