Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question

closed as off topic by Mark Trapp, Walter, Yannis May 21 '12 at 11:54

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

drinking more beer – Muad'Dib Nov 5 '10 at 14:42
Looking at all the replies here, I kinda feel I m too lazy and I used to always pride on my productive abilities. These people seem like techno-ninjas, forever on the learning and growing curve. – Mamta D Nov 10 '10 at 8:14

11 Answers 11

up vote 7 down vote accepted

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 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?".

share|improve this answer

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)

share|improve this answer
Agreed, but what if I wanted to use that time for work instead of relaxation. – Toby Nov 5 '10 at 13:55
Haha Toby good point ;) I suggest you to take that opportunity to read (technical & non technical) or discuss with coleagues – user2567 Nov 5 '10 at 13:58
+1 Absolutely wish I could double vote. I make sure that if I am away from the internet that I am doing something NOT tech related. – Kavet Kerek Nov 5 '10 at 14:49

There's a Chinese proverb:

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

share|improve this answer
+1 for that wonderful saying that I will keep and use in the future. – user2567 Nov 5 '10 at 14:09
@Pierre 303, that saying served me well too :) – o.k.w Nov 6 '10 at 13:53

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.

share|improve this answer

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!)

share|improve this answer
On a busy flight? – user1249 May 20 '12 at 12:54

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

share|improve this answer

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.
share|improve this answer

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
share|improve this answer

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.

share|improve this answer

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.

share|improve this answer
Agreed, I do most development offline then push it up, which is why I also said about coding not being an option. – Toby Nov 11 '10 at 15:51

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.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.