tired I am writing this article as a sequel to the Measuring Programming Progress By Lines Of Code article. As I already stated there, software Managers want to have some metric to estimate their workers. They are always seeking for a precise and measurable way to know the programming progress and the developers productivity and performance. If you read the previous article, you know that I don’t think that counting the lines of the program source code is an efficient metric at all. Let me please talk about another common metric – measuring the amount of extra hours a software developer has done.

The extra hours issue is handled totally different in different areas in the world. There are places where developers are working until very late hours while in other places the developers are “dropping their pens” at 17:00. It is obvious that it is a matter of culture, a programmer won’t behave as he wants, he will do what his managers wants and what his colleagues are doing. If everybody are expected to work many extra hours and you are not doing it, you might find yourself out of the company. Well, you can understand what I think about this metric just by looking at the picture above, but although a picture is worth a thousand words, I have to state my opinion.

If someone find himself working more than 10-11 hours a day, on a daily basis, he will become a very tired and unhappy person. On the longer run, the company will lose because happy developers are a very important asset. If your team is built from frustrated people, you will fail! Work is very important and it should be, the workers shall be devoted and productive BUT there are other things besides work. People have families, hobbies and many daily arrangements they have to do, if a manager can’t understand that and prevent those things from his workers, he won’t be able to succeed because he need energetic and vigorous people around him not walking zombies.

At the bottom line, you need to release products and if you have a very productive person, you shouldn’t care if he is doing that by being only 5 minutes at work and by lying all day in the beach. From my experience, good developers will do a much better work in half of the time the other developers are doing it. Some managers will say that if they got a successful programmer on their team, why not gaining more out of him and ask him to work more hours. I say that you can’t “squeeze the lemon” for long periods, the lemon will loose all of its juice. Believe me, a good developer will always create better products than the other developers, even if they work more hours than him. You should not only look at the amount of time taken to finish a product, you should also look at the quality of the product which can’t be gained by more hours of work.

Despite what have been said, I must say that there are exceptions and before deadlines for example, I would expect everyone to contribute and sacrifice more than usual. If you are not doing that on those stressed periods of time, your manager have all of the rights to be angry and unsatisfied. I just hope that those deadlines don’t happen every month, otherwise it will be like the “Wolf, Wolf” story.

I know that you want me to provide you with a better metric and not just complain about other metrics. What can I say, you are right! So I will publish a post, in the following weeks, about how I think programmers shall be estimated. For now, I will be happy to hear your thought and opinions about the “Extra Hours” metric…

Tags :

11 Responses to “Measuring Programmers By Extra Hours”

  1. Tony

    Said on September 25, 2008 :

    Before you ever write another article please learn the difference between the words “lose” and “loose” and use them properly.

    “On the longer run, the company will loose because happy developers are a very important asset.” is like nails on a chalkboard.

  2. Shahar Y

    Said on September 25, 2008 :

    @ Tony,

    Thanks, the typo was fixed.

  3. Nick Cage

    Said on September 25, 2008 :

    Too true. The time expended can be the opposite of a reasonable metric. If one developer is twice as fast as another, this should be measured as good, not bad.

    Side note. Lose has one ‘o’, not two – My own little bugbear :-)

  4. dr grammar

    Said on September 25, 2008 :

    On the longer run, the company will loose

    …the company will lose…

  5. Chris Marisic

    Said on September 25, 2008 :

    The way I see it as a developer, they pay me for 40 hours a week. I am going to work 40 hours a week. Until I am at a company that understands hours are a meaningless measurement for developers and will pay true salary ie if I’m done with my work for a week at monday in 2 hours that I don’t come in until next week again, I will not work extra hours other than rare special cases or that I am getting paid hourly or over time for anything above 40 hours.

    Working above 40 hours consistently as a developer and not being paid for it is just stupid and encourages a company to take advantage of you.

  6. Bob Saggett

    Said on September 25, 2008 :

    I think a fun experiment would be to get developers to bid for work in days. Let’s say I need to implement a project that I can break into ten chunks. Let the programmers bid for the bits they want to do and pay them for that number of days. If they are the fastest developers, they will get more resting time or will bid low and get paid more.

    There are lots of things wrong with this theory but it is not dissimilar to the way companies get work.

  7. Arshia

    Said on September 25, 2008 :

    Extra hours doesn’t mean anything when I see so many developers spending 2-3 hours a day chatting in the office or surfing the web. If I’m here for 8 hours and put in a solid 8 hours of work but Joe Schmoe is here for 11 yet only really worked for 6 of them, how is it fair to compare them? I know the people without families or obligations can spend more time at work but that doesn’t necessarily mean they work harder than someone who has to leave at 5 to go pick up her child from daycare. And it’s even more difficult to measure the hours worked from home if that is an option for your company.

    There really is no magical metric to measure programmers by, it should be a combination of the different factors and focused on the success of the end result.

  8. andhapp

    Said on September 25, 2008 :

    To put an end to this…if you can complete a project successful by working 4 hours a day then good on you otherwise you have to put in extra hours…as end of the day it comes down to if you can deliver or not…

  9. Mick

    Said on September 25, 2008 :

    I have been working on a project now that was in essence a 6 month job, with a 3 month time-frame. My days have HAD to be 10-14 hours in the closing few weeks of the project. Does this mean I am a bad programmer? This is related to project management and the initial sign off of projects dates. I think there has to be certain limitations to this rule.

  10. Impatient

    Said on September 26, 2008 :

    I agree with the post, and would add that employers should simply give up on their employees’ working more than 40 hours a week (except, as has been noted, for rare emergencies). They should tell their employees, Look, you can work > 40 hrs if you want, but nobody’s going to give you props for that. It comes down to what you’re producing. This would put an end to all the politics and games that people play concerning hours worked.

  11. Bart Czernicki

    Said on October 8, 2008 :

    This of course depends on the environment. Smaller companies and startups usually expect longer hours. Usually, you also get rewarded more from secondary compensation (i.e. bonuses, stock options).

    This also goes into the other spectrum, which I call “developer vacation”. This is after a major deadline is completed and the teams takes longer lunches/relaxes and goofs off a bit. It annoys me when people say..I am only doing 40 hours/week and then spend 1/3 of their day on the internet, at lunch or chit chatting.

Post a Comment