Ask Tom Preston-Werner, cofounder of GitHub, anything Today, Mon 18 Oct 2010.
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!
143 comments
[ 2.8 ms ] story [ 203 ms ] threadAre 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?
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.
Think the intelligence community, military, state, fbi, etc...anyone who has a "secret" network.
There's no way CIA is going to use github private repos(1), but having a github on their various networks is possible with FI.
(1) - they might use private repos for insensitive apps, but they wouldn't be allowed to do anything with a classification on a private repo.
Hosted plans work great for a bunch of companies, and self-hosted installs work great for a bunch of companies. Might as well help out both. :)
Any pointers for dealing with cases when the people you work with turn out not to be "reasonable"?
(I ask because I tend to find that soft-skill management issues are where I'm lacking in expertise)
So far we haven't hired anyone that has been "unreasonable." I hope that we never do. In past jobs, I have had to deal with unreasonable people. That is one reason I was drawn to being an entrepreneur. So I wouldn't have to do that anymore.
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.
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. =)
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!
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.
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)
If there is enough interest in this from other local startups, I'll setup some google group where we can discuss logistics/planning.
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?
I'm always surprised at how many people have heard of GitHub in other countries. I think it shows how successful virality can be. We plant the seeds of GitHub usage in foreign countries through conference talks and drinkups, and the people that attend become patient zeros for the spread of Git/GitHub in those locales.
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.
Also, thanks for the very inspiring talk at Startup School.
In the future, participating in open source will be the best way to land a great job. When employers see that you have a demonstrable ability to code and work well in a team, you have a MUCH more likely chance of getting that interview and impressing the right people at that company you'd kill to work for.
8=============D~~~
Also, what do you see as the future of git? Where is git going?
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.
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)
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.
There are other projects, but nothing else that I'm able to talk about at the moment.
Do you think that's a fair comment? Is it something you think is necessarily negative?
I'd wager that pretty much everything you use today was considered an act of NIH by someone at some point in the past.
What would you say is the best way to monetize your open-source product?
I know of a lot of places that do well with providing support and consulting for their open source offerings, but that doesn't scale as well as something that you can charge for on a recurring basis and that doesn't derive directly from butts in seats.
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.
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.