Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
How GitHub Builds Products
Search
Brent Beer
October 01, 2013
Technology
2
180
How GitHub Builds Products
Given at GoToAarhus 2013.
Brent Beer
October 01, 2013
Tweet
Share
More Decks by Brent Beer
See All by Brent Beer
How GitHub Does Devops
brntbeer
0
170
Tips and Tricks: Gotta Git Them All
brntbeer
3
530
Pull Request, code review and the GitHub Flow
brntbeer
0
240
Everything I wish I knew when I started using GitHub
brntbeer
1
7.3k
Fast Deployment and Monitoring For HelsinkiJS
brntbeer
1
270
Fast Deployment and Monitoring
brntbeer
1
120
Collaboration Behind your Firewall
brntbeer
0
58
Collaborative Teaching for More Effective Learning
brntbeer
1
180
Other Decks in Technology
See All in Technology
自社 200 記事を元に整理した読みやすいテックブログを書くための Tips 集
masakihirose
2
340
メンバーがオーナーシップを発揮しやすいチームづくり
ham0215
2
190
AWS re:Invent 2024 recap in 20min / JAWSUG 千葉 2025.1.14
shimy
1
100
2025年に挑戦したいこと
molmolken
0
170
コロプラのオンボーディングを採用から語りたい
colopl
5
1.3k
Kotlin Multiplatformのポテンシャル
recruitengineers
PRO
2
150
技術に触れたり、顔を出そう
maruto
1
160
Cloudflareで実現する AIエージェント ワークフロー基盤
kmd09
0
290
iPadOS18でフローティングタブバーを解除してみた
sansantech
PRO
1
150
PaaSの歴史と、 アプリケーションプラットフォームのこれから
jacopen
7
1.5k
CDKのコードレビューを楽にするパッケージcdk-mentorを作ってみた/cdk-mentor
tomoki10
0
210
Unsafe.BitCast のすゝめ。
nenonaninu
0
200
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
46
7.2k
Building Your Own Lightsaber
phodgson
104
6.2k
How to Ace a Technical Interview
jacobian
276
23k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Writing Fast Ruby
sferik
628
61k
Documentation Writing (for coders)
carmenintech
67
4.5k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Optimizing for Happiness
mojombo
376
70k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
4 Signs Your Business is Dying
shpigford
182
22k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Transcript
How GitHub Builds Products
What is GitHub?
Best place to design, build, and ship software
We started out just hacking on problems that we had
with developing software
We've kept that mentality; you should be able to work
on cool things that interest you
This is how we hire
This is how we move between roles
This is how we build products and software
Use the community for what they're good at Lesson 1:
"Simple: at GitHub we hire 'The Girl or Guy Who
Wrote X,' where X is an awesome project we all use or admire. What's your X?" - Chris Wanstrath
We built a lot of GitHub on existing open source
Or we open sourced almost everything we built in the
process
Grit
Grit Ernie
Grit Ernie Resque
Grit Ernie Resque Hubot
Grit Ernie Resque Hubot Boxen
Grit Ernie Resque Hubot Boxen Albino
Grit Ernie Resque Hubot Boxen Albino Akavanche
Grit Ernie Resque Hubot Boxen Albino Linguist Akavanche
Grit Ernie Resque Hubot Boxen Albino Linguist Shimmer Akavanche
Grit Ernie Resque Hubot Boxen Albino Linguist Shimmer Akavanche ETC
We need these projects to run our company, why not
share them!
Now we can see who would work on them with
us
We not only open source things, but use others' open
source as well
Rails' success comes from the community, how much people loved
it, and how much they want to use it
People within the community either worked on Rails itself, or
gems that became essential for many projects
They sound like people we can get along with!
It's also super easy to evaluate their code and what
working with them would be like by seeing their commits on existing projects
Rick "Risk Danger" Olson TECHNOWEENIE
None
attachment_fu
attachment_fu acts_as_authenticated
attachment_fu acts_as_authenticated restful-authentication
attachment_fu acts_as_authenticated restful-authentication Beast and Mophisto
attachment_fu acts_as_authenticated restful-authentication Beast and Mephisto Rails
Early work within the rails community made him stand out.
His code interested us and we used some of it too!
Josh Peek Josh
rack
rack rack-mount
rack rack-mount rack-ssl
rack rack-mount rack-ssl tilt
rack rack-mount rack-ssl tilt Rails
Not only were they working on the tools that drove
our company, they contributed to employees' open source projects as well
If you're going to hire people to work on your
products, it helps if they're already working on open source parts of that product
Let your employees find things they love working on, and
see them grow into roles they love Lesson 2:
3D printed objects
None
None
None
"But we don't have a 3D printer. So we should
get one. That's everything." -Mike Skalnik
2 weeks later a printer showed up
"This is great! I can print real things!"
None
None
None
Things slow down when you have over 180 employees trying
to print something
Mike Skalnik (@skalnik) proposes coming into the office on a
Saturday to work on Hubot integration
Slava Shirokov (@sshirokov) also came into the office to help
Hubot integration done, camera set up to view it, amazing
What if we could collaborate on these models before we
finalize them?
What platform would be good to collaborate on?
Render
None
A few people had an interest in 3d models; it
turned into rendering on GitHub for everyone
Sean Bryant (@sbryant) has been helping a lot lately too.
None
Add Ben Balter (@benbalter). "Let's work with MapBox to show
map data on github.com"
Showing maps in repositories
None
None
None
Points of interest in a city
Points of interest in a city Good wifi locations
Points of interest in a city Good wifi locations Political
districts
Points of interest in a city Good wifi locations Political
districts Fire hydrants
Small hack projects can turn into amazing new features
Let your employees work on things that interest them. They'll
pour so much passion into it.
See a problem within an app you use, start to
fix it slowly. Then iterate often and turn it into a full product Lesson 3:
None
We love building things ourselves
You don't always have the luxury of time to do
this
You don't always have the luxury of time to do
this
It may end up cheaper to use an existing product
As you grow, this may start to not be true
You'll notice pain in using it. And you'll deal with
it
But then you can't deal with it
We started making really small changes. Just to increase some
efficiency.
Efficiency went up for a while, then our user base
grew faster and we had more issues
Well, they have an API. Why don't we use that?
Still using them as a database and application server
Still have some problems
Maybe we could ask the company for more help
Eventually we would want customization Maybe we could ask the
company for more help
We realized we should just hire more people for this
None
Support
Developers
It may take a few iterations, but you can have
your cake and eat it too
Build for need as it arrises instead of just putting
all your eggs in one basket from the start
How does GitHub Build Products?
Find people who share your interest or are already helping
you
Allow people to explore new horizons and find new interest.
It'll pay off for you in the end one way or another
Start small, iterate fast, and keep doing the smallest thing
possible to ship something that works
Thank you
[email protected]
@brntbeer Start Building Brent Beer
References Who we hire - http://ozmm.org/posts/who_we_hire.html Open Source Almost Everything
-http://tom.preston-werner.com/2011/11/22/open- source-everything.html How to Open Source a Project - https://gist.github.com/atmos/6631554 Slides - http://bit.ly/GH-products-aar13