When you look like a traveler and you open your laptop in a café or hostel and people get the hang that you're not just surfing on Facebook, Instagram or whatsoever, you are bound to get some questions, e.g.: "Are you working?" followed by: "How are you able to work while you're traveling?", "How does it work with the time difference and your clients?", "Don't you need a constant Internet connection for your work?" and my personal favorite "Don't you need multiple screens in order to work?", ridiculous question asked by a real person.
First of all I have to admit that I'm in a very lucky position, being able to combine two of the things I like most in the world, traveling and programming. There are few jobs which allow you that freedom. During my travels I saw a lot of people working on the road, photographers and videographers, translators, journalists, marketing guys, and so on. Of course there are certain prerequisites your job has to fulfill so that you're able to work completely remotely, e.g. if you're an applied physicist conducting lots of experiments it is rather complicated. I believe the main point is that you should be able to deliver by means of the Internet.
For me working on the road didn't happen from one day to another. It somehow was a creeping process which eventually enabled me to travel and work at the same time. I had to switch several habits and tools to be able to work location-independently. Some of it might sound very easy, some of it actually is, other things needed time or I needed time to adapt.
But let me get back to those questions from the beginning of the article. Time difference somehow is no problem at all, at least not if you're willing to get up early or stay up late to "meet" a client. You can work around that, it doesn't matter if you're five hours ahead or nine hours behind. The constant Internet connection is no must either. With some off line literature I'm pretty much able to do a full workday, at least when there are no project management tasks to be done, which usually require an Internet connection. Working on the road is a lot about compromises. Sometimes you're not able to do the tasks at one moment, so the key is being flexible while always being on the move. Because being on the road and traveling means being flexible, those two aspects don't contradict at all. For the remainder of the article I want to give you some insights on how I manage my work, what guidelines I follow and what tools I use.
- Work/Travel Balance: When you travel and work at the same time you need a certain work/travel balance, similar to the work/life balance in "real" life. This means I set myself boundaries, work means work and travel means travel (of course you should watch your inbox, but more on that in a second). I plan a ratio of 50/50, i.e. half time I travel and half time I work. I'm eager to follow that rule wherever I am, otherwise I'm missing out on whole cities or regions, which happened to me already and I learned from it.
- The Zero-Inbox-Paradigm: E-mails mean work. Lots of people spend hours answering, categorizing, filtering e-mails and still build up a huge backlog. I tend to have a clear inbox. This means I usually answer e-mails very quickly. In my opinion e-mails can be subclassed in two different categories, either e-mails you can answer immediately or e-mails which need time. The first type is easy to get rid of. I simply hit the reply (if I can answer it) or forward (if someone else is a much better contact person) button and my inbox is clear by one. The second type is also easy. I usually answer directly and tell the recipient that I need more time to do some research, perform a certain task, or whatsoever. I then put the according task on my personal to do list. This way the recipient knows that I'm working on it and I'm one step closer to the zero inbox.
- Deliver On Time: Be sure to stick to your deadlines. Your client doesn't care if you've seen amazing howler monkeys or visited a deserted island somewhere in the Pacific. The result counts. Be smart. Plan ahead. Like you would do in "real" life. The visit at your grandmas or the appointment at the dentist in real life are similar to your travel plans. So if you have a deadline don't travel to a region where you know that you won't have any Internet connection. If your deadline is approaching get to a spot where you can be on stand-by. This means do sightseeing but also be easily contactable by your clients.
- Work Everywhere: And I mean everywhere! If you're at a café which offers WiFi, perfect! If you're at a library which has WiFi, great! You get where I'm going with this. If you're traveling and working you don't have the luxury of a calm and quiet office where you can hide for hours. So be creative, work at the beach, in the park, in the hotel lobby, at the airport, wherever, this somehow contradicts with the first guideline, but as I said earlier, you have to be flexible.
Let's finish by looking at the tools of the trade while working on the road.
- Remote Access: When something breaks you most probably want to get access to it to fix it, e.g. by using remote desktop services. To administer servers by clients I use SSH. VPN gives me access to company networks.
- Cloud Storage: When I have to exchange files with clients or work on files together with co-workers I use cloud storage services like Dropbox, Google Drive or Seafile.
- Collaboration: An alternative to working on files is to move the collaboration process to web-based platforms. I regularly use Wikis for that, e.g. the excellent free and open-source application MediaWiki.
- Project Management: I'm not the only one working on a project, coordinating other people and organizing the work which needs to be done is one of the main parts of my job. Luckily there are a lot of web-based applications to help with that, e.g. Trac, Phabricator, GitHub or BitBucket. All of them feature an integrated Wiki, a Bug-/Feature-Tracker, a connection to your code base, and so on.
- Code Base: Lots of people contribute to a software project, so it's mandatory for me to use a version control system, e.g. SVN or Git, to organize my code, track changes and make it accessible worldwide.
- Meetings: Because I'm not able to meet up with my clients in real life I have to meet up with them virtually, e.g. by using Google Hangouts or Skype.