Live data from Hacker News

Scaling GitHub

zachholman.com

41–50 of 69 posts

Re: Scaling GitHub

#42
post #35

Github is a bit special but I guess this can work every time you have a few basic ingredients: a product that has final customers (no busines-to-business), and a company that is completely focused in developing this single product. It is not very common but also not rare either for web startups to have this kind of setup, so I think this may work for many... of course a fundamental thing here is that they hire smart…

I think saying that GitHub is a special case is a copout. The real meaning of this presentation is that if you treat your employees well and let them do their job, they'll build great stuff.

Yes, not all companies will have the same success as GitHub with this approach, but I bet for most it would be a huge improvement over what they have now.

Re: Scaling GitHub

#43
post #40

Earlier quoted context omitted.

Well first I said I was in a bad mood. More seriously, scaling is not simple. Yes products have been introduced or have evolved and simplified greatly the task. But saying that scaling is simple is simply not true. Not everybody do simple web apps, some require very heavy processing behind the scene, Hadoop/ MapReduce operations that have to return complex results in memory constrained environment and all that while…

Reddit is a top 200 site. They do over two billion pageviews/month. A lot of their pages are loading 1,000+ nested replies. They use Postgres as their primary datastore. Scaling is a solved problem until you're huge if you're not doing something really avante-garde.

> A lot of their pages are loading 1,000+ nested replies.

Reddit only shows 200 comments by default. It also used to be you needed Reddit gold to even show 1,000 on the page when it first loads.

Re: Scaling GitHub

#44
post #40

Earlier quoted context omitted.

Well first I said I was in a bad mood. More seriously, scaling is not simple. Yes products have been introduced or have evolved and simplified greatly the task. But saying that scaling is simple is simply not true. Not everybody do simple web apps, some require very heavy processing behind the scene, Hadoop/ MapReduce operations that have to return complex results in memory constrained environment and all that while…

Reddit is a top 200 site. They do over two billion pageviews/month. A lot of their pages are loading 1,000+ nested replies. They use Postgres as their primary datastore. Scaling is a solved problem until you're huge if you're not doing something really avante-garde.

> A lot of their pages are loading 1,000+ nested replies.

Reddit only shows 200 comments by default. It also used to be you needed Reddit gold to even show 1,000 on the page when it first loads, not sure if you still do (my gold expired)

Re: Scaling GitHub

#45
post #31
post #21

I once worked at a "startup" that was the anti-culture. It hired a programmer after the current team had turned them down. That person was hired b/c she was a recommendation from of the VPs friends. At one point, we had more "Managers" in the company than people to manage...needless to say, no one got anything done. I think most companies don't realize that businesses are always about people; they are composed of peo…

The moment you hire someone who is average or doesn't fit, the entire work force degrades gradually. I agree, as long as you're talking about a socially conservative work force. There are plenty of companies comprised and tolerant of unique people. This doesn't make anybody "average," either, and I'd venture that the less tolerant of outsiders a workgroup is, the more average they are. They're certainly insulating th…

I think he was talking about average in terms of talent while you seem to be thinking in terms of social norms.

The way I've seen is put is: A's hire A's and B's hire C's (couldn't find the original source of that)

Highly talented people like to hire other highly talented people. They recognize that they will learn from them and the team will be better. Average people (the B's) will often hire other average people or less talented people. Have heard it explained as they're less secure and more protective, or that their criteria is more generalized and less stringent.

Re: Scaling GitHub

#46
post #41

Earlier quoted context omitted.

http://graphite.wikidot.com/

What about for the dashboards, like on slide 63? Is that generated by Graphite as well?

Just basic HTML/CSS/Javascript built around the Graphite JSON APIs. We have Hubot integration to build graphs on demand through commands in Campfire, a Graph Store to save graph configurations, and static HTML pages that arrange these graphs nicely.

Re: Scaling GitHub

#47
post #31

Earlier quoted context omitted.

The moment you hire someone who is average or doesn't fit, the entire work force degrades gradually. I agree, as long as you're talking about a socially conservative work force. There are plenty of companies comprised and tolerant of unique people. This doesn't make anybody "average," either, and I'd venture that the less tolerant of outsiders a workgroup is, the more average they are. They're certainly insulating th…

I think he was talking about average in terms of talent while you seem to be thinking in terms of social norms. The way I've seen is put is: A's hire A's and B's hire C's (couldn't find the original source of that) Highly talented people like to hire other highly talented people. They recognize that they will learn from them and the team will be better. Average people (the B's) will often hire other average people or…

A's hire A's and B's hire C's

OK, now define "talented."

Re: Scaling GitHub

#48
post #16

I'm usually wary of Holman's presentations and writing. GitHub is such a unique, special place — an engineering company with a product engineers use and are devoted to. This presentation is pretty good and has some good tenets. However, I have trouble believing that all of these ideals will work when you have a PM screaming at your engineers to finish the internal CRM system, or something else that engineers must wor…

GH is a special case. They're darlings of the tech community, and they throw a ton of events. Even if they were crappy to work for they would probably have an easy time hiring. THAT SAID, "finishing the internal CRM system" is a problem that happens in organizations an order of magnitude larger, methinks. My finishing platitude is, how did you hire - and why do you retain - engineers that don't give a shit about the…

I work on several projects that I have never used. However, my employer doesn't completely shield me from people who do use it. At least for me, the satisfaction comes from interacting with people who the project helps and seeing how it helps them.

I think part of why (some)? engineers may not give a shit about the project they're working on isn't necessarily because they have no interest in it, but because they haven't met anyone with an interest in it. In github's case, it just happens to be themselves.

I like to know what I'm doing actually matters. Meeting people my stuff impacts helps with that.

Re: Scaling GitHub

#49
post #8

One thing the slides mention in passing that I cannot stress the usefulness of enough is an internal wiki. There are so many common tips, issues, ideas, etc. that can be more effectively communicated and expanded upon when they're in a centralized location for all to see. So many conversations of the form "I've never dealt with that, but I know $coworker ran into that once. Go ask him." can be reduced or eliminated i…

+1 But the issue I always face is that many coworkers aren't diligent enough to document in the wiki. How would you address that?

Two of the replies to you illustrate the classic joke about the traveler who gets lost and asks the village peasant for directions to his destinations - 'Well, if I wanted to get there, I shouldn't start from here.' (And are as useful.)

Re: Scaling GitHub

#50
This is of particular interest to me because I'll be starting my full-time job hunt early next year (or even earlier because I get neurotic about these things), and I really only want to work somewhere that understands the appeal/necessity of "work where you want/when you want/on what you want".

How do I filter potential job opportunities on that criteria without being rude to anyone? I don't want anyone to think I turned them down because I thought I was too good for them or something, but the reality is that in a world where workplaces like GH exist, there's no reason to work somewhere that doesn't "get it" yet (and maybe never will).

Post reply on HN