How can I stay focused while working?
July 31, 2011 7:56 PM   Subscribe

What're your best tips for keeping on task and staying focused?

I'm very easily distracted unless I'm making progress. Sometimes I'll be programming, making good time and then I'll hit a wall and "take a break" and then it's 6 hours later and I got nothing done. Jonathan Franzen talked about buying the worst laptop he could find and filling the ethernet port with glue in order to finish The Corrections. That sounds great except that I'm constantly pinging the web for tutorials or code examples, etc.

The same thing happens when I write- I bust along, 500 words, a 1000 words and then I get this weird, fed up, tight feeling inside and I just shut down. My brain demands it tasty hyper link treats!

What I'm saying is that I need discipline and I'm not sure how to train myself beyond exerting massive force of will. I'm looking for tips, tricks, programs, ideas, concepts etc. on how to do a better job of staying on task.
posted by GilloD to Human Relations (15 answers total) 78 users marked this as a favorite
 
Response by poster: I think perhaps it's worth noting that some of my difficulty doing and getting started comes at least in part from a fear of failure, that some part of me is going "You'll never fail if you don't try!". Together with my general distractability they form a toxic cocktail.
posted by GilloD at 7:58 PM on July 31, 2011 [1 favorite]


Tip: write out your code on paper before you sit at the computer. You'll have to do that thinking anyway. If you don't know syntax just guess. It's actually good for your brain to guess at something it doesn't know, because it will be more receptive to learning it later.

Trick: Give your mom $100, $1000, $10,000, and tell her to give it back if you complete X project by Y date.

Programs: RescueTime keeps me just a little more honest. Bonus trick: use it to track some billable hours so you will like having it on your computer. I also like Basecamp for project management because other people can see whether I'm making progress. Plus, it costs money so I'm motivated not to waste my investment.

Ideas: Maybe you don't know your craft as well as you should. I find that when I'm stalling, it's often because I am afraid to touch something that I'm a little afraid of. If you're stuck on programming, try reading a thick book on the language, or beg/buy some time with a real expert who can answer the questions you're a little afraid to ask.

Concepts: You become what you do. Every time you choose a tasty hyperlink, you make it easier to click the next one and to become a person who does nothing but that. Every time you do real work, you make it easier to do more work (especially once you see a new process from start to finish) and you become a person who does nothing but real work (work-wise.)
posted by michaelh at 8:04 PM on July 31, 2011 [11 favorites]


I use a combination of LeechBlock (for when I need internet access to be productive but need to not be consuming tasty hyperlink treats) and Temptation Blocker (for when I don't need the internet at all). I particularly like LeechBlock because you can schedule breaks for yourself- so you could have all your fun sites come back up for 15 minutes only.
posted by quiet coyote at 8:04 PM on July 31, 2011 [2 favorites]


Schedule breaks. Sooner than you think you'll need them at first, and set a timer. 30 minutes on, 5 minutes off. Gradually work up to longer time on and fewer breaks.

Set bigger rewards, like coffee, or a lunch out, or unfettered internet time for completion of a whole project.

Don't edit yourself as you compose. Of course go back and edit later, but treat the keyboard as if there's no backspace key. Literally just keep typing without stopping for as long as you can.

You have actually made it so your brain has reinforced that avoidance behaviour, and you'll need to retrain your brain. Almost like congnitive behaviour therapy - you build in new behaviours then practice those until they are automatic. You are literally changing your brain and it takes a long time to replace something that ingrained. You are reinforcing your fear of failure every time to turn away from your task. It would be better to walk away and stretch than to continue to play around with links.
posted by guster4lovers at 8:48 PM on July 31, 2011 [3 favorites]


I've found that work is actually plenty engrossing when I'm in the middle of it, and then I hit something that's not 'in the flow' and I get scared. It feels exactly like that tense feeling you describe. The coding is going great then it's, "I need an algorithm to calculate this..." and it's not on the top of my head and I suddenly want to just read a blog for the next hour. But - if I drill down to the first, simplest step, I say "I need an algorithm for this." and when I notice that it's not coming, I go deeper - What do I need in order to do this, and how do I get it? I google for algorithms, or I go to my bookshelf and pick up my old algorithms book, or I get out a piece of paper and do math for a few minutes until I know what to do, or I call my co-worker who's good with algorithms.

What this process of drilling down to the 'next step' has done for me is spared me a lot of time spent in the loop of "I need to do X. I don't know how to do X - I need to look it up. But I need to do X. But I can't do X without that information." when actually what I need to do is stand up from the computer (or open a google window) and look it up.

I think the root cause is anything that I need to change where I am and what I'm doing for. If I'm at the computer typing smoothly, the transition to grabbing a book or a pad of paper is much harder than tabbing over to Firefox. So it takes a little conscious attention to say, what do I need right now?

I also do this when I find myself mid-web-surf. "Hey, I'm reading that news site again - what was I working on? Oh yeah, I need to ask Dave about that plugin he wrote..." and then I go email Dave and suddenly it's really easy to work on another project for a while.
posted by Lady Li at 9:34 PM on July 31, 2011 [2 favorites]


This may sound a little off-topic, but here's my advice:

Get some sleep.

Seriously. I know there's a big, flashing (implied) YMMV above this, but that's my recommendation. I find that I have a *lot* more focus -- we're talking massive amounts here -- when I get a solid eight hours, even when compared to a night where I get 6-7 hours. I don't know why it is, and it's probably not the same for everyone, but at least for me even an extra hour of sleep can boost my focus tremendously. Try to get to bed an hour earlier for a couple days and see if that improves your focus/drive.

Now, back on topic:
  1. Diagram. When working on a complex problem, it's easy to break your flow and stop coding to think "Oh man, how am I gonna build $BIG_COMPONENT" and let that morph into procrastination. If you already have a complete diagram (not necessarily a formal UML one -- even a sketch helps), it's easy to do the mental prefetch you need to keep coding fluidly.
  2. Pseudocode. I don't like to go from diagram/spec directly to code, at least not for non-trivial things. Writing a couple bits of of random "read this junk, persist to DB" slug code, yeah, you don't need pseudocode. Writing a stack-based string tokenizer and formula evaluator? Yeah, you might not want to dive right into C.
  3. Comment. I know it's good practice in general -- but I find source code comments to be one of the most valuable ways of keeping focused. Not only can writing out a couple lines of comments help to give you a brief break from mashing your semicolon key, but it also reduces the amount of mental buffering you have to do. It's pretty hard to skip back to a line you wrote thirty minutes ago to revise it if you don't have any comments (especially in something like macro-heavy C, where it can be bloody impossible to even *find* the line you need to change.) Comments make your mental context switches a *lot* faster -- and that means that you'll be less tempted to simply say "screw it" and go chat on IRC. Or... uh... at least that's the case if you're me. :D
Basically, your goal is to reduce the viscosity of coding such that it's easy to get back in to it after a break. Anything that can prevent you from getting in to a position where you're staring at the code with a sense of "where should I start?" is a good thing.

All that said: YMMV. Good luck!
posted by -1 at 9:38 PM on July 31, 2011 [1 favorite]


Scared might not be the right word - honestly, I would describe it just like you do as 'hitting a wall'. Then I take a step back and look at the big picture and see how to get around the wall; but I couldn't get around it just by going forward. It's like fear in some ways, though - "Help! What I'm doing isn't working! What do I do?!?"
posted by Lady Li at 9:39 PM on July 31, 2011


I've found The Pomodoro Technique somewhat helpful, in conjunction with a program that puts a little timer up in my menu bar. It's much easier to say "I'm going to work for 25 minutes, then take a break" than to say, "OK, time to sit down for six hours work." Also, seeing the timer helps keep me honest on my breaks.

Bonus tip: the first few times you use it, make sure you don't cheat. Work the whole time you're supposed to be working, and shut down your break as soon as your break time is up. The idea is to condition yourself, in an almost Pavlovian fashion, to take the work/break distinction seriously.

Along those lines... I really do find a lot of my bad habits are the result of conditioning, and it takes time to break habits. If you decide to quit cold turkey, remind yourself that the almost irresistable compulsion to websurf when you should be working is just the result of conditioning, not an inherent part of your process, and remember that the temptation will get weaker the longer you resist it.

Or, alternatively, just focus on resisting it a little longer each time. When you start to get the urge to websurf, set a timer for 5 minutes and tell yourself you'll hold out until it beeps. Then extend the timer a little each day.
posted by yankeefog at 2:38 AM on August 1, 2011


Add reward points for every x minutes of work you do and subtract y reward points for every time you take a break longer than planned. So, for example you decide to take a 15 minute tea or whatever break - set the timer and for every additional 15 minute over the initial break, subtract 10 reward points, equivalent to 15 minutes of real work. Once you accumulate some reward points, buy yourself something nice like a box of cookies or a nice new notepad you wanted.

A few months ago I used a slightly different system - I had a timer set to track the time I do real work and when I'd go read metafilter or news I could keep timer running as long as I don't read for more than 5 minutes at a time, but if it got over 5 minutes, I'd have to stop the timer and 'check-out'. It turned out that almost every time that was enough to stop me from being distracted for more than 5 minutes, and it would only happen about once an hour at most. But I still wasn't happy with that because even a 5 minute distraction can be too much, so now (last couple of weeks in fact) I set up a rule that I can only check various sites in the morning and after work is done, and if I do that, I give myself reward points, and if I fail, I subtract reward points, and that worked out great so I'm now distraction-free! The main thing is having both reward and punishment that are balanced and proportional, and then it's quite easy. I still do take a few tea breaks during the day, but that's intentional.
posted by rainy at 6:23 AM on August 1, 2011 [1 favorite]


Having someone else there helps a ton. I also get into these loops where I'm worried more about how much time I'm wasting - but I put on some headphones and then some repetitive white noise fairly loud to just overpower the thoughts and loose track of time.
posted by The Whelk at 9:20 AM on August 1, 2011 [1 favorite]


(And for me, reward systems just didn't work cause I hated that I had to "trick" myself cause nothing is stopping me from gaming the system I myself designed. It was the repetitive worry that was interrupting my work, so I found ways to overpower the worry.

And having a writing buddy was INVALUABLE)
posted by The Whelk at 9:22 AM on August 1, 2011


I'm reading through The Now Habit by Neil Fiore right now. I highly recommend it. It's changed my thinking, helped me to understand what's going on in my head when I procrastinate and feel bad.

One of the big takeaways was that the problem isn't lack of discipline. You'll have to read the book to get a full sense of what he says, but basically: there are things we do and do well when we choose to do them (like, for example, browsing the Internet) but when we come across something that we believe is forced upon us, or something that we think we should do, we rebel. We say we need to discipline our lazy selves, while at the same time, we rebel against the encroachment on our freedom to choose by doing other things (like, for example, the Internet), even as we feel bad about it.

There are tricks you can try like LeechBlock and ChromeNanny, but I found that until I read the stuff he was talking about, that stuff was temporary and easily uninstalled after a while.
posted by Busoni at 1:15 PM on August 1, 2011 [4 favorites]


Make a deal with yourself that if you do 10 minutes of work, and then don't want to do it anymore, you can quit and not feel guilty about it.

Stop reading Ask MetaFilter.
posted by cupcake1337 at 5:55 PM on August 1, 2011


Seconding the Now Habit. Also check out two other great books.

The War of Art - is the best antidote I've come across for procrastinating artists/craftspeople.

The Procrastination Equation - this article has a nice summary.
posted by storybored at 6:10 PM on August 1, 2011 [1 favorite]


Pomodoro technique, "The Now Habit," "Flow" by Csikszentmihalyi are all excellent.

You might also want to try doing whatever you want and making a meticulous plaintext record of exactly what you're doing, from moment to moment. Sometimes I find that just keeping better track of exactly where my time is going helps me make the decision to start using it better.

One last idea that's worked me for: Go to bed scared; wake up early.
posted by thecolor12 at 10:39 PM on August 1, 2011 [1 favorite]


« Older How can I find my relative's military service...   |   Applying for Illinois state jobs? Newer »
This thread is closed to new comments.