Blog Friends RSS About

How github works

7 October, 2013

I have always been curious about remote team.

  • How to communicated with each other?
  • How to code review?
  • How to build a team?

This afternoon, I found an refreshing presention, made by Zach Holman’s, founder of Github. He introduced the great work way in Github team.

That’s cool!

Below are some digest.

1 Hours are bullshit

you can’t force creativity to happen between 9 to 5.

the best solutions happen when you are in the zone. you are focusing on what you are doing.

We enbrace flexibility, early birds, night owls, international employees and so on.

Happy, Fresh and Creative

We want to get the best work from our employees. That happens when they are happey, fresh and creative.

Be a family company

Happy families, happy coworkers. Happy coworkes, productive companies.

They love their kids, they love their wife. The family is the best support. When they come back, they are really happy, and code better.

Trust your employees

  1. Your hired them , then trust them.

  2. Verify they are doing the work

    • are they committing ?
    • are they participating ?
    • what’s their code look like ?

2 Be Asynchronous

This is the the most favourite part in github. As the name suggests, asynchronous is a distributed way to getting things down.

Geographically distributed

The world is Larger than just San Francisso. We want to hire the best.

Attention aware

We want developers in the zone (more focus, less distracts)

  1. no technical meetings

    no standup, daily or planning meeting

  2. no in-person distractions

    instead of email or chat

  3. no managers

    they just distract

Team oriented

We have lots of teams now. We let teams in charge of everthing, such as goals of product, marketing, direction of longterm.

Small team let us move quickly and independently.

It’s great.


Minimal Process

People hates lots of process.

  1. show it ASAP

  2. manage ideas

    git flow

  3. Simple Branching

    git flow

3 Optimize for Happiness

what leads to unhappiness and how to fix it ?

  1. exploration
* encourge exployees to participate side projects side projects * keep everyone learing, free kindles, books , lessons and so on. * speak at a conference * marketing for github * meet people for potential hires or technical socializing. We want everybody personally growing
  1. freedom
* no set hours * no manager * no meetings * no need to be in office * no vocation tracking
  1. self-direction

    • work on things that intrest you.

    • we have teams, but teams should be easy to move between.

In short, keep your employees really really rellay…HAPPY!

4 video

5 Reference

  1. Hours are bullshit

  2. Be Asynchronous

  3. Creativity is Important