In August I was given the amazing opportunity to join Buffer as a front-end developer. At that time I was living in Taipei teaching English. Buffer is a distributed company so I whilst I coded for them I was able to continue teaching.
At the end of October I left my teaching job, because I just couldn’t do both jobs for much longer. It left me exhausted with no time for side-projects. With quitting the teaching job, my girlfriend and I couldn’t stay in Taiwan anymore due to work visas, so, we planned a two month South East Asia trip back home to South Africa.
Getting to Asia from South Africa is far, so we wanted to use the opportunity to see more while we’re in the vicinity. I also saw this an opportunity to try out the digital nomad lifestyle.
I’m now a month and half into the journey. Only a few more weeks to go. Here’s how it’s been and traveling and working from hotels/resorts/villas all across South East Asia.
Before I write about the work, here’s an overview of the itinerary so far:
Week 1: Taiwan, with three destinations (Hualien, Kaohsiung & Sun Moon Lake)
Week 2: Singapore detour & then Vietnam with two destinations (Hoi An & Saigon) and weekend boat cruise into Cambodia.
Week 3: Cambodia with two destinations (Phnom Penh and Siem Reap)
Week 4-6: Thailand with six destinations (Bangkok, Koh Yao Yai island, Phuket, Bangkok again, Pattaya, Pai Town, Chiang Mai)
Week 7: Macau
Week 8: Hong Kong
Week 9: Bali
Just a note: My path diverged with my girlfriend when I went back to Bangkok and then Pattaya for Buffer’s company retreat.
You’ll notice that the itinerary is very packed. In most places I’m only staying for two to three nights.
When I was teaching English and doing development, I would wake up at around 6am and code until 12-2pm depending on the time of my classes in the late afternoon. This allowed me to set up a routine of waking up early and getting stuff done before the day starts.
At busy times for Buffer I would still do some coding after I got back from my teaching, at around 9pm till 11pm.
On weekends I would still catch up with some work I felt needed to be handled before the next week started. Buffer is very relaxed in terms of deadlines. It trusts us to judge for ourselves on most deadlines.
This routine set me up nicely for having a disjointed day.
However, traveling was not as consistent as the work week in Taiwan. Often best flight times would be in the middle of the day, or there would be numerous delayed flights and many more complications that come with traveling. What about sightseeing too?
I devised the following routine. Breaking up my day into chunks: Early morning, morning, afternoon and evening.
Always: Early Morning session: 6-8/9am. This is before grabbing breakfast. This allows me to get something done before the day starts.
Optional: Then at least two sessions during the day out of morning/afternoon/evening. So for example, I would head out after breakfast, do some sightseeing, then get back in the afternoon after lunch at about 2/3pm. Then work until 10/11pm.
The times around these are flexible of course. But sometimes traveling would take longer than expected and I would only get an early morning and one evening session in. So, I made the choice that weekends are fair game too, but with just a little less pressure.
I was in any case working on weekends as a teacher, so it was nothing new for me. In fact, I’ll probably work on weekends in some capacity when I settle back in South Africa. I really enjoy coding, so it’s a leisure activity for me too. I prefer the notion that your job should be a lifestyle not a chore. But more on that in the future.
So, how did the routine work out?
Quite nicely. The early morning wins really helped. However, the biggest issue with the move away from my Taiwan schedule was that my day was broken up even more. In Taiwan I would normally put in one really solid session in the day.
With the traveling my day would be very irregular, even with the proposed routine. This was tough at first. It felt like my productivity was less, but I was probably doing more work than I did when I was a teacher.
The idea that work is tied to a solid regular work day is a tough one to override. I knew that my work time would be restricted, so I tended to focus more during the time that I had.
I’m definitely going to bring some of this routine with me back to Cape Town.
Besides the routine, there were various challenges linked to this crazy digital nomad lifestyle. Here were some of them and I how tried to work around it. These include development, personal and work related issues:
1) Responsibility to Buffer
3) Traveling and working at the same time
4) Coding with an irregular routine
1) Responsibility to Buffer
I’m really lucky to work for a forward thinking company that allows me to work remotely, but also grant me the autonomy and freedom to travel while I’m working.
However, I still have the responsibility to deliver on my work, regardless of where and how I spend my time.
Because Buffer is mostly a distributed company most of the team are used to people not being around at an exact fixed schedule. There are no office hours. You only have an indication of when someone would be online due to their timezone. Some like to work in traditional work hours, but it’s up to you to decide when to work.
However, in saying this, communication becomes an important part of keeping things smooth. Predictability and communication form an interesting relationship. For example, I can expect Colin, one of our back-end developers to come online around a certain time during the week, because he lives in the UK. The same with other team members. Therefore I can predict their presence.
But what if something happens? Maybe they have an appointment in the afternoon, or something comes up. Then communication is needed. Let the team know that you’ll be away and catch up when you can.
For me then, communication is very important. Buffer places a lot of emphasis on this.
Before departing I sent my whole team an email detailing my plans. When I was in Siem Reap, I sent the team an email ahead of time that I’ll be spending a day on a tour through Angkor Wat. When I was on a boat cruise into Cambodia, some part of it went into the Monday, so I let my team know that I’ll only be arriving late on the Monday.
In this sense, they can adapt and it also helps them predict my presence. And in most cases for distributed teams, this isn’t really a hindrance, because we’re already used to working with people online where we have to adapt to working on our own without their presence. For example in Taiwan, due to my teaching schedule, I hardly saw the other developers online.
So, communication is paramount in my situation, which brings me to the next challenge.
That is really how my needs are right now. My trip through South East Asia is not a backpacker style trip. I aim for mid-range hotels with free wi-fi, but also try to get 3G on my phone in each country.
We use Hipchat at Buffer, among other amazing tools to keep in touch/sync. The great thing about Hipchat is the mobile version. I can be around the team at all times. This is both a blessing and a curse.
Because my schedule would be very unpredictable, I made sure that I could at least be contacted at any time. I remember on Koh Yao Yai Island, I would often take an after-breakfast swim at the pool, but then be on my phone responding to team messages and planning sync ups with team members after I get back.
In that sense, it makes life easy, but sometimes it’s hard to shut down. However, I see that as an interesting part of a distributed team, which I’ll write about in the future.
Generally the 3G and Wi-Fi has been great and affordable in most countries. However, you do get situations, such as when I was in Thailand taking an overnight train to Chiang Mai from Bangkok and the 3G was just getting knocked out too often to deploy code.
I had to ask other team members to deploy for me. And it was crunch time just before the Buffer for Business launch. It can be very stressful at times to keep thinking of connectivity.
Which brings me to the next challenge:
3) Traveling and working at the same time
I’m not really on a holiday. Some think so, but I’m not. A big part of my day is spent working (and thinking about when to work). But then I do sightseeing during the day and relax on beaches with cocktails. This lifestyle is a bit crazy. Especially on my itinerary. I wouldn’t even say this is a normal digital nomad lifestyle. Most people would stay in one place for at least a month, before moving on.
There are a lot of things that makes this ‘not your normal holiday’. For example, I would gladly go for cheaper hotels if I was purely traveling, but I because I need to work, I don’t want to spend energy on loud neighbours, things being stolen or worrying about food poisoning. Among other traveling annoyances.
At our hotel in Phnom Penh, we got unlucky with our booking. It was in a dodgy area and the hotel room felt like a jail cell. I felt drained. The environment had a big impact on me.
Luckily, culture shock has not been an issue for me. Moving to Taiwan really set me up for adapting to life abroad. Things don’t faze me that much anymore. Sure, I’m creating a bit of comfort bubble, but most of the time when out and about I don’t worry about the craziness- and South East Asia can get crazy.
However, sometimes I do spend my way out of the crazy times and tough situations. It feels terrible stating it that way, but I chalk these up to travel expenses. Like taxi drivers who screw you over. It’s just not worth the time bargaining. Luckily, working and traveling allows me to have this budget available, because I’m earning as I’m spending.
As a minor divergence here, working at hotels can be amazing but suck at the same time. I haven’t had a comfortable desk or chair in ages. And most desks aren’t high enough to sit at properly. A proper desk and chair is a luxury for me.
BUT, I get free breakfasts, speedy laundry and my room gets cleaned. So there are advantages too.
4) Coding with an irregular routine
This one was the most interesting challenge, and in fact made me a better coder in the process.
Coders would know this all too well.
Oh boy. It happens a lot. But I’ve actively tried to remove myself from this situation while traveling. I would often have 30 minutes waiting for a flight, or an hour before check-out time. The ‘zone’ is just not achievable anymore.
Therefore, I’ve actively started coding with way more comments, super descriptive naming and an aim to make the code as modular as possible. I can’t afford to spend the time setting up to get myself into a zone. Some would argue this is how programmers should code, but being forced to break out really makes this a massive priority.
The forced downtime also allows me to think about the challenge at hand and often come to a better solution when I get back to coding.
When the road ends
I’ll be arriving back in South Africa in the second week of January, ready to settle down for the year. Who knows what will happen after that? I’ll get an apartment/home again and file back into a normal routine. There are another two weeks left, but I already crave making my own food, not packing up every other day and knowing where my next bed will be.
This interesting working/traveling experiment has taught me a lot: new found abilities and boundaries of my coding, being more comfortable in myself regardless of my comfort zone and realising more and more everyday how blessed I am to have this opportunity to work and travel at the same time. It was always a dream of mine to try the digital nomad life, and sure, my version of it is a bit chaotic, but I’m glad I got to experience it. It is definitely not for everyone. That I agree. I’m not sure I’m sold on it either.
But hey, perhaps next time, I’ll spend a bit longer in one place. I’ll keep experimenting. I might never find the best balance, but I’m truly blessed to have this opportunity to figure it out as I go along.