Slide 1

Slide 1 text

How GitHub Builds Products 

Slide 2

Slide 2 text

What is GitHub?

Slide 3

Slide 3 text

Best place to design, build, and ship software

Slide 4

Slide 4 text

We started out just hacking on problems that we had with developing software

Slide 5

Slide 5 text

We've kept that mentality; you should be able to work on cool things that interest you

Slide 6

Slide 6 text

This is how we hire

Slide 7

Slide 7 text

This is how we move between roles

Slide 8

Slide 8 text

This is how we build products and software

Slide 9

Slide 9 text

Use the community for what they're good at Lesson 1:

Slide 10

Slide 10 text

"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

Slide 11

Slide 11 text

We built a lot of GitHub on existing open source

Slide 12

Slide 12 text

Or we open sourced almost everything we built in the process

Slide 13

Slide 13 text

Grit

Slide 14

Slide 14 text

Grit Ernie

Slide 15

Slide 15 text

Grit Ernie Resque

Slide 16

Slide 16 text

Grit Ernie Resque Hubot

Slide 17

Slide 17 text

Grit Ernie Resque Hubot Boxen

Slide 18

Slide 18 text

Grit Ernie Resque Hubot Boxen Albino

Slide 19

Slide 19 text

Grit Ernie Resque Hubot Boxen Albino Akavanche

Slide 20

Slide 20 text

Grit Ernie Resque Hubot Boxen Albino Linguist Akavanche

Slide 21

Slide 21 text

Grit Ernie Resque Hubot Boxen Albino Linguist Shimmer Akavanche

Slide 22

Slide 22 text

Grit Ernie Resque Hubot Boxen Albino Linguist Shimmer Akavanche ETC

Slide 23

Slide 23 text

We need these projects to run our company, why not share them!

Slide 24

Slide 24 text

Now we can see who would work on them with us

Slide 25

Slide 25 text

We not only open source things, but use others' open source as well

Slide 26

Slide 26 text

Rails' success comes from the community, how much people loved it, and how much they want to use it

Slide 27

Slide 27 text

People within the community either worked on Rails itself, or gems that became essential for many projects

Slide 28

Slide 28 text

They sound like people we can get along with!

Slide 29

Slide 29 text

It's also super easy to evaluate their code and what working with them would be like by seeing their commits on existing projects

Slide 30

Slide 30 text

Rick "Risk Danger" Olson TECHNOWEENIE

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

attachment_fu

Slide 33

Slide 33 text

attachment_fu acts_as_authenticated

Slide 34

Slide 34 text

attachment_fu acts_as_authenticated restful-authentication

Slide 35

Slide 35 text

attachment_fu acts_as_authenticated restful-authentication Beast and Mophisto

Slide 36

Slide 36 text

attachment_fu acts_as_authenticated restful-authentication Beast and Mephisto Rails

Slide 37

Slide 37 text

Early work within the rails community made him stand out. His code interested us and we used some of it too!

Slide 38

Slide 38 text

Josh Peek Josh

Slide 39

Slide 39 text

rack

Slide 40

Slide 40 text

rack rack-mount

Slide 41

Slide 41 text

rack rack-mount rack-ssl

Slide 42

Slide 42 text

rack rack-mount rack-ssl tilt

Slide 43

Slide 43 text

rack rack-mount rack-ssl tilt Rails

Slide 44

Slide 44 text

Not only were they working on the tools that drove our company, they contributed to employees' open source projects as well

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

Let your employees find things they love working on, and see them grow into roles they love Lesson 2:

Slide 47

Slide 47 text

3D printed objects

Slide 48

Slide 48 text

No content

Slide 49

Slide 49 text

No content

Slide 50

Slide 50 text

No content

Slide 51

Slide 51 text

"But we don't have a 3D printer. So we should get one. That's everything." -Mike Skalnik

Slide 52

Slide 52 text

2 weeks later a printer showed up

Slide 53

Slide 53 text

"This is great! I can print real things!"

Slide 54

Slide 54 text

No content

Slide 55

Slide 55 text

No content

Slide 56

Slide 56 text

No content

Slide 57

Slide 57 text

Things slow down when you have over 180 employees trying to print something

Slide 58

Slide 58 text

Mike Skalnik (@skalnik) proposes coming into the office on a Saturday to work on Hubot integration

Slide 59

Slide 59 text

Slava Shirokov (@sshirokov) also came into the office to help

Slide 60

Slide 60 text

Hubot integration done, camera set up to view it, amazing

Slide 61

Slide 61 text

What if we could collaborate on these models before we finalize them?

Slide 62

Slide 62 text

What platform would be good to collaborate on?

Slide 63

Slide 63 text

Render

Slide 64

Slide 64 text

No content

Slide 65

Slide 65 text

A few people had an interest in 3d models; it turned into rendering on GitHub for everyone

Slide 66

Slide 66 text

Sean Bryant (@sbryant) has been helping a lot lately too.

Slide 67

Slide 67 text

No content

Slide 68

Slide 68 text

Add Ben Balter (@benbalter). "Let's work with MapBox to show map data on github.com"

Slide 69

Slide 69 text

Showing maps in repositories

Slide 70

Slide 70 text

No content

Slide 71

Slide 71 text

No content

Slide 72

Slide 72 text

No content

Slide 73

Slide 73 text

Points of interest in a city

Slide 74

Slide 74 text

Points of interest in a city Good wifi locations

Slide 75

Slide 75 text

Points of interest in a city Good wifi locations Political districts

Slide 76

Slide 76 text

Points of interest in a city Good wifi locations Political districts Fire hydrants

Slide 77

Slide 77 text

Small hack projects can turn into amazing new features

Slide 78

Slide 78 text

Let your employees work on things that interest them. They'll pour so much passion into it.

Slide 79

Slide 79 text

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:

Slide 80

Slide 80 text

No content

Slide 81

Slide 81 text

We love building things ourselves

Slide 82

Slide 82 text

You don't always have the luxury of time to do this

Slide 83

Slide 83 text

You don't always have the luxury of time to do this

Slide 84

Slide 84 text

It may end up cheaper to use an existing product

Slide 85

Slide 85 text

As you grow, this may start to not be true

Slide 86

Slide 86 text

You'll notice pain in using it. And you'll deal with it

Slide 87

Slide 87 text

But then you can't deal with it

Slide 88

Slide 88 text

We started making really small changes. Just to increase some efficiency.

Slide 89

Slide 89 text

Efficiency went up for a while, then our user base grew faster and we had more issues 

Slide 90

Slide 90 text

Well, they have an API. Why don't we use that?

Slide 91

Slide 91 text

Still using them as a database and application server

Slide 92

Slide 92 text

Still have some problems

Slide 93

Slide 93 text

Maybe we could ask the company for more help

Slide 94

Slide 94 text

Eventually we would want customization Maybe we could ask the company for more help

Slide 95

Slide 95 text

We realized we should just hire more people for this

Slide 96

Slide 96 text

No content

Slide 97

Slide 97 text

Support

Slide 98

Slide 98 text

Developers

Slide 99

Slide 99 text

It may take a few iterations, but you can have your cake and eat it too

Slide 100

Slide 100 text

Build for need as it arrises instead of just putting all your eggs in one basket from the start

Slide 101

Slide 101 text

How does GitHub Build Products?

Slide 102

Slide 102 text

Find people who share your interest or are already helping you

Slide 103

Slide 103 text

Allow people to explore new horizons and find new interest. It'll pay off for you in the end one way or another

Slide 104

Slide 104 text

Start small, iterate fast, and keep doing the smallest thing possible to ship something that works

Slide 105

Slide 105 text

Thank you [email protected] @brntbeer Start Building Brent Beer

Slide 106

Slide 106 text

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