Many blogs and productivity sites encourage people to focus on a single task.  Multi-tasking is out, single-tasking is in.

As a web applications developer I understand the value of focus. It is nearly impossible to write code while the phone is ringing, the baby is crying or your mind is drifting. 

My best work is done when I find complete focus, a zen-like feeling of being in the zone.  It's a relaxed feeling where coding just becomes natural and struggles are fun, like a climbing up a mountain.

But, after programming for over 24 years I've come to understand that there is a time for laser-like focus and there is a time for what I call an open focus.

What is an open focus?

I used to rush into the development of a web application because I was excited to get going, because I thought I owed to my client to be ever productive and because the quicker I got into it, the more I could get done.  Wrong approach. 

Today, in the beginning of a project, I use an open focus. First, I'll spend a lot of time just trying to learn about the problem the web application is trying to solve.  Next I will literally get a cup of coffee, put my feet up on my desk, and gaze out the window and try and wrap my arms around the problem.

Here are some of the questions I ask myself:

  • What is the problem?
  • Is this really the problem?
  • If this is really a problem why hasn't it been solved?
  • Who can I talk to about this?
  • What are the assumptions and preconceived notions?
  • Which ones can I toss?
  • Can I put myself in others shoes and feel the problem?
  • Can I visualize the problem?
  • Can I visualize the solution?
  • What would be a proof of concept?
  • What is the toughest part in solving the problem?
  • Can I build a proof of concept for just the toughest part?

One thing that I've found very helpful is a Tai Chi exercise that I learned. If you would like to try it, just follow the steps below -- it only takes a couple of minutes and anyone can do it:

1. Stand comfortably with your knees bent slightly.

2. Pick a point in the distance and focus on it.

3. Hold your hands in front of your chest with palms facing away from you. Your hands should be about 18 inches away from your chest and with your fingers point upward.

4. Relax your focus so that you can focus on the point in the distance and the tips of both index fingers.

5. Maintain this focus and breathe through your nose and out of your mouth. Feel the cool air coming in and the warm moist air going out.

6. Slowly spread your hands apart while keeping focus on the point in the distance and both finger tips.

7. Keep spreading your hands until your finger tips begin to move outside of your peripheral vision.

8. Slowing bring your hands back to the starting position.

9. Do this several times while maintaining your open focus and your awareness of your breath.

10. Increase your awareness to including the sounds and smells in the room and everything around you.

That's it.

I've found this to be helpful in creating an open focus so that I'm aware of everything around me.  It's helped me to consider problems from a broader perspective. Let me know if you find this to be helpful.

Of course, there's a time for an open focus and a time for a laser focus, but more on that later...