Hacker News new | ask | show | jobs
by reloop 3419 days ago
I used to do this early in my career too, until I realized how counterproductive it was. I've found that it isn't "coding marathons" themselves that are good, but being motivated, undisturbed, structured etc. Few people are that everyday, so we have to work on it.

Nowadays instead of coding full out until I go home and crash on the couch I try to spend the last hour of the work day documenting what I've done, what need to be done tomorrow and even what I'm doing this evening. That way I've probably had some decent time off, I know what to do the next day and can more easily get started. Even if I'm not motivated I can do something simple for a couple of hours, at which point I usually get motivated again.

Coding marathons feels good when you do them, but they also builds up debt. Both in the structure of the project and in motivation. It's quite natural that it's hard to get started if you don't have an obvious starting point and you anticipate that you have to do a full 8 to 10 hours and be completely spent at the end.

1 comments

Yes, it's not the coding marathons themselves, it's being in a moment of intense focus and flow where your fingers really seem to be coding on their own. Time becomes meaningless, ceases to exist even because you're lost in your own world and everything just makes perfect sense.
What I'm saying though is that we perceive "coding marathons" as good because we can only do them when we are in a good state. Say you have five coding sessions and in four of them you run into some problem, you get disturbed (or demotivated) or something else that halts your progress. While in the fifth none of that happens, so you end up having a long period of "flow". Then one might conclude that it's the coding marathon or the flow itself that is good when in reality it's the really the other factors that correlate with having a long session that really matters. And if you practice you can make more headway each day, even achieving flow in shorter sessions, than you ever could only being motivated to do coding marathons sometimes.
I think what you are trying to say is consistency is better than inconsistency given the same amount of work. The consistent worker will be able to get items done in 5 days, but the inconsistent one will take 3 of those days, do the work, then twiddle thumbs at work for the next two days to regroup. Both are "ready" back on the start of day 1, but which one is more efficient?

One could argue that the person can make a better use of the two extra days spent working but not productive on items related to specific work items. So it may not increase productivity to the employer but it increases productivity to the employee.

of course, there are moments of interrupted zen as you describe. But I was mostly not considering interruptions, distractions and diversions. I was mostly considering that if I were left to my own devices entirely undisturbed... you can have a half hour, hour, 2 hour or however long you're in your state of zen coding marathons... perhaps I don't consider them coding marathons as such, perhaps I consider them more like a state of meditation. Though, I could see how other people would describe them as marathons.