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?

  • 5
    drinking more beer
    – Muad'Dib
    Nov 5, 2010 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, 2010 at 8:14
  • Chess masters can play a game blindfolded because they visualise the board in their head. A good programmer can do the same thing with code. Practice coding in your head just using your "mind computer", after a couple of weeks you will only need your "real world computer" for simply typing the code in from memory.
    – Ewan
    May 29, 2022 at 9:39
  • to be really productive though you have to learn to "sleep code" most juniors can mange this a bit if they push a bug to live for example, you can create a "mind datacenter" just before you sleep and spend all night working over what you did wrong
    – Ewan
    May 29, 2022 at 9:41
  • this is why you will often see top programmers meditating at their desks with their eyes closed, fingers on their temples and a massive cup of coffee first thing in the morning.
    – Ewan
    May 29, 2022 at 9:43

11 Answers 11


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


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)

  • Agreed, but what if I wanted to use that time for work instead of relaxation.
    – Toby
    Nov 5, 2010 at 13:55
  • 1
    Haha Toby good point ;) I suggest you to take that opportunity to read (technical & non technical) or discuss with coleagues
    – user2567
    Nov 5, 2010 at 13:58
  • 1
    +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. Nov 5, 2010 at 14:49

There's a Chinese proverb:

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

  • 3
    +1 for that wonderful saying that I will keep and use in the future.
    – user2567
    Nov 5, 2010 at 14:09
  • @Pierre 303, that saying served me well too :)
    – o.k.w
    Nov 6, 2010 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.


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

  • On a busy flight?
    – user1249
    May 20, 2012 at 12:54

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.

  • 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, 2010 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.

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