Hacker News new | comments | show | ask | jobs | submit login
How GitHub Works: Hours are Bullshit (zachholman.com)
176 points by holman 2110 days ago | hide | past | web | 48 comments | favorite

This was the norm for every startup I worked at.

However, in practice it meant I could come in sometime between 10am and 1pm and then work late into the night. It did not mean I could start at 6am and then leave at 2pm. Anyone leaving before 6pm would get suspicious looks, no matter when they came in. Thus, it made no sense to ever show up before 10. It would be interesting to learn when the 7am workers mentioned in the article leave.

That is certainly not the case at GitHub. We don't care where or when you work as long as the work gets done. If you're being guilted into staying later, then the hours aren't actually flexible.

Actually, I regularly get in around 6, take a long lunch to hang out with my family and then leave around 4.

I think a couple of things help the culture of this at GitHub - one being that all of the directors keep wildly different hours, which I think is a helpful example. Not only do I generally leave around 4, I try to say 'later guys' to let everyone know that I am. If the bosses at your job are working 8-6 then that tends to trickle down. If they set the example, then everyone else can feel comfortable in doing so as well.

We have some people who leave early and say they will work from home later in the evening. They get their stuff done on schedule, so there are no complaints or suspicious looks.

If they are getting their stuff done, why does it matter how many hours they worked? If their stuff is too easy and they are finishing tasks quickly, a good lead engineer/manager will give them more work to keep the team in balance.

Great post. Hours are bullshit because "measuring hours" is a proxy for results, and a bad one at that.

At Highgroove, we're a ROWE -- a Results Only Work Environment. We have no hours, and our vacation policy is two words: "Be Reasonable."

This is actually a lot harder than having hours, because we have to define what the results are, together (and top-down for some). For githubbers, those results might be tangible things like: "Release 3 new Features a Week." or "Blog once a day."

Without those tangible results (instead of just tracking hours), you risk the sludge from others who are able to get more work done in less time -- and alleviate the worry that even good workers have: "Am I working hard enough?"

Good stuff! I'd be curious to hear how those "managers" you allude to are handling the "flexibility" you guys have in your next articles.

I don't think this is black and white.

If you hire a contractor, you're paying for the accomplishment of a task. If you hire someone full-time, you're paying for... what? Not X hours, maybe, but not "whatever you feel like doing," either. Something more like "your best efforts in a reasonable work week."

If you hire a contractor to accomplish X task for $Y, you don't care if it takes them 2 hours or 50, as long as they meet their deadline.

If you hire a full-time developer and that person accomplishes in 3 hours a week what others do in 40, you'd be impressed. But you'd probably also be frustrated. Imagine what they could be doing for you if they worked the rest of the week!

Even if you're not a stickler about hours, you want people to be giving you their best effort. If they say they can do that in 5 intense, randomly-scheduled hours a day, and they deliver, great. But if they work 5 hours a week, it's unlikely they're giving you their best.

If you hire someone, you are paying them to make you money, not necessarily to give full effort. If that employee is netting you a loss (don't forget opportunity cost) whether from incompetence and/or incompatibility, you let them go. Otherwise, you keep them. You can only incentivize them to be more productive if they're not putting forth "full effort", and in my experience, it requires a balanced laxness/strictness of scheduling, among other factors, such as bonuses, raises, interesting work, etc. But since you already accounted for opportunity cost in your hiring considerations, you've already made the best hire you could. The fact that an employee puts forth 20% effort shouldn't be a source of frustration; your only real consideration should be your next profit-maximizing move.

Flip side - If you were paying them 13 times as much you would be paying them what the market would bear in terms of work output. If you are paying them just what you are paying everyone else its unlikely you are giving them your best.

That's true, but imagine your employees started working only as many hours as they felt they were being paid for.

If the employee feels underpaid, they should renegotiate or, failing that, leave.

> That's true, but imagine your employees started working only as many hours as they felt they were being paid for.

Why would that be a problem, as long as what they feel they're being paid for matches their actual productive output?

> If the employee feels underpaid, they should renegotiate or, failing that, leave.

The situation you talk about does not necessarily mean they're underpaid. If they do the job they're paid for in half a week, why could they not have all their afternoons with their children, or working at the gym, or going to the beach? Or have 4.5 days weekends? Working 60, 70 or 80 hours a week is not a goal in and of itself, and money is not necessarily the main sticking point and the only valuable result of a job, and if you feel they don't work enough you should renegotiate.

"Why would that be a problem, as long as what they feel they're being paid for matches their actual productive output?"

My point is not "it is not OK for someone to work 5 hours a week." If both employer and employee agree to that, it's fine.

The point is, if you hire someone full-time for $X, you probably expect something like 40 hours a week out of them. If they just stop showing up 4 days of the week without talking to you, it's the same as if they somehow managed to withdraw 5 times their salary from your bank account without talking to you.

> The point is, if you hire someone full-time for $X, you probably expect something like 40 hours a week out of them.

Then you'll get 40 hours of physical presence instead. I'm sure that'll go well.

> If they just stop showing up 4 days of the week without talking to you, it's the same as if they somehow managed to withdraw 5 times their salary from your bank account without talking to you.

No it's not, as long as they're doing the job they're supposed to do in full. That's like saying the guy who runs a 100m in 8s is a thief, and should run the whole 10s. It's retarded.

No, it's not. Analogies are hard, you aren't up it it, stop using them.

If someone provides the work you expect, despite actually sleeping 4/5ths of the time, you're getting what you paid for. That they could have provided five times more work is irrelevant.

The only exception is where the employee's presence, and presence of mind, is the product. Such as with a security guard, retail sales rep, manager, etc.

I don know if its the case that I hang out with deadbeats but people around me do cut back from putting in their best when they feel under appreciated in terms of recognition or reward. It might be because I am currently not working in an aspirational field like Video Game programming where just the privilege of being able to work on a game means that people put in their best no matter what.

Anyway I think that in a interface where there is less than complete communication renegotiation often happens in terms of readjusting deliverables.

Also, of course, working regular hours makes it easier for managers to compare one employee's performance against another, which unfortunately they have to do sooner or later if they're to fairly decide who gets paid what.

Many people have the joy of flexible hours. Many people can have the luxury of working from home. It sounds awesome but it seems like for many this is just not an option. The only way out would be to quit the job and start your own company or move to the areas where jobs are like this: in ships like mine, this can be quite infeasible. This is more an office politics issue but I'd probably be laughed out of the door if I said I wanted to work x - y.

In terms of productivity, hours are indeed bullshit. Hours don't mean productivity or anything like that. Some days I can get stuff done in one hour which could take two in my low days.

I will tell you that hours are not meaningless though. In some instances, they're not bullshit. The hours I work, for example, often determines the hours I sleep at night. This isn't because I'm actively reducing the amount hours I sleep but because I just can't sleep knowing that I face any work not completed during the day plus another pile of work tomorrow.

This isn't a rant against my job, I love my job, but it just isn't practical to just work when I feel like I'm good enough to work. I have an employer who'll strictly forbid such things and, in all honesty, I can see where he's coming from: I share an office with other employees who require a rigid structure and definite times - waltzing in at 3pm would be quite unfair in their eyes and would cause undue headache.

Sounds like you need to be paid tons more than that guy, or he needs to be replaced.

I agree that hours are bullshit, but I have always found a morning standup to coordinate goals and objectives to be exceedingly useful. But i often run into opposition by the "free and easy" types. Thoughts?

Solution: have standup meetings before lunch. Everyone wants to go to lunch, so by doing a standup meeting beforehand, you'll be sure to keep it short and to the point. Plus it can be extended into lunch if needed.

If you're an entrepreneur or founder and involved in meeting with customers, vendors, partners, employees, etc., it's even worse than for a startup employee or purely engineering person.

I can only count on 0500-0800 or so and weekends as productive time every day. Given that I foolishly am living in Oakland for the summer, and working mainly in MV and SF, I've got an hour commute, and lots of customer, partner, investor, etc. things from ~0900 to ~2130 on various days. If you prefer working in 3-4h unbroken blocks, good luck! Most days there is another block sometime during the day, but it's really easy to have a day where there are meetings or other events every couple hours, so you can spend an entire day working on this kind of stuff.

Hence, why it is really useful for a startup to have multiple founders.

How does this work honor system handle abuse? Does peer pressure mostly prevent it? Are people fired faster or for less wrongdoing? I know GitHub tries to only hire "the best", but it just seems like an eventuality before someone slips through and throws a wrench in the works.

It boils down to judgement of character. The standard fare of working 9-to-5 is open to abuse as well if HN or the like is not blocked.

This looks all great and all, but this

    Ultimately it should lead to more hours of work, with
    those hours being even more productive. Working weekends
    blur into working nights into working weekdays, since
    none of the work feels like work.
give the feeling that the company really wants to own the employees, make sure that whatever the employee is doing it will benefits the company. How as an employee can I ever build a healthy life balance? I know my contradictory would feel pretty pissed having that nagging voice over my shoulder telling me "You are happy now, it is for the greater good of the Company."


I wonder how many people who paraphrase Taylor's "Principles of Scientific Management" have carefully read it. Taylor exposes several insights that are antithetical to the commonly paraphrased version "Faster is better. More hours are better."

At least in the context of moving pig iron slabs, he observed that highly-qualified (for the job) and better-paid workers produced better results working fewer hours than less qualified workers working longer hours.

This point is perhaps better paraphrased as "better management, better workers, fewer hours, and higher pay produce measurable improvements in output."

I have. :) I was more using Taylorism as an example of the notion that he came at it from a physical standpoint: if someone goes to work at the metal factory, their mood has less impact on their productivity than we do at a small startup, because they can still leverage their physical training and muscle memory (if we're talking an extremely routine process). Certainly an over-simplification of his work, of course, but a decent enough allusion for a short introductory paragraph. :)

I find it hard to believe that you have read it, I have too. A common tactic of his was to reduce hours to increase total output - you are agreeing with him.

A great example of this is where he employed a foreman for the sole purpose of enforcing rest periods. Forcing the workers to rest for 56% of the day - resulting in a 4x increase of output.

Fair enough, but it sounds a bit like you may be committing the opposite mistake - accepting Taylor at his word without consulting other sources.

BTW, I recommend Robert Kanigel's biography of Taylor, The One Best Way. It gives a pretty balanced account.

I'm old enough that I want to say stuff like: well some people have families and such, essentially "get off my lawn", but everything in this blog rings true to me.

When I was young, I essentially had 2 jobs at one place. There were the billing hours that kept us in business and the after-hours stuff were I really learned stuff. I was single and I spent many hours arguing/practicing/learning from my peers. This was not like the situation described at github. If I consider the billing hours and the other stuff, I generally worked more than 40 hours. But the "other stuff" was fun, it was me geeking out. When I was not on assignment I did more of the "other stuff."

Right now I have a bit of flexibility. I don't force myself to work at a particular time, I find I do much better work if I do so when I feel like doing it. I still have several jobs. I have my full-time job, where I have to work hours. While I'm compensated like I'm full time, I am not 100% scheduled. This gives me time to write, work on the side, watch topgear.

That is an interesting challenge. How can a consulting company that bills by the hour not force a schedule? It turns out if you are a body shop, you've unnecessarily coupled your organization to the implementation of the customer. While that may be common, that doesn't make the "right" or "best", it's just the shit companies do.

I hope you guys manage to find the right size that lets you keep this culture. If you just try to do good stuff and enjoy yourself that's great. If someone wants to sell the company or make lots of $$, woe be it to the employee.

Congratulations on having a great environment.

On another note entirely: doesn't this tend to imply that cultural differences can correlate pretty strongly with code quality? If you're in a place that treats people as interchangeable parts that can get stamped into usable shape with a little training and total direction from above, does it really matter how talented an individual is?

He (and we're almost always talking about 'he' in this culture) will never have the <i>chance</i> to shine; innovation can't fit into a structure as tight as the one he has to operate within. And since there are often (read "always, barring the occasional miracle") communication issues that impede shared understanding, even the non-innovative work generally has to be done several times before it's usable.

But since those tend to be the places where labour costs are lowest, they get more work than they can handle from the guys like an ex-boss of mine, whose desk sign read "We will pay any price to cut costs." Ultimately, the price his company paid is called "bankruptcy".

I first read about the Results Only Work Environment (ROWE) in the book "Why Work Sucks and How to Fix It" by Cali Ressler and Jody Thompson. The central shorthand for breaking through to talking about results rather than attendance as a measure of work is:


And yes, they do in fact agree with masklinn's comment that if someone can finish their job in a few hours instead of 40, that the person is perfectly free to take the rest of the time to do other (non-work) things. The job of management is to come up with tasks that are important to the business, and that justify the person's continuing to work there (aka results).

As for the "sucking", they go into it in detail in the book, but I also like Paul Graham's "You Weren't Meant to Have a Boss".


Hmm. That probably seems like a suck-up, I just realized I am posting on HN. :)

I also agree that hours are bullshit. That being said, I wonder what are the measures for results? Do some people actually end up less productive because they feel the need to come up with something more tangible than say 'I helped a co-worker learn a new programming language' or something of the ilk?

GitHub has erred on the side of hiring people who don't need measurement—we all work hard regardless of who's watching.

Also, everyone is smart. No one is assuming number of commits is a correlation to productivity. Some days sitting at home thinking about a problem is productive.

I personally work more productive hours in a week at GitHub than I ever did at a company where I was in the office 10 hours a day. But no one is counting them.

My current job is similar to this, which I am glad because it shows that they trust the developers to get their shit done.

Now, it is easy to abuse, but everyone knows who is abusing it because the results of that person are not much. When not being in the office, it compounds that impression even more because others are working hard and notice when Bob is not around for a whole week and comes back with no commits.

I have also found out that I am more productive when working from home and in the very early morning (3am - 8am). Combining the two increases my productivity even more.

Part I agree and part I don't. chat with someone is never the same as sitting face-to-face. When you talk with 3 or 4 people, chatting simply lose something on the way. It start from simple response time that are much larger in chat and go into much more. Measure hours as sign of productivity is never good, but ignoring hours is bad as well. Estimate how long it will take you to accomplish something is the hardest and very important quality of everyone including developers

Sounds like a dream but it's not for everyone. There are people who like to have someon else setting up the rules/environment for them to feel comfortable.

And how do you motivate collaboration?

Exactly. I imagine this breaks down when you have a designer that prefers to work starting at 3pm, and a developer who's in at 7am. Do you allow the deadline to slip, or ask the designer to come in earlier (or the developer to stay later)?

I'm much more a fan of "core hours": i.e. a company that says everyone should plan to be available between, say, 12 - 2pm either in person or online. Then everyone can set their own hours around that.

The designer and developer are both professionals; they both have a mutual problem to solve one of which it to make sure they're both on the same page of logistics and design.

If they can't figure out that they have to meet together at some point early in the process, then I'd say you have a bigger issue.

The need to define core hours feels like a band-aid to a bigger issue.

Core hours are usually used as a punishment for a team that isn't doing well. Other times it means a dud manager was hired who gets anxious when there isn't enough real or perceived face-time.

I hate core hours.

If your workers are too big of cowards to negotiate among themselves when they need to meet to get things done, then you have bigger problems.

There aren't really any deadlines.

For the most part people are working on things they're excited about, so everyone wants to ship as quickly as possible.

While we have fun, goof off, and can work whenever we want, we're all professional and respect each other. If I am blocking someone I am not going to take the day off.

Hire the best. Solves both problems.

Hm, startup programmers have no family? Wasting AM hours to sleep, when the kids are in school/daycare, does not work for me.

This presentation has been around for a bit and points to actual research: http://www.lostgarden.com/2008/09/rules-of-productivity-pres...

Where did you read Frederick Taylor say "More hours are better"? He advocated getting the most done in the shortest time possible actually. This goes against what he preached.

+1 for that. I think if more people read Taylor and fewer read, say, Jack Welch, then work would be a happier place. Because implicit in Taylor is that you need to create the conditions that let your people get the most done in the shortest time possible. That does NOT mean "tyrannical PHB cracking the whip". The existence of a PHB in an organisation is a declaration that HIS boss hasn't taken Taylor (or the boss' own self-interest) sufficiently to heart.

I like the idea, but I don't know how it could be applied to people working part-time; say students or folks busy with their PhD.

I look forward to parts two and three.

the whole confusion would arise of thinking developers as an Engineer or Craftsman

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact