Question

Lets say you are somewhere where coding and getting online isn't possible (On a busy flight, for example)what do you do to stay productive?

Things I would do are read whatever tech book I am currently slogging through and maybe doodle some UI stuff or workflows. What else could I be doing?

Was it helpful?

Solution

I keep technical videos on my laptop for these times. On a short flight, my preference is just to sleep. I am more likely to watch the videos during all the interminable waiting that surrounds a flight, when you can't safely fall asleep, or on a long flight if I wake up and get bored, or if I am staying awake waiting for a meal. Today I'll be giving http://blogs.msdn.com/b/mark/archive/2010/11/03/pdc10-downloader.aspx some exercise stocking up on just-released PDC videos before my transatlantic flight tomorrow.

For years I spent time every week at events for my kids where there was no wifi but I didn't have any real duties - I bring the child, I can watch if I want, but there's nothing I need to do. I developed the habit of saving certain of my todo's for that time. Revewing a document someone else wrote, or typing in a stack of paper notes I took during a meeting, or making a good copy in Visio of a diagram from a whiteboard that I photographed, that sort of thing. These are also highly interruptable should my child suddenly do something interesting that I want to pay attention to. If you have this kind of downtime regularly, pay attention as you go through your regular workload and ask yourself "could I save this for Tuesday night?".

OTHER TIPS

Why not use that slack to relax and free your mind?

If you are 100% of your time busy, thinking, working, inventing, etc, THAT will makes you less productive.

EDIT: Even in World Of Warcraft you have to rest ;) (no I don't play wow, but I feel it's a good example)

There's a Chinese proverb:

Resting is for the purpose of traveling a further distance...

If you must do something - eg on a flight - it does not have to directly work / project related.

I'd suggest some of these:

  • read a novel - a bit of escapist down time never hurt anybody

  • read the FINANCIAL section of the newspaper - every programmer and other professional should learn more about business, money, investing and how the world goes round. It won't be an easy start but as yoda might put it: "Learn it you must".

  • read a bit about project management, or 6 sigma, or any of the other fads and jargon-laden things that are washing around. Do so with an open and critical mind, not taking anybodies word as gospel truth.

This is ultimately all a broadening of you and your education which you will never get any other way. Over a long term (10 years or do) you know more than your peers - you become more rounded, more knowledgeably, more employable, and more respected.

My suggestion, which no one has mentioned yet, is to spend time with other people.

It seems so much of a programmer's life is spent interacting with (virtual) objects that any additional interaction with people (in a positive and constructive way) would benefit them as a person! (And others, as well. I didn't mean to make it sound so self-centered. Rather the opposite, one needs to care for others, too!)

I'd sleep so that I'm more rested and productive when I get to a more productivity enhancing environment.

I'd break up the available time:

  • 1/4 Rest
  • 1/4 do something fun
  • 1/4 do something creative
  • 1/4 read something technical.

If I'm not relaxing then I personally:

  • Write some more of my technical book ("Hi Editor!")
  • Read tech books/articles etc that I save up for such journeys
  • Read stuff that's completely outside of my field (broaden that mind)
  • Update my personal Kanban board
  • Write up a bunch of lightning talks, presentations & blog posts that I want to give in the future
  • Talk to my wife about user experience design

I like to listen to podcasts and/or audiobooks. There are a ton of great podcasts out there (technical and non-technical), and if you're not into buying all your books, the local library likely has digital downloads or audiobooks on CD you can rip to your mp3 player.

offline != down.

I keep a full deployment on my own machine, so that I do not need to be online to develop. This allowed me to do a fair amount of development work while commuting via train before the trains in this area started supporting wifi.

You could take out your notepad and review your apps design and architecture. Sometimes looking at it after a while helps you see additional venues.

If you're developing in one of the "framework intensive" langs, like C# or Java, you could explore some pieces of the framework, or just read about langugage syntactic sugar that you didn't have time to check out before.

Having gained additional mastery of your development platform will make you more productive once you're back in work environment.

Licensed under: CC-BY-SA with attribution
scroll top