12 September 2010
I've had a handful of discussions recently about working from home. Some conversations have centered around hiring people onto my own distributed team, others have revolved around the method one uses to land a work-from-home gig.
Here's a collection of my thoughts. I enjoy the conversations, but blogposts are more easily shared.
Don't apply for office jobs
The first question I get is "how do you get work-from-home jobs?" The easiest
answer is that I apply for them. Conversely, I don't apply for jobs that require
a particular location or presence in an office.
This actually makes the job of finding a job much easier. I can immediately discount pretty much everything on all the various job-boards normally used for technology positions.
Some folks would consider that a down-side, though, since you're limiting
your options. There's 1000 jobs out there, but you find 997 of them
distasteful because they require you to be in a certain place.
If you're going to be that picky, you've got to make sure you can win one of those rare few jobs that allows you to work from your back patio.
Don't apply for jobs near offices
If you live in San Francisco and apply for a Bay area job, it's truly difficult to maintain the "I only work from home" mentality. If you're capable of dropping into the office with ease, you'll probably be asked to.
Live in a rural area away from airports. It gives prospective employers more trouble asking you to come in for even one day each week.
Be able to work independently
If an employer is simply trying to turn a staff of 20 engineers into a staff of 21 engineers, to add some marginal capacity, you're screwed. They're looking for quantifiable "engineering resources ", The kind that don't have to work independently.
Assuming there is a spot that requires independent working, and the
employer thinks you could fill it remotely, you need to be able to
convince them you're capable of it.
The employer fears you'll wake at 11, work until 4, and take a 2-hour lunch. And that you'll not let them know the schedule is slipping until the deadline arrives.
Saying "No, really, I'm great at working from home" doesn't do all that much to reduce their fears.
Proving you can work independently on projects from home works a lot better. This can be done one of two ways:
You've done it before, at a previous job that lasted more than a year, and was more than one-day-a-week remote.
You've done it before, as a major contributor (or leader) of an open-source project.
This first option is the best, but presents a chicken-or-the-egg scenario.
The second, on the other hand, is completely within reach of every engineer with a pulse. I'd even venture to say that if you can't create and lead an open-source project, you'd probably have difficulty actually working from home.
If you want to show prospective employers you can maintain the discipline
to work independently, from a remote location, nothing beats an open-source
If you have no project now, get started. In two years, you're going to be two years older anyhow. You could be sitting in an office, dreaming of working from home, or you could be working from home because of that project you started today.
Have the jobs find you
Since you're now the leader of a successful open-source project, you're no longer just "an engineering resource". You're that guy, you know, the one who leads that project.
Your interactions with your project now builds your network of people who know you, specifically. And they know your work, specifically.
Now, the thing is, chances are you'll never actually get paid to work on your open-source project. The goal is not to find someone to pay for your open-source work. The goal is to use your open-source work to find someone who will pay you to do whatever it is they need.
Don't get hung up on finding a "sponsor" for your project. Instead, you're hoping to find an employer who values and appreciates the work you've shown yourself capable of. They see you as a smart cookie, and they want to apply your smarts to their interesting problems.
The real point is to build your reputation and your network. Employers will decide that you're the guy they want, and they'll contact you.
Work open-source jobs
Since you're now an open-source zealot, there are plenty of gigs out there with companies centered around open-source. And these companies with open-source in their blood and in their culture are much more open to remote workers.
It's the cool thing, lately, for VCs to funnel millions of dollars into companies who pay engineers well to give software away for free. The economics might not always make sense, but it could be a good job, at least for a while.
Once again, your own open-source project may or may not fit into their portfolio. The goal is to work from home on interesting problems. Running your own open-source project is just a means to that end.
Be prepared to travel
Assuming you've successfully landed that work-from-home job, and you live hours away from any airport or office, prepare yourself for some moderate amount of travel.
I find it exceedingly difficult to insist on "work from home"
and "no travel". Since you're a non-fungible person, not
just a random "engineering resource," sometimes you specifically
will need to be somewhere. Maybe you do have to fly to the office,
or a client, or a conference every so often.
For me, that's a 90 minute drive and two airplanes, anytime I have to go somewhere. It takes its toll. It's a trade-off you do have to be willing to make.
But at least you lose the 90 minutes of commute every day.
I started out contributing to open-source as a way to learn C++. I wrote a massively concurrent make-style build tool, as open-source, which landed me my first job.
I wrote a handful of open-source projects and created the Codehaus to collect them.
I created (along with Mark Proctor) the Drools open-source rule engine, and sold it to JBoss.
I worked for Twine.com based on my reputation in open-source.
I joined Red Hat based on my experience with Drools and open-source in general.
Now I do have the job where a company is "sponsoring" my open-source projects that I work on from my front porch, in a farm-town with 5 stop-lights.