So I’m a traveling programmer. I used to work 40 hours a week with 20 days paid leave. But last year I quit by job, grabbed my sweetheart and took off to see the world.
I hear/read a lot these days about how programmers are treated unfairly, aren’t valued for what they do best, get taken advantage of, etc. But listen up fellow programmers, you have a gift, something that most other professionals can’t really have. You have flexibility. You can work remotely, you can freelance, and you can choose problems that you’d like to solve.
Time to pack those bags and write some code while sipping mojitos in the caribbean!
What?!
But.. but.. how will I advance my career ?
That’s a valid question, and definitely an important one. Doing small time contract work is probably not going to help you advance your career. However, through this post I hope to talk you through some of the obvious pitfalls and help you take the leap!
First and foremost – the question that is on everyone’s minds.
Money
You know what they say, it makes the world go round. So how does one approach the problem of making money while traveling ? Well, the good news is that unlike people who teach English abroad while working for minimum wage, programmers can actually work on challenging projects and assignments and gain some decent cashflow. You obviously need to balance the amount of work with your expenses but many countries are very affordable at hourly programmer rates.
Before you decide to leave on a jetplane, it’s a good idea to take on some freelance work on sites like oDesk and build up your resume on Linked In. This will help you get projects easily in the future without needing to seriously undercut other people’s prices (and your own living budget..).
Obviously, having highly sought after skills is great but no one said you can live the dream while being lousy at what you do ;)
I’m sure you, the reader, are a smart person and have by now grasped the idea of making money while freelancing programmer projects. So lets move onto the next important question.
But… what if I lose my skills ?
This is challenging. What if your freelance work doesn’t push you quite as much as your day job ? Open source!
There is no dearth of open source projects that you can contribute to. Not only that, but Stackoverflow is a great place where you can spend time building your profile and reputation while solving problems and helping people out.
I used to think that open source projects were only for very experienced and highly qualified developers. No! The beauty of open source is that you can take the initiative to start something and more often than not, other people with ideas/experience/mad-skillz will be more than happy to help you out and contribute to your initiatives.
Here’s a good example. I’m no javascript guru. I’ve been comfortable with jQuery for a while but if you asked me how IE6 handles X function as opposed to Firefox, I wouldn’t be able to answer. The other day I came up with a nice solution to make some ads asynchronous. I decided to put it up on github. Just a few hours later a very experienced javascript developer made some tweaks (removed the jQuery dependency from my solution) and submitted a pull request. That felt awesome!
The point that I’m trying to make here is that open source projects are available at every stage and every level, especially on platforms like github. It’s easy to start contributing to some and to be honest, you might even enjoy it! :)
Other than open source projects, it’s up to you to pick challenging/rewarding projects to work on while you travel, so make sure you pick stuff that appeals to you and moves you forward in some way. As an example, I wanted to learn backbone.js and recently picked up a project where I got to do exactly that!
Reading hackernews or reddit’s r/programming regularly also helps you stay abreast with what’s new in the scene. It’s also great to continue doing things that you did at your day job anyway ;)
Career Advancement
Alright, so you probably aren’t going to learn many managerial skills or gain a scrum master certification while traveling. However, working on multiple projects, contributing to open source, having an awesome stack overflow profile, will definitely get you noticed. Also, the fact that you traveled and interacted with different cultures, learnt new things and didn’t turn into a complete bum probably bodes well for you!
Poor Internet Access
There’s nothing to worry about. Unless you plan to go to extremely remote locations (Easter Island..) or Cuba (bad internet..) – you’ll be fine. Internet access is available in almost every country. You’ll have access to WiFi and 3G in most places. My personal strategy is to buy a pre-paid sim card with 3G access in every country that I visit. I haven’t been disappointed this far. I even write reviews about them.
Time Management
But shouldn’t I be traveling ? Well, you are traveling! If you could work 40 hours a week while spending 2 hours a day commuting or work 20 hours a week while surfing in the morning and dancing salsa at night – what would you choose ?
I’ve done a cost analysis on my stay in Mexico and we got by with just $900/month per person.
Of-course, it’s important to manage your time well and make the most of both worlds. But this is where modern technology comes in. I use Wunderlist to manage my To-Dos, Boxcar to get my email notifications (for all my email addresses), and a number of other apps/programs to keep track of what I need to do.
Availability
Things like availability, reachability, etc. are minor issues as long as you don’t end up in extremely remote locations. I have pingdom setup to monitor all my servers, Skype forwarded to my local number in each country, and many other ways of being available and reachable, just like I am locally.
Gear
Yeah, you have this going for you. What kind of gear do you really need ? Well, I just have a tiny 1kg Macbook Air and that’s really ALL I NEED >< Seriously, even a traveling musician needs more gear than you. So quit bitching and get on a plane already!
It takes a while getting used to doing this and I suggest you set off with some savings. I can’t think of any other profession that has the kind of flexibility with the kind of rates, that programmers can have today. Almost everyone I know wants to see more of the world that we live in.
It makes total sense to take advantage of your perks and see the world while you can!
So don’t hesitate, time for a leap of faith!

If you are interested in mastering, in many things, the best position is rarely the one that affords you the most freedom to do other things.
It doesn’t really matter if this is the accumulation of wealth, knowledge or even virtue. Most dedicated pursuits tie you down.
I think that if you a burning to travel and experience the world for it’s own sake then the advise from this post is for you.
If on the other hand you are trying to get set up to have a family and afford your responsibilities, accumulate knowledge, or get really good at something, then “do it whilst you travel” is bad advise.
You’re absolutely right about the fact that mastery requires dedication and perseverance. However, the idea that I was aiming at in this post was the fact that programmers can take a 1-2-3 year hiatus and don’t necessarily have to return and start from square 1. I truly believe that this is a powerful advantage that more of us should come to realize!
Regarding the second half of your post, I even hinted at this in my last line. Do this while you can, meaning: While you’re young, while you don’t have old parents to take care of or kids to send to college, while the 2nd dotcom bust hasn’t happened, etc. ;)
It’s the dream of every programmer. Some take the leap of faith, some don’t.
I am all in to take it. :D
Great post. I have also been freelancing as I travel and am keen to hear from others with this lifestyle.
How long do you plan to travel for?
Awesome! Great to see that other folks are doing this too! We’ve been on the road for 9 months now so I plan to travel for another 2 months or so before I take a break for a bit (gotta go see our families and stuff :D).
How long have you been on the road ? Would love to hear more about your story!
I’ve done a few 3-4 month trips and then returned home (Australia) between.
What does your partner do while you’re working?
She’s basically working on this website, trying to get traffic to it and eventually making some extra money so that we can both fund our travels. It’s easy for me since I can work remotely and that’s what inspired this post. She used to work in TV Production and there isn’t much she can do apart from sell stock footage and that itself isn’t really fun/satisfying. So we’re still working on some efforts for sustainable travel for the both of us :)
Great ideas!
Finding myself further bogged down with commitments that require me in person, but I love the idea. Hopefully I’ll be able to more to something more like this in the future.
Thanks for the inspiration.
Hi,
I’ve been doing the same thing. I go around with a MacBook Pro 13″, bit heavier than an Air, but the added storage space makes it easier. Another great way to have clients on the road, is to make attempt to get jobs out of people who you already know and who trust you. Some clients give me rates that I would never get on oDesk, which makes four hour workweeks definitely feasible. O, and while you’re there, try learning a new human language, so much fun.
A great first destination would be South-East Asia, wifi everywhere and you can survive on about $30 USD a day. Less if you live in dorms and stick to $2 USD meals.
Always tell your clients you’re abroad, you’ll be their awesome developer on the other side of the globe. That’ll only lead to more clients.
Black background doesn’t make it cool, just annoying…
Because that comment is relevant to the conversation. If you have a problem with it, there are plenty of options that don’t make you a jerk.
1 – Use greasemonkey to change it locally
2 – Contact the site owner directly
3 – Chill out
4 – Offer a different color scheme and give the css code
5 – Copy it to word or notepad to read
I doubt that you even read the article or even skimmed it over. Try comments about the actual topic.
You left out the important bit – where do you get new work from? Every freelancing site I have ever seen leaves me competing with eastern europeans or indians at really low rates that are just not worthwhile; that or I end up putting in hours of work and never getting paid. Every time I move job (every 2 -3 years or so) I ask about telecommuting (even just part-time telecommuting) and I am always told absolutely not. So theres online services where you make little to no money or don’t get paid, and full-time jobs that don’t allow telecommuting. You mention LinkedIn – all I ever get there is messages from recruiters seeking completely different work skills than on my profile. You also mention oDesk – all I’m seeing is the same “lets compete with guys in 3rd world countries” jobs. So how are you actually making it work?
Specialize in an area with less competition, for example mobile apps. Mine is web scraping.
There are plenty of clients around who are time poor and will pay more for a native speaker they can rely on.
Also try Elance – I found the quality of clients is better than oDesk.
You’re right in that there is a lot of competition on sites like oDesk for rates. Also, my personal approach is to take on projects that I find genuinely interesting as that helps me give my best.
Another commenter above mentioned that a better way to get clients is through contacts or people who already know you/trust you. This is really the best advice you can get. There are plenty of startups, etc. that do require web/programming work done. They have two options:
1. Hire someone in house. (expensive if you factor in salary, benefits, and the cost of hiring as well..).
2. Hire a freelancer. (expensive because freelance rates are quite high..)
3. Outsource it. (a bad choice because code quality for these kind of gigs is very sketchy)
4. Get someone you trust to do it (so a compromise between freelance and hire)
I’ve been approached several times by people who say things like “Hey, I’m looking for someone to do (insert programming related thing). Do you know anyone ?”
These people know about oDesk, etc. but want to pay a bit more to get something a lot better. These are the kind of people you need to find/connect with. When I said LinkedIn, I meant that you should keep your profile up to date and add any projects that you do over there. Also, add people who you work with on freelance projects as connections. Get references/recommendations from these people. This will help you score future gigs with much greater ease. That’s what Linked in is for.
Telecommuting unfortunately is a tough choice for organizations that have a “I want him here under my nose” mentality. It’s also difficult to manage an office where 10 people are present from 9-5 and 2 people telecommute. Furthermore, you’re already at a disadvantage if you’ve appeared for multiple job interviews where it was “kind of” made clear that it’s a 9-5 gig.
Some startups will gladly pay you $1k-$2k per month as a retainer for taking care of their tech needs. This is the kind of avenue you need to explore. Just an idea.
I guess there are many more points I want to bring out, I might do another post with how exactly you can score gigs while traveling :)
I have to say thanks for writing this article. Your statement about programmers being overworked is ignored by a lot of companies… maybe too much technical debt, or due to lack of IT management. But I think the solution (and what you’re saying) is we need to manage our own career.
I just made a major move to a new city with the hopes of finding a broader community of tech that will lead me to eventually work virtually. I find decent clients (the ones who will treat projects seriously) aren’t opened to you working virtually (they deal with the issues of virtual teams). But you’re right… finding the community is the way to programmer nirvana (working remotely). Also us developers need also need to challenge and encourage other programmers to keep this concept fresh in our heads. I’m not suggesting a kumbaya or tony robbins group for programmers but way too many flame wars in tech, pissy fits, and friggn’ comments about how someone’s grammer stinks (we’re math junkies not grammer hippies dammit).
Congrats on making the move! I do hope you find greener pastures and better working conditions.
I do think that a lot of programmers tend to undervalue themselves. However, from a business perspective – it’s very difficult to measure programmer performance. Business people don’t understand “that coding thing”. Unfortunately, for them to ask for feature X (no matter how complicated) and have it implemented on time and done well, is only part of the equation. It’s because they can’t look at “the code” and understand if it’s done well or not, and looking at the final product isn’t always enough because there are always Y & Z things that ALSO could’ve made it in. Their perspective is “Oh he delivered X on time and made it look easy, maybe he could’ve even done Y & Z in the same time frame”. This goes on forever until programmers are dying under pressure from feature requests.
I think programmers need to value themselves and start working with people who value them. (or at-least have a basic understanding of what they do). I’d say that anyone who says something along the lines of “Dude you do that coding thing and I’ll do that marketing thing” is a red flag. Run, and run fast! :)
You forgot the most important thing.
Programmers from outside of EU/USA can’t go anywhere because they have to get a visa to enter every stupid little country. Unless you attempt to work on a tourist visa which is a violation of regulations.
I am from outside EU/USA and have had no problem freelancing on a tourist visa in many countries. It is all online so how could they even know.
How could I forget that ? I’m not from the EU/USA. In fact we have a huge section on this site about my struggles with various visas.
Pingback: Programmers have it easy! | Nomadic Analyst
You make some very valid points. Unfortunately it’s not that easy to take a leap of faith and do this if you require health benefits. Freelancing and paying for health benefits/self employment tax while traveling is a major killer.
I see you have a Macbook Air 11. I’m a programmer and I’m thinking about picking one up. Could I ask how you program on such a small laptop? What’s your setup?
Hi David
I used to use a 23” external monitor, keyboard and mouse/trackpad. However, I realized that I didn’t really need all these things to be effective. Sure, it slows me down a bit especially when I need to test something (2 screens does increase productivity!) but the tradeoff is well worth it. As far as resolution is concerned the 11” Macbook Air has a 720p screen and since I do web development, I’m rarely working on anything for a resolution greater than 1280x1024px.
As far as editors are concerned I use a combination of vim and textmate so that works fine. I have a local setup with PHP/Apache/nginx/mysql/postgresql/memcached/uwsgi/etc.
Programming on the go hasn’t been a problem so far, in fact, I’ve written some of the best code of my life on the go with a tiny laptop – there’s a lot of time to think and mull over problems on long bus rides cross country ;)
When it is necessary I do use DisplayPad to extend my Mac’s desktop to my iPad so I get an addition 1024x768px of screen real estate (I have an iPad 2).
So in conclusion, the small form factor and light weight (it’s almost the same weight as an iPad) of the Macbook Air is actually well worth the tradeoff in terms of size. I had my system upgraded when I bought it so it’s an i7, 256GB SSD, 8GB RAM.
Hope this helps you make your decision :D
I am starting my first contract position next week. It’s a 3 month position, and after it’s over my wife and I plan on traveling for a few months. I wasn’t planning on doing any work while abroad, but this post has me thinking twice. Great post, I’ll have to check back in a few months and let you know how it went.
Pingback: [转]程序员们,到了背起你的行囊的时候了! » 了解并拥有
Pingback: 程序员们,到了背起你的行囊的时候了! | 博客 - 伯乐在线
Pingback: A, Bee & Z | Backpack Me