My personal experience has been that it’s almost impossible to consistently put in more than about 2 hours/day of highly focused ‘flow’ coding. I was previously worried that there was something wrong, but at this pace I’m able to complete big projects on a regular basis. Could this be normal even for productive programmers?
I have heard a lot of people say that around 3-4 hours is typical. (That is also the average for professional writers, so it makes sense for that to generalize to other kinds of creative work.)
2 hours a day seems low, but you might be unusually effective. My experience is that the duty cycle is closer to 50⁄50, and lower with overtime, the latter being common, especially in startups.
The only way I can get actual 8 hours of focused programming work is if it’s the sort of tweaker monkey work where I just try a whole bunch of combinations trying to achieve the thing I’ve already figured I want to do. Examples of this are long debugging sessions, writing FFI bindings and writing an assembly subroutine. If I actually need to keep figuring stuff out, 2 to 4 hours is generally the amount I can manage.
Do you have any more information on this?
My personal experience has been that it’s almost impossible to consistently put in more than about 2 hours/day of highly focused ‘flow’ coding. I was previously worried that there was something wrong, but at this pace I’m able to complete big projects on a regular basis. Could this be normal even for productive programmers?
I have heard a lot of people say that around 3-4 hours is typical. (That is also the average for professional writers, so it makes sense for that to generalize to other kinds of creative work.)
2 hours a day seems low, but you might be unusually effective. My experience is that the duty cycle is closer to 50⁄50, and lower with overtime, the latter being common, especially in startups.
The only way I can get actual 8 hours of focused programming work is if it’s the sort of tweaker monkey work where I just try a whole bunch of combinations trying to achieve the thing I’ve already figured I want to do. Examples of this are long debugging sessions, writing FFI bindings and writing an assembly subroutine. If I actually need to keep figuring stuff out, 2 to 4 hours is generally the amount I can manage.