top | item 1804443

Ask Tom Preston-Werner, cofounder of GitHub, anything Today, Mon 18 Oct 2010.

144 points| mojombo | 15 years ago | reply

Two days ago I had the pleasure of speaking at Startup School. Never before have I see such a high concentration of smart ambitious people in one place.

I've posted a followup on my blog at http://tom.preston-werner.com/2010/10/18/optimize-for-happiness.html that covers some of the ideas I introduced in more detail.

Since I only had about 25 minutes for the talk and 5 minutes for questions, I wanted to make myself available for additional questions. So today I'll be answering any questions you have here on Hacker News.

Ask away!

139 comments

order
[+] alok-g|15 years ago|reply
Working fulltime for Powerset, how did you avert any potential IP issues with Powerset? Employee contracts for just about any big tech company includes provisions that automatically makes all types of IP (including inventions and copyrights) developed by the employee belong to the company. This applies even if the work is done completely on the sides and outside work hours.

California specifically has laws that allow employees to claim inventions of their own but still under terms that are more favorable to the employer (I can supply details). There's no help for copyrightable works, which would include software, or even a written plan for developing this software.

I certainly have this issue currently preventing me from doing any work to bootstrap while I am still employed. Most people I spoke to at SUS2010 who are working on side projects are completely unaware of the issue. Some are ignoring it thinking that it must somehow work out.

On the other hand, every successful founder I spoke to, either did not have this issue (founded right after school, etc.), or did not do any work before quitting (which they did either before or after securing funding).

[+] kneath|15 years ago|reply
ProTip: Just because someone puts a form in front of you doesn't mean you have to sign it :)

That form (release of inventions) scared me the first time I saw it (agency job) and I asked if I could just not sign it — they said that was fine. It's amazing how far you can get in life by just asking questions.

[+] staunch|15 years ago|reply
IANAL, but I believe in California you're pretty much safe if:

1) You only work on your own unpaid time and not in the company's facilities.

2) You only work with your own hardware/software.

3) You don't do anything even tangentially related to your employer's line of business.

I do not believe #3 is really a hard requirement, but it significantly decreases your chances getting sued (and losing if you do get sued anyway).

[+] alok-g|15 years ago|reply
Tom, I would like to thank you for giving us this opportunity (in addition to the beautiful talk you delivered at the school). While I am not fully confident that I'll be ABLE to optimize for happiness, I certainly got the message. Thanks again.
[+] PStamatiou|15 years ago|reply
Talk about how you started getting out into the community and connecting with real users. IE - how you got Github drinkups off the ground. As a company with a small but growing number of happy developers around our platform (notifo.com), we'd love to attempt something similar.

We are thinking about doing things like API contests to help grow the community as well as occasional meetups.

unrelated- whose idea was it to give away pappy van winkel? I recall some old contest you guys ran. Did that contest fare well.. how'd you publicize it? Sorry for all the questions!

[+] mojombo|15 years ago|reply
I used to go to a lot of Ruby meetups. While the talks were generally high quality, my favorite part was always going to the bar afterwards and talking with fellow coders about what got them excited. This is where new ideas really get started.

We decided that we wanted to take that part of the meetup and make it a first class citizen, so we started the GitHub Drinkups. If there's one thing that I've learned about leadership, it's that all people need in order to participate in something is an invitation.

So my advice is this: whatever you're thinking about doing, just do it. You'll find out quickly what does and does not work. If nobody comes to the meetup or nobody signs up for the contest, then shrug it off and figure out what you need to change in order to make it work.

I don't remember whose idea the Pappy was. We like to present GitHub as a fun, edgy company. This has worked out really well at getting the attention of early adopters. Giving out booze was a great way to point at the "establishment" and make fun of how stodgy and limiting they are.

[+] tlrobinson|15 years ago|reply
Indeed. GitHub has the mindshare to get a critical mass of people to their drinkups, but a lot of startups don't. But if those startups were to combine forces they might...

Proposal: GitHub used to do their San Francisco drinkup bi-weekly, now it's monthly. How about a bunch of smaller (popularity-wise) startups (or any project with a community) in SF fill in that gap?

This would also facilitate the "cross-polination" that GitHub drinkups achieve by bringing together different groups of people.

Cappuccino already has it's weekly "CPCoder Night" on Wednesdays but that's more sitting a cafe hacking and helping each other out with technical problems. I'd be happy to help organize something like I described above if people are interested (feel free to email me at the address in my profile if you're interested)

[+] ivankirigin|15 years ago|reply
The smartest people I know want to do their own startups. It is getting easier, so more people are doing it. How do you hire in the face of this issue?
[+] mojombo|15 years ago|reply
You do it by building a company so compelling that those people would rather join your company than start their own. You do this by optimizing for happiness and creating a culture that can't be ignored.
[+] bobf|15 years ago|reply
If you weren't at SUS2010 and are going to only watch a few of the talks, I would highly recommend Tom's talk (as well as Brian Chesky's). He was extremely engaging, and the content (bootstrapping - "Optimizing for happiness instead of money") was great.

Tom -- Across the industry, figures such as 1% paid accounts seem to be typically mentioned. What sort of ratio do you see on Github between paid/free accounts? Do you see any difference in that ratio internationally vs. domestically?

[+] mojombo|15 years ago|reply
It's higher than one percent, but we don't publicize those numbers. It's hard to compute the difference in ratio internationally vs. domestically because we only have the optional user specified location field to go off of.
[+] paulca|15 years ago|reply
Err the Blog had about 10,000 readers when GitHub launched and Chris and PJ already had a ton of users of their popular Rails plugins.

This was a huge audience to launch to. What advice would you give to people who want to dive in to their own company without trying to build up such a huge following before hand?

Is it madness to try to bootstrap without establishing an audience beforehand?

[+] mojombo|15 years ago|reply
I started Gravatar when I knew nobody and nobody knew me. It grew quite rapidly. The single most important lesson you can learn from GitHub and Gravatar is that virality and community can help turn any good idea into a huge success. Make something that people can use to show others how great they are. Kathy Sierra talks a lot about this concept. People love interacting with other people. Figure out how to make that work for your idea.
[+] Lewisham|15 years ago|reply
GitHub does a lot of amazing work, and you guys are all fabulous coders. However, when I've spoken to colleagues in person, there's a definite feeling that GitHub have a tendency to have some Not-Invented-Here syndrome: see CI Joe when Hudson was already mature and widely used. It seems like a lot of brain-cycles could have been saved and put elsewhere.

Do you think that's a fair comment? Is it something you think is necessarily negative?

[+] mojombo|15 years ago|reply
We don't put up with any bullshit. If the existing software out there displeases us, no matter how mature it is, we'll be tempted to build something better. This is how progress is made. It's possible that we're duplicating effort somewhere, but we all cherish the act of creation, and if we think we can improve upon the situation, we will. Sometimes just for the sheer joy of it.

I'd wager that pretty much everything you use today was considered an act of NIH by someone at some point in the past.

[+] busterbenson|15 years ago|reply
Hi Tom - I saw your talk (streamed) from Startup School, loved it, and also read Drive over the weekend. I'm currently strongly considering bootstrappping my new company (healthmonth.com) similarly to how you've done.

Are you willing to share a bit more detail about the timeline of the first year when you went from 2 people to ? people... when you hired, how much you spent on salaries versus how much you were making in revenue (exact numbers not required), and how certain you were that revenue would continue to grow at the pace required to support your staff.

Also, what were the "other means" by which you supported yourself until GitHub was able to support you? Your jobs? Or something else?

[+] mojombo|15 years ago|reply
It took three months to go from inception to private beta. We used an invite only system to introduce artificial scarcity and drive buzz on Twitter (each new signup got five invites to use). After six months we launched to the public and started charging for private repos. Because we had such a great beta period, we converted a large number of users that day and were making money immediately! For the next several months we put every dollar that we made into the company bank account and let it accrue.

One year after inception I was faced with a choice: take a full time position at Microsoft (Powerset had been acquired) or quit and go full time at GitHub. We were making enough money at GitHub to pay low salaries for the three cofounders and we decided to Hire Scott Chacon at the same time. So we went from zero to four full time salaries in one day, a year after starting it on the side.

Over the next six months we incrementally raised salaries for everyone as we hit specific revenue goals. So about 18 months after inception we were making decent salaries. We also hired Tekkub to do full time tech support in this timeframe. Our next hire was Melissa, our office manager a few months later.

As far as revenue at these milestones, we were always profitable. We only hired when we had the money to do so. For the first 18 months we didn't carry much balance in the bank account. We used it to hire great people.

Being a subscription service means that recurring revenue is extremely predictable. We've never had a month where revenue has dropped, and we can predict the increase in monthly revenue quite accurately as well. Growth has been surprisingly smooth (not spikey).

We now make money from GitHub.com, GitHub FI, Training, the Job Board, and merchandise.

[+] waxman|15 years ago|reply
What are your thoughts on non-technical founders (or early employees) at tech start-ups (like GitHub)?

Are there any non-technical people at GH? Would you consider hiring any? Why or why not?

(Full disclosure: I'm an engineer just coming off of a bad experience with a 'business' co-founder)

[+] mojombo|15 years ago|reply
I don't have any experience with non-technical cofounders, but I don't think that I'd start an internet company with one unless they were the absolutely most well connected, proven person that was going to be instrumental in getting us into a difficult to enter industry.

We only have one non-technical employee, our office manager Melissa. She's absolutely essential to the team. We have no plans to hire other non-technical people right now, but that doesn't mean that we won't in the future. Who we hire depends on what skills we need.

[+] swanson|15 years ago|reply
When are new Github tshirts coming?

What are your thoughts on the BitBucket/Atlassian deal?

Are there any new features coming soon that you can give us a sneak peek at? I'd personally like to see some kind of "looking for contributors" interface (similiar to OpenHatch), maybe even with recommended projects based on my repos or the repos I have watched in the past.

[+] mojombo|15 years ago|reply
The new shipment of Fork You shirts will arrive at our office today. We will get the inventory online right away!

The BitBucket/Atlassian deal is interesting. Especially the price points they think they need to establish in order to make their offering attractive. I really don't think about it too much, I'm too busy making GitHub the best place to collaborate on code!

We don't talk about planned features. We find that if you talk about what you're GOING to do, then people will just be angry that it's not finished yet. If you wait until you're done, then people will go crazy over the shiny new feature. Apple knows how this works. Judge for yourself which approach you think works better. =)

[+] jonursenbach|15 years ago|reply
We're currently using Redmine to keep track of tickets, but it's a bit of a pain having to manage it separately from our code in GH. Are you guys planning on overhauling your issues system to be as slick as everything else you offer?
[+] mojombo|15 years ago|reply
I can neither confirm nor deny that we're working on kickass improvements to GitHub Issues.
[+] vanstee|15 years ago|reply
Are you guys hiring? Also, what other startups do you think are on the same level of awesome as GitHub?
[+] mojombo|15 years ago|reply
We hire very slowly and very carefully. And we draw from our personal network first. The best way to get hired by GitHub is to be in San Francisco, come to the Drinkups, write awesome open source code or make insanely beautiful designs, and be a genuinely interesting and hard working person.

As for other startups, I don't really know firsthand the culture of many of them, but I do know the founders of CrowdFlower and they're amazing. And they're hiring. Go check them out.

[+] j_baker|15 years ago|reply
Why did you choose git instead of hg, bzr, fossil, etc?

Also, what do you see as the future of git? Where is git going?

[+] mojombo|15 years ago|reply
Git was the first distributed version control system that I spent any time with. It turned out that it was also the most elegant in construction and the most powerful in ability.

I think the future of Git is to become the technology on which really amazing, usable versioning and collaboration is built. Git the technology should be irrelevant to the end user. Git/GitHub the experience should be the best in the world. At least, that's the direction we intend to take it.

[+] javery|15 years ago|reply
One thing I love about GitHub is that you embrace NIH in a good way - lots of cool technology has come out of GitHub because you were unhappy with the current solutions out there. What else have you cooked up internally that you might release to the world one day?
[+] mojombo|15 years ago|reply
We have an awesome tool we call Haystack that we use to collect, categorize, and search exceptions and other notices. It uses MongoDB capped collections to keep the number of stored entries to a manageable level. "Needles" are simple JSON hashes and the views are customizable with Mustache. Exceptions can be rolled up based on a custom value provided by the producer. For instance, we roll up exceptions by filename and line number of origin. We use the hell out of it.

There are other projects, but nothing else that I'm able to talk about at the moment.

[+] csallen|15 years ago|reply
How do you decide what features to add or not add to Github? How much thinking, discussion, planning, design, research, etc go into each feature before coding begins?
[+] mojombo|15 years ago|reply
We look for features that we want to use ourselves. It's usually quite apparent what areas of the site need some love or where entire features are missing. The things that get implemented are the things that are important enough for someone on the team to actually sit down and start working on. If you want a feature badly enough, you'll go build it. It turns out that this is a great filter for what is worthwhile.

Some features (like Pull Requests 2.0) spend many months in development before they're launched. PRs took about 8 months of off and on work before they were ready. Pressure from other team members will often serve as a catalyst for the implementors to finish what they started.

More strategic decisions often bubble up to the founders and we'll make a final decision on whether we need to hire additional people to make things happen faster.

[+] quizbiz|15 years ago|reply
Can you share details about some critical decisions you made that led to the success of Github?
[+] mojombo|15 years ago|reply
Making the user the namespace for code instead of the project.

Growing slowly and embracing the constraints of a limited budget in the early days.

Hiring only the absolute best people that we could find. Hiring people that we knew through their code. Making sure they were good cultural fits.

Not getting an office until two years after we started GitHub. Campfire was our office in the meantime and that let us put what money we did have into hiring the best people.

Always thinking for ourselves.

[+] brown9-2|15 years ago|reply
Any decisions in these past 3 years you regret?
[+] mojombo|15 years ago|reply
Not really. Any mistakes we made were learning experiences and we fixed them. The only regrettable decisions are those that you let control you.
[+] julien|15 years ago|reply
DO you see Github as an "open web" player? What would you think if someone built tools to federate Github and Gitorious, or unfuddle? Would you help them?
[+] mojombo|15 years ago|reply
I want all of the data on GitHub to be open. We recently made our wiki system Git-backed so that users could get their data. I want to do the same for Issues and comments and everything else. These things take time.

I'm not really sure what you mean by "federate Github and Gitorious, or unfuddle".

[+] jcnnghm|15 years ago|reply
How has being a founder of such a successful service affected your personal life?
[+] mojombo|15 years ago|reply
Not really that much. More people recognize me and say hello at tech events. I get invited to more conferences and get to travel a lot more than I ever have before. I can easily get meetings with influential people in the industry and VCs buy me dinner from time to time.

Other than that, I still do all the same things I did before, hang out with my wife and friends, and my favorite meal is still tater tots and a vegetarian spicy sausage with sauerkraut and yellow mustard.

[+] busterbenson|15 years ago|reply
To what extent to you implement ROWE: http://en.wikipedia.org/wiki/ROWE

It sounds like you have a few of these qualities... choosing your work hours, for example... but what about measuring results. Do you have any specific tips on how to measure results without getting too confused or attached to the a new incorrect metric?

[+] mojombo|15 years ago|reply
We implement some of the concepts of ROWE, but we don't really measure results in any quantifiable way. We hire the best, most driven people we can and give them the means to produce awesome things. So far so good!