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
510
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
56
Collaborative Teaching for More Effective Learning
brntbeer
1
180
Other Decks in Technology
See All in Technology
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
TypeScript、上達の瞬間
sadnessojisan
46
13k
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
170
[FOSS4G 2024 Japan LT] LLMを使ってGISデータ解析を自動化したい!
nssv
1
210
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
740
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
360
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
AGIについてChatGPTに聞いてみた
blueb
0
130
Why does continuous profiling matter to developers? #appdevelopercon
salaboy
0
180
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
380
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
380
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
210
Featured
See All Featured
Building Your Own Lightsaber
phodgson
103
6.1k
Code Reviewing Like a Champion
maltzj
520
39k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
The Pragmatic Product Professional
lauravandoore
31
6.3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
860
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
A designer walks into a library…
pauljervisheath
203
24k
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