Hacker Newsnew | comments | leaders | jobs | submitlogin
Ask HN: How do you get things done in hourlong intervals?
20 points by zackattack 162 days ago | 18 comments
I'm talking about code.

When I was alone, I would go to the coffee shop and do work for 6 hours, and tune out the rest of the world. But now I'm visiting a friend, and keep getting interrupted by them in order to do various things, and it seems like my intervals to get things done are altogether too small to really dive into my code. I've made minimal progress, even though there are so many things to do, and I have so much time(on aggregate) to do them.

Possible solution: every time I wrap up a coding session, write a paragraph summarizing what needs to be done next, why, and where?



11 points by JimmyL 162 days ago | link

When I know I am wrapping up a coding session, I'll often leave a few trivial things unfinished - so that when I sit back down again for the next session, I'll have an easy place to jump right back in, and it will force me to (consciously or otherwise) get back to somewhere near the mental state I was in when I half-finished the thing.

In this particular situation, pick what you want to do: get your coding done or visit your friend. If the priority is the former, tell them "I've got some work to do for a few hours, so I'm going to go find a Starbucks and set up station. Want to meet for a drink around <five hours from now>?" If the priority is the latter, then embrace the distraction, spend some quality time/activities with the person you've traveled to visit, and if you must code, keep it to small discrete chunks like bugfixes or writing unit tests.

-----

4 points by breck 162 days ago | link

http://www.paulgraham.com/makersschedule.html

-----

4 points by keeptrying 162 days ago | link

http://www.pomodorotechnique.com/

And for the best tool to use to apply the technique: http://www.apple.com/downloads/macosx/development_tools/pomo...

This has really changed my work habits. The tool is just perfect. One easy click and you can see what you've worked on the whole day for how much time. Brilliant.

-----

4 points by edw519 162 days ago | link

Work in 48 minute increments...

http://successbeginstoday.org/wordpress/2006/09/the-power-of...

I've been doing this for years (depending, of course, on what I'm working on). It can be very effective.

Get a digital timer. Set it for 48:00. Start it. You may not stop working until it beeps. 12 minutes for stretch, email, bathroom, snack, etc., is plenty. Then back to work. And no alt-tab to hacker news during the 48 minutes. You're only cheating yourself.

-----

2 points by thismat 161 days ago | link

While not what the original poster was looking for, I've found this insanely helpful and am really looking forward to implementing it. In fact, I can see this being useful to increase my household productivity as well.

thanks edw.

-----

2 points by zackattack 162 days ago | link

That doesn't answer my question, though. My point is, how do you know WHAT to work on for 48 minutes? How do you facilitate things so that you can load the problem into your working memory quickly?

-----

3 points by tungstenfurnace 162 days ago | link

I've been reading about the American inventor Elmer Gates.

http://www.elmergates.com/egamu/egamu_link_page.htm

I think his three tips would be:

(1) quiescence (2) periodicity (3) dirigation

Which in modern language means (1) remove or zone out all distractions, (2) work at the same time each day, (3) pay deliberate attention to each aspect of the problem in turn in your imagination. (4) Repeat.

Step (3) helps to build the relevant mental structures. Visiting them habitually will strengthen them.

'Each aspect' will include mental images (visual, aural, kinaesthetic), concepts, ideas (including all the relevant constraints and conditions that must be met). Generating mental images is important as the mind works best with things that are translated into sensory terms.

Eventually a conjectured solution will pop into your conscious mind, possibly at a time outside the working hour. You may know it is coming before it arrives.

He might also add that thinking draws from one's personal store of vitality. So it may be necessary to adjust sleep, diet, exercise and any addictions you have in order to conserve this.

Being unstressed is vital. Partly this means only working on important problems and working with the intention to do good. It also means switching to a different problem if you get bored of the first one. (You can go back to it another day).

-----

2 points by edw519 162 days ago | link

Sorry, I must have misunderstood.

how do you know WHAT to work on

For me, that's easy...

"What's the best thing you could be working on, and why aren't you?"

From http://paulgraham.com/procrastination.html

If being with your friend or working at a coffee shop keeps you from doing this, then decouple your friend/coffeeshop time from your work time.

-----

4 points by dryicerx 162 days ago | link

End of day, I usually list out the things I want to get done the next day (just point format a small list) on my notepad (a physical paper and pencil). Then I stick to it.

I don't think writing paragraphs helps, keep it real simple. "Fix bug #12345, Test blahblah, Tune XXX, etc"

-----

2 points by pmorici 162 days ago | link

Totally agree with this. I also find if I separate the "research" aspect of something from the implementation things go more smoothly as well.

For example at the end of each day I'll gather documentation, code samples, etc... for the things I want to get done the next day.

-----

2 points by mannicken 162 days ago | link

Extremely detailed microtasking. Like this: http://taskulus.com/taskulus17.png or http://taskulus.com/taskulus16.png

Each of these is a very small tasks that 1-20 minutes but it's important that I can devote my complete concentration and focus to it, without the need to load everything else in my brain.

That of course requires a lot of what SICP calls "deferred decisions" and so units of my code are forced to be much more independent.

-----

2 points by tetha 162 days ago | link

I have and am experiencing what you experience atm.

The first thing which is helping me very, very much is focus training. After like a month of training to focus fast and hard, I am able to dive into a problem and ignore everything around me within minutes, allowing me to work more efficiently faster, resulting in more getting done in less time.

The second thing, closely related to the first (and an item on my list of mental improvements) is improving focus stability, but I know several people with a very, very stable focus. Interrupting them is pretty much like being an IO-Interrupt in a modern processor. It takes a few seconds, but then everything they need right now is swapped out and they can answer simple things or do something easy for a few minutes until the interruption is over and they go back to their focus and continue doing what they were doing.

Going a bit further, this is a certain experiment me and several people are performing on a fun base: Is it more efficient to sleep less and thus get more done due to having more time, or is it more efficient to improve ones focus and get done more in the same time, by being better? :)

The third thing which works very well for me is dynamic, hierarichal task structuring. Whenever I have a task and I consider if I am very confident if I can finish this particular task in the time I usually have (I don't start working seriously if I have less then half an hour to an hour). If I can, I finish it, if I cannot, I split it into more subtasks (or sometimes decide that this is not possible and somehow mark this task). Doing this, I always have a set of tasks which fit nicely into a short time and tasks which need to be refined further.

-----

1 point by andymism 162 days ago | link

A reference/link to focus training would be much appreciated.

As for your experiments with getting less sleep vs better focus, I think that stuffing more hours in the day is only more effective for tedious work, where you don't have to think much to get it done. In my experience, when the quality of your ideas and code matters more than just getting it done, you definitely should be well rested.

In most cases, the self-inflicted pain from getting less sleep is just a psychological substitute for real productivity

-----

1 point by jamesbritt 162 days ago | link

Do you have any links or resources about focus training?

-----

1 point by wglb 162 days ago | link

Much of what I am doing these days takes a couple of hours to spin up, so I don't have any ideas for you here. Maybe find a way talking with your friend about your need for long stretches of uninterrupted time. Already mentioned here is Paul's very relevant essay http://www.paulgraham.com/makersschedule.html.

-----

1 point by pasbesoin 162 days ago | link

Yes, this sounds like an occasion for social optimization rather than technical. See whether you and your friends can agree to a schedule that leaves you with a good block of uninterrupted time. Perhaps they would prefer to do things in the afternoon, leaving you the mornings free. Or they may be earlybirds, leaving you the evenings. This latter might be hard, though, as your work time would come at the end of the day and you might be tapped out.

Another recommendation might be meditation, rather than additional overt effort. It would take practice, but 5 to 10 minutes of quieting the mind might allow the context you want regain to emerge more quickly. I'm not too experienced in this personally, however, although I do find lost context returning to me once my physical environment quietens.

-----

1 point by jey 162 days ago | link

Don't let them interrupt you..?

-----

1 point by kirubakaran 162 days ago | link

http://smacklet.com/

-----




Lists | RSS | Bookmarklet | Guidelines | FAQ | News News | Feature Requests | Y Combinator | Apply | Library

Analytics by Mixpanel