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
Spring Frameworkの新標準!? ~ RestClientとHTTPインターフェース入門 ~
ogiwarat
1
190
VPC間の接続方法を整理してみた #自治体クラウド勉強会
non97
1
970
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
290k
大規模データ基盤チームのオンプレTiDB運用への挑戦 / dpu-tidb
cyberagentdevelopers
PRO
1
110
[JAWS-UG金沢支部×コンテナ支部合同企画]コンテナとは何か
furuton
3
320
生成AIとAWS CDKで実現! 自社ブログレビューの効率化
ymae
2
400
ガチ勢によるPipeCD運用大全〜滑らかなCI/CDを添えて〜 / ai-pipecd-encyclopedia
cyberagentdevelopers
PRO
3
230
成長中のFanTech領域におけるBiomeを活用したCIの高速化 / fantech-web-biome
cyberagentdevelopers
PRO
2
100
Commitment vs Harrisonism - Keynote for Scrum Niseko 2024
miholovesq
6
1.3k
ジョブマッチングサービスにおける相互推薦システムの応用事例と課題
hakubishin3
2
440
生成AIと知識グラフの相互利用に基づく文書解析
koujikozaki
1
150
スプリントゴールにチームの状態も設定する背景とその効果 / Team state in sprint goals why and impact
kakehashi
2
120
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
The Art of Programming - Codeland 2020
erikaheidi
51
13k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
32
1.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
167
49k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Optimizing for Happiness
mojombo
376
69k
Statistics for Hackers
jakevdp
796
220k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
Docker and Python
trallard
40
3.1k
Making Projects Easy
brettharned
115
5.9k
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