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
500
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
Commitment vs Harrisonism - Keynote for Scrum Niseko 2024
miholovesq
6
1.6k
Microsoft Intune アプリのトラブルシューティング
sophiakunii
1
370
「視座」の上げ方が成人発達理論にわかりやすくまとまってた / think_ perspective_hidden_dimensions
shuzon
2
15k
AI長期記憶システム構築のための LLMマルチエージェントの取り組み / Awarefy-LLM-Multi-Agent
iktakahiro
2
280
mikroBus HAT を用いた簡易ベアメタル開発
tarotene
0
230
Redmine 6.0 新機能評価ガイド
vividtone
0
160
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
0
1.1k
株式会社ドクターズプライム 会社紹介資料 - エンジニア向け
drsprime
0
270
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
9
120k
20241108_CS_LLMMT
shigashiyama
0
220
Spring Frameworkの新標準!? ~ RestClientとHTTPインターフェース入門 ~
ogiwarat
2
240
OCI Data Integration技術情報 / ocidi_technical_jp
oracle4engineer
PRO
1
2.6k
Featured
See All Featured
The Cult of Friendly URLs
andyhume
78
6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
2k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
360
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Gamification - CAS2011
davidbonilla
80
5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
810
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
231
17k
Writing Fast Ruby
sferik
627
61k
Documentation Writing (for coders)
carmenintech
65
4.4k
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