Being constantly connected to the Internet is a double edged sword. The volume of distractions are just massive and keeping your focus can be difficult. At least that is how it is for me. This is how I solve it…

I use a simple phrase “Doing what you are doing while you are doing it”.

It actually, could be stated as another definition for Happiness. But I digress.

I was reading Matt Allen’s blog about “Going Dark” and it spurred me into an idea.

As a programmer and developer, I am constantly being torn between priorities and tasks. They never seem to end, it is almost like we, as programmers or developers (I’ll just use developers from now on if that’s cool with you) sit down and invent a constant stream of problems to keep us occupied and make us happy.

A reverse proof of this would be, have you ever seen a non-busy successful developer? Nope? Neither have I.

But I have spoken with a lot of developers and people who are REALLY busy, and the happy ones have one broad thing in common. They do what they are doing, while they are doing it.

In writing this I took a look at my own work day and, being a developer, I looked back over the past few weeks at the days where I felt I actually achieved something worthwhile and useful.

Getting a new website online (finally), that was a good day. Getting a major update done to an internal system and completing it, that was a good day. Get the blog online properly, that was a good day. etc…

What did all these days have in common? I focused on one project, basically ignored everything else to the best of my human ability and got THAT ONE THING DONE.

I was doing what I was doing, while I was doing it.

I wasn’t trying to bend ActiveRecord’s SQLServer connection to my will while I had this constant stream of “To do lists” or “people asking for help” or “crap, I have to get that done before tomorrow” or even I’d rather be sailing

There are a few parts to this though. What is it you really need to do to create an environment where you CAN do what you are doing while you are doing it?

I think you can break it down into broad areas:

  1. Working out a plan for the day’s production
  2. Providing a distraction free space
  3. Encouraging your environment to assist you.

Working out a plan for the day’s production

This is fairly easy, but it takes a bit of discipline. At the start of each day’s production (or at the end of the night, the previous day), write out a list of things you need to do based on priority. This way, when you start, you have something to remind you to keep your attention focused and get through tasks 1-4 because you HAVE to get step 5 done today. This also helps you focus a lot. I tend to do this in plain paper in a diary by day as I find I can scribble draw etc and the actual act of hand writing it out helps me focus.

The other point here is that you actually need to allocate time for various things. Like, if you do write a blog daily, set aside the 20-30 minutes a day to actually do this and then do THAT while you are doing it.

Providing a distraction free space

This is a bit more tricky, depending on where you are, but here are some pointers:

  1. Turn off (if you can) visual clues on your system that you have a new e-mail, or someone just entered the chat room of IRC. If you MUST get a notification of new email from certain people, set up a filter for it so that IT lands in your inbox and everything else goes into a “Secondary-Inbox” Then, when you get that important message you get an alert, and the rest can wait.
  2. If your desk is in a high traffic area, see if you can move it to a lower traffic area. I did this and my production went up about 30% because I got 30% less office “buddies” talking to me.
  3. If you can’t handle the background noise, put on a set of headphones that block out noise and play some music. It really helps with me, it might with you.

Encouraging your environment to assist you.

Here is where you get to practice all those interpersonal relation skills you have gained from sitting behind a computer screen all day :)

  1. If people come to ask you something and distract you, politely ask them to (next time they want something if it is not critical and urgent) just write you a note, email or whatever and let you answer it when you can.
  2. Get some agreement with your boss to let you keep going on what you are doing and let you finish it. You can explain to him the details of loading and unloading all the code from your mind space and the work it takes to get into the zone of programming.
  3. Encourage the idea “Don’t disturb Mikel if he has his headphones on” or whatever else you can do to get this nailed in.
  4. Set your IM’s to “busy” and shut down or apply the email handlings I suggested in number 1 above.


Getting things done is actually a lot of fun, really, it is why you and I are doing what we are doing, while we are doing it! Hope this helps you too.

But I can not claim that this phrase of “Do what you are doing, while you are doing it” is mine, because it isn’t, it comes from L. Ron Hubbard’s management technology from the policy letter on Doing Work.