I take a lot of vacation. I find it more enjoyable than working.

That's not to say that I don't like working. I write software for a living, which is crazy fun in and of itself. If you'd have told little 14 year old Jason, writing games on his Commodore 64, that he'd one day have a job doing basically the same thing, he'd have been pretty stoked.

But over the years I've found a lot of other stuff that I like doing even more than programming computers. I like to climb rocks, surf and travel through interesting parts of the world, and always found it hard to do that for, say, most of the year every year when I had to work for other people. So I set out to build a business with the heuristic of "Maximize Jason's Vacation Time".

This is a rather long and drawn out account of how I did that (and how you can probably do that too.)

Stage One: Contracting

I sat in a lot of felt cubicles in the 90s, riding various venture-backed startups into the ground and generally having a lot of fun doing so. Over time, I noticed the same story coming up again and again. About "the Contractors who had charged $150k to build the prototype" and "the Contractors they brought in for $200/hr to build this other system". The general tone was always sort of "That's unfair. We could have saved the company a ton of money if we'd have done this ourselves." But I came away with a different message:

I gotta figure out how to get into this "Contractor" thing.

So, as always happened in 1998, the company I was working for burned through its $5m over the course of a summer and laid everybody off just before hitting the ground. I had been doing some cool stuff for these guys, so I got a call from the CTO asking if I was interested in sticking around for a few months to mothball the tech so the investors could possibly sell it onward.

"I suppose", I said, "I could stick around on a Contract..."

Stage Two: Travelling Between Contracts

Now the cool thing about Contracting, in case it wasn't clear above, is that they pay you at least twice as much as everybody else to do the same job. Yeah, you have to buy your own health insurance, and they can drop you with no notice whatsoever. But it turns out that any job can and will drop you without notice. And catastrophic health coverage is like $100/month for a healthy guy under 40. The math kinda works out.

Being an Engineer, and thus knowing how to divide, I quickly worked out that a job paying "twice as much in a year" will also pay you "exactly as much in six months". And hey what do you know, they have Contracts that last just 6 months. And flights to Thailand for $800.

So I started taking time off between gigs.

I experimented a bit and found that if I moved to a high cost-of-living spot like Southern California to pick up those contract gigs, I could live cheaply and sock away even more of the higher rate those gigs would pay. After all, while rooms in LA go for $900/month instead of $300/month in Portland, you can make up that difference with a single day's pay at $75/hr.

And since rooms on the beach in Thailand were going for $5/day back then, it'd only take a few months of Contracting to pay for an entire year on the road in places like Southeast Asia and Africa, including occasional flights and beer money. I got pretty good at rock climbing.

As it worked out, though, I never made it a whole year on the road. I missed thinking. As fun and rewarding as it is to travel the world, the intellectual challenges you face trying to work out bus routes in a language you don't understand can never compare to the ones you face writing code. I'd end up emailing my contacts back home somewhere around the 6-9 month mark, and would eventually hop a flight back to LA to work another gig.

Stage Three: Travelling While Contracting

That was all way back in the early 00's. Even then it was apparent that this whole Internet thing was kinda taking off. While the concept of "guy on a beach with a laptop" was still mostly just a cheesy AT&T ad, it was starting to seem like it might not actually be that far off. I had some freelance clients in other cities. Some of them I'd never met in person. I was already working remotely. Why not see how remote I could go?

So I picked a client. Or rather, a client picked himself by dragging out a project when he knew I had already booked a flight. And we tried having me build his thing out of my bungalow on Tonsai beach.

It kinda worked. And it got my internal mathematician working again to determine that hey, I can afford to live here on this beach indefinitely if I can somehow arrange just one day of work per month.

That's good.

Stage Four: Software Product Business

The only downside of all this is that it still required quite a bit of working for Other People. Other People often have silly ideas about what needs working on, and the work is sometimes not as much fun as you could hope. But try as I might, I couldn't find a solution. The problem was, every time I stopped working for Other People, they stopped sending me money. Something had to give.

I started working on building a Software Product in my spare time (which, helpfully, I still had a lot of). But boy, did I suck at it. There are a lot of really good resources online these days to steer a fella clear of all the obvious pitfalls I stumbled across in places like picking product ideas, gauging interest, finding customers, etc., So now I do a lot of nodding along to articles with tons of common sense advice that anybody with half a brain could have figured out, but that had never occurred to me when I designed and built my first several products.

But I stuck with it and eventually came up with Twiddla (which lots of people really like) and S3stat (which people are actually willing to pay for). The second one pays to keep the first alive, which is handy because that one is a lot more impressive to show off in case I ever need to find another one o' those contract gigs in the future.

And the cool thing with Software as a Service (SaaS) products is that people keep sending you money every month whether you're working or not. QED.

It's still hard though. When you first build one of these "earn money in your sleep" SaaS products, it really doesn't make you all that much money. After a few months of being launched and signing customers, S3stat was still only bringing in something like $50/month.

It was tough to keep motivated to tweak, market, A/B Test and otherwise keep moving forward with this product stuff, especially looking at the old consulting rate and comparing it to the effective hourly rate from this f'ng side project.

But here's the thing. After a while, that $50/month started to look more like $500. Still nothing compared to consulting, but it paid me that $500 while I was off surfing in Morocco for the whole month. And the next year it paid me $1,000/month while I was backpacking through South America and building another (sadly failed) product on the laptop. It even kept sending me money at the same time I was doing consulting gigs for other companies.

Notice that it kept growing even when neglected. That's another advantage of SaaS. Until attrition really kicks in, you're going to be signing more customers than you lose. Even if you only sign a few per month, that's revenue that just keeps piling on top of itself.

Stage Five: Chillin'

Having a successful Single Player Software Empire does have one downside: Customers.

Having Customers can sometimes seem an awful lot like working for Other People. Customers often have silly ideas about what features your product needs. They send you emails asking to reset their password, and they don't appreciate it if your thing stops working for an entire week while you're taking a riverboat up the Amazon.

I'm lucky that S3stat has a pretty technical audience that doesn't generally need a lot of hand holding, so support was never something that needed my full time attention. Still, I'm an Engineer, so I like to automate everything that can be automated. That doesn't just include simple things like those password reset emails. It also means that whenever I get a support request, I make sure to Fix It Twice: Once to fix the issue for the customer, and another time in the code, documentation or UI to make sure that I don't ever see another support request for it. So as time goes on, there are fewer things that can interrupt my Days Off. (Days Off being defined as days where the sun is out or the kids are off school and I don't need a rest day from climbing or surfing, so hey, let's polish the product a bit).

Naturally, I still get bored of Chillin' The Most, so it's handy to still be good at all this computer programming stuff. I'm still cranking out new features for S3stat and Twiddla, and I have Unwaffle (the SaaS Customer Lifecycle Metrics thing I've been writing about lately) running in beta mode for a few test customers. Lots of code is getting written, but finally it's all happening on my time.

Which Was What We Wanted.

A footnote.

I don't mean to brag. I don't mean to boast, but I'm intercontinental when I eat French Toast. Mike D

I see articles like this come past on the Internet every once in awhile, and they are invariably received with hostility. "Sampling Bias!" "That guy could only do this because of $X!" "That wouldn't work today in this economy!" "If all this stuff really worked, why tell us about it instead of milking it for millions. He's probably just trying to sell us his book!" Lots of reasons why we should quickly dismiss everything that was said above and carry on the way we were before.

But a good plan instead might be to read those stories and see if there is an idea or two in there that might be applicable to other people. Perhaps, even, to you yourself.

Personally, I don't find any of the above to be particularly remarkable. As software developers, we're in one of the few professions where we actually can move to a tropical paradise and get paid to do our thing.

Consult remotely, build products and charge money for them. Pick a paradise beach that doesn't have tall hotels on it and is therefore just this side of free to live on. Bring some savings and start small.

I know that this works because I (and lots of other people) have done it. And no, I will not charge you money to tell you how to do it. Everything you need to know you can learn from the previous paragraph. It really is doable. Don't go out of your way to find a reason not to try.

Good luck!