10

There has been a flurry of activity on the internet discussing a huge difference between the productivity of the best programmers versus the productivity of the worst. Here's a typical Google result when researching this topic: http://www.devtopics.com/programmer-productivity-the-tenfinity-factor/

I've been wondering if there has been any research or serious discussion about differences in day-to-day productivity by the same programmer.

I think that personally, there is a huge variance in how much I can get done on a day by day basis, so I was wondering if anyone else feels the same way or has done any research.

5
  • I work best from Wednesday to the end of the week, and Monday is like a sleepy nightmare!
    – superM
    Jun 29, 2012 at 18:22
  • 1
    Publish it and we'll search for it and post it as an answer ;)
    – PhD
    Jun 29, 2012 at 18:49
  • 1
    @Nupul, lol! this is funny, but this is how myths are born. Someone says something, others take it for truth )))
    – superM
    Jun 29, 2012 at 18:57
  • 1
    Productivity of a "Workhorse Programmer" is strictly proportionality to a good sleep, supplies of caffeine and no distractions (including some family things)
    – Yusubov
    Jun 29, 2012 at 21:52
  • You may be referring to the Ballmer Peak. This has been well researched and is a worthwhile goal for any coder, but very very hard to achieve. I wish you much luck, my son. Jun 29, 2012 at 22:07

5 Answers 5

8

I found a study that focus specifically on the difference in productivity on a day to day basis in the work place. After a cursory reading, it seems that the study suggests there are variances in efficiency on a day to day basis. The data gathered seems to point to Monday being the most work-producing day, Tuesday-Thursday are not far behind, and Friday being about 2/3rds as efficient. Saturday is about half that of Friday and barely any work is done on Sunday.

It also points out, as many of the answers have, that this is a very difficult thing to measure as there are tons of factors that apply. This study is also not specific to computer science or related fields.

3
  • +1 - This is interesting. The large x-company studies look like they are simply measuring hours worked, but there are a few interesting measures for single company studies. Jun 29, 2012 at 22:18
  • +1 - I like the section about error rates by day of the week. Jun 29, 2012 at 22:38
  • Where do you find such articles!!! It's really nice. I've downloaded it to my Kindle to read while going to work ))
    – superM
    Jul 2, 2012 at 17:39
1

I don't see how it would be even possible to get anything even remotely statistically valid around that. There is so much variance based on what types of tasks you are assigned on a particular day. If I am doing mostly simple stuff, I can certainly get more accomplished, but when I am working on some thing that requires a lot of research, it would appear to be making less progress. Same thing with client meetings, sending requirements back, good vice poor BAs or account managers, etc. WHat I am trying to say is there are so many possible factors to affect productivity, that it is an unswerable question.

3
  • If you had a lot of time and a lot money, you could measure employees in a company for a year or two by collecting a bunch of measurable data (lines of codes, checkins, meeting, all the business stuff) along with a measure of promotions or some subjective management metric and perform a PCA/PRC on that data - this would provide you with a smaller set of factors that capture the most variance to generate a metric that correlates the hard data with the soft evaluaton. this assumes your productivity => job performance which isn't always true, but it's a start Jun 29, 2012 at 22:03
  • But to get a valid statistical sample, you would have to test developers in all languages and sexes and large vice small companies and a bunch of differnt corporate cultures. I used to design and perform statistical studies and sample selection that adequately covers the possible factors affecting the data is the hardest part. In this case with no homogeneity that would allow you to use a small sample, the sample size to be statistically valid would be far beyond what anyone could reasonably afford to pay.
    – HLGEM
    Jun 29, 2012 at 22:10
  • Yep.... Doing this for a single company doesn't generalize because it necessitates a subjective evaluation. Management's evaluation of a single programmer is likely to be very different across companies Jun 29, 2012 at 22:15
1

I doubt you're wrong and I think anyone in the industry would anecdotally confirm both that there is variations between programmers and devs, but I think the issue is much more interesting than that. The article you linked brings of an interesting point: you are not likely to find a good metric of productivity that fits all definitions of a developer. The 6 archetypes (ok, 5, because one is a joke) have different criteria - the workhorse may produce more code, but the innovator doesn't because he's thinking of new, crazy ways to do things. There are different pathways to being a good coder and not everyone agrees what they are.

This probably applies to the variance in your day to day work, too. You can measure this by, say, KLOCs, but that probably is only a facet of your productivity. Improving this will improve your productivity, but the kicker is that if your metric/model of productivity doesn't include factors out of your control (meetings, for example) but that are highly correlated with your the factors that are (KLOCs), you may

The original paper measures problem solving on simple, quantifiable puzzles. It's hard to do that in the real world, so you could use the warm and fuzzy approach of giving yourself a subjective judgment (or your manager) of how productive you were that day - this is likely to be a better measure given the difficulties quantifying this.

If you want to measure it yourself, the answer is probably specific to you and your workplace. Keep a log for a few weeks then have some fun dicing up your data. A few ideas: to answer your basic question, if you partition the data into two sets randomly and perform a t-test, you can get an idea whether there is day to day variability. You could bucket your days by day of week and do an ANOVA or pairwise t-tests to see if there are differences on days of the week.

4
  • Don't tell the asker to answer his own question. He's asking if anyone knows if studies exist. An appropriate response is not, "do it yourself". Jun 29, 2012 at 21:46
  • @David Cowden - He's also asking for subjective opinions. I'm making a similar comment to HLGEM's answer that this is a difficult question and why there may not be any good measures. Additionally, I'm trying to make a point that any research on this might not apply to his particular workplace. I disagree this is an inappropriate response because it is relevant to why there may not be research on day-to-day variability. Jun 29, 2012 at 21:49
  • @spinning-plate Then state that clearly. Sure, commentary on why there might not be research out there is valid, but the first line of your answer is: "Measure it yourself, the answer is probably specific to you and your workplace." It just doesn't seem very helpful. Jun 29, 2012 at 21:53
  • That's fair.... Jun 29, 2012 at 21:55
1

Every profession has this same variability. Baseball pitchers throw perfect games, or get pulled after a few innings; Doctors save lives, or make a mistake in surgery; Comedians get a standing ovation, or exit the stage to silence.

Besides the obvious: caffeine levels, amount of sleep; there is also just luck. If your coworker asks just the right question it can be the clue to solving a problem that has stumped you for days.

In the US they give the same advice before standardized tests "get plenty of sleep, and have a good breakfast". While this is good advice regarding general productivity, it doesn't guarantee success.

Everybody has a time of the day where they feel the most productive, or the most artistic, or the most clearheaded. Unfortunately it is not the same time of day for everybody.

I don't see how knowing that for programmers the best 4 hour block is Wednesday from 10:17 to 14:17 local helps.

0

There is a simple answer, why to re-search :)

Productivity of a "Workhorse Programmer" is strictly proportionality to a good sleep, supplies of caffeine and no distractions (including some family things)

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.