DBTV Dev Blog

Talk is cheap. Show me the code.

Ruby Patterns From Github's Codebase by @holman

github-deck-sshot

Zach Holman gives insights on some of github’s ruby patterns in a recent presentation about scalling github by focusing on people.

tl;dr Make your app “newbie-proof”

Zach says, “focusing on improving documentation, optimizing the first-run experience, splitting out our API as Sinatra apps, and being careful about how we ship” has helped github scale dramatically.

github-deck-sshot

Zack says “your company is going to have TONS OF SUCCESS which means you’ll have to hire TONS OF PEOPLE.” He explains how github makes their app “newbie-proof” by using script/bootstrap they make it quick and easy to step into an unfamiliar app.

github-deck-sshot

They add script/cibuild to most projects to make sure the environment is quick and easy to set up.

github-deck-sshot

Github uses 30 smaller sinatra apps to create v3 of their API.

github-deck-sshot

The simplistic syntax of Sinatra lends itself natually for an API.

github-deck-sshot

Zach says every method has 3-6 lines of documentation.

github-deck-sshot

As you grow larger, it’s harder to understand your entire app. By using tomdoc.org for internal API documentation your developers can make changes without fearing they will break something.

github-deck-sshot

Code is all about working with people.

github-deck-sshot

Github has 60+ employes working in 200+ repositories so it’s great to see advice from someone who has lived though scaling a small startup to become one of the most popular tools for developers.

View the FULL PRESENTATION by @holman on SpeakerDeck or his blog.