Tag Archives: microsiv

Coding my way around 100 countries

Running a software company from a laptop while travelling the world sounds like a dream lifestyle. But what is it really like? Steve McLeod was kind enough to share his experiences as a nomadic software entrepreneur.

Running a one-person software company while travelling doesn’t work. And yet I’ve been doing it for years. I’m writing this in Patagonia, in a hotel lobby. There’s pop music playing too loud to fully concentrate. The Internet connection is sketchy; in fact I’m writing this now because the Internet is unavailable again. The chair is not good for my posture. The table is too high for comfortable typing. My productivity is abysmal.

I’m partway through adding a new feature to my software, and doing it in this environment is unproductive. There is a big glacier an hour’s drive from here that I’d rather be viewing. I know that tomorrow or the next day, when I see the glacier, I’ll come back to the hotel too exhausted to code or to deal with customer support.

What does this mean for my business? Low productivity and poorer-than-intended customer support response times, which lead to lower sales. My alternative to spending a decent part of each year travelling would be to stay in my home city, working better, selling more software and earning more money.

Here are some real problems I’ve faced working on the road:

  • In Ukraine my MacBook Pro’s screen stopped working. I didn’t intend to return home for another week. I had to choose between returning home earlier; trying to get the computer serviced promptly in a foreign country; supporting customers for my Mac software for the next week on Windows computer in Internet cafes; or buying a new computer and trying to get all my development tools on it.
  • In Turkey, YouTube was blocked. Which was mostly a good thing for productivity, but as my video demo was hosted on YouTube at the time, I couldn’t monitor it.
  • In Syria, Facebook was blocked. Okay, that was incontrovertibly good.
  • In Turkmenistan there was no Internet in my hotel. Or any hotel, just about, except on age-old computers in one hotel’s inaccurately-named “business centre”. No WiFi in cafes. For a few days my company was getting no attention.
  • Travelling in a shared taxi for hour after hour between obscure locations in Iraq (true story!) left me utterly spent. All I wanted to do after getting into a hotel is to relax. But that customer support backlog is nagging, nagging, nagging at me.
  • Skype is blocked in Qatar and in some other countries. This really ruins the conference call you had planned.
  • In Lebanon I needed to update my product with a critical fix. The Internet at the time in Beirut was so bad, it would take an hour to upload my 20 MB software. An hour! During which time I’m hoping not to get a network disruption, from one of Beirut’s daily 3-hour power outages. My 2-minute scripted solution for building and uploading updates, followed by a 5-minute smoke test turned into a 2-hour task, during which time I need to keep ordering coffees so as to keep the staff happy in the cafe supplying me with WiFi.
  • Coding while sipping a cocktail in a beach-side bar in the Caribbean is difficult. The brilliant midday sun makes the laptop screen hard to read. Actually that doesn’t sound too bad at all.

A very real risk includes getting my computer stolen, which, by some miracle, has not happened yet.

How do I make this running-a-one-person-company-while-travelling thing work? Here’s some things I do:

  • I keep everything in multiple online places. I use DropBox for documents and code. I use GitHub too. Without excuse, everything needs to be recoverable without drama if the computer breaks or gets stolen.
  • I set aside frequent rest periods where I can get through a backlog of harder customer support issues and work on new features or bug-fixes. It is actually nice sometimes to not climb Andean glaciers nor to see orang-utans in Borneo, and instead to do something prosaic like working for a day or two.
  • I try to be disciplined in keeping my customer support inbox empty. When I arrive at a new hotel after a long, dusty trip, before rewarding myself with an ice-cold beer, I’ll force myself to tackle the inbox.
  • In recent months I’ve been outsourcing customer support. I pay my support representative a monthly fee in return for which she deals with what she can handle herself each day. This helps so much.
  • I aim to spend my months in my home city in high-intensity bouts of feature-adding, taking advantage of having a good work environment.
  • I produce desktop software. Not SaaS, which would be terrible to support and monitor in these environments.
  • Moving source control from Subversion (which needs an Internet connection to be usable) to Git has helped a lot.
  • I concentrate on keeping my software as solid as I can, and the user experience as smooth as possible. These two things help reduce the customer support load.
  • I try to keep things in perspective. Yes, getting my computer stolen would be a minor catastrophe. Yes, a sketchy Internet connection is annoying. Yes, some customers might get irritated at the occasionally slow support. But here’s the other side: Three years ago the city I grew up in was destroyed by two earthquakes, killing hundreds and destroying a significant amount of the city. A year before that I suffered a terrible personal tragedy. Do other things matter so much that I should sit at home to keep customers as satisfied as possible?

Although my lifestyle might seem enviable, it can be lonely at times. You don’t realise how nice it is to be able to regularly catch up with the same friends for dinner or a drink until you can’t do this for long periods. Luckily, I often manage to find someone I know well to join me for part of each trip. Here in Patagonia and beyond, my girlfriend is travelling with me for two months or so. I’d not be travelling for so long anymore without companionship.

On the other hand, my one-person software company has enabled me to reach a goal I’ve long had: to travel to more than 100 different countries. I earn a decent income from my work and thousands of customers love my software. And that is enough for me.

Photos copyright Steve McLeod.

Steve McLeod runs Barbary Software, a one-person software company. Barbary Software’s main product is┬áPoker Copilot, hand history analysis software for online poker players on Mac OS X.

Further reading: