When I interviewed for the position on Scott Hanselman's
team, one of the questions Scott asked me was if I'd be able to
handle working from home, with the isolation that usually entails.
Telecommuting (I hate that word) isn't for everyone, so the
question was actually very important.
Prior to joining Microsoft in October, I actually worked from
home a fair bit. I'd still get out to client meetings and sometimes
to the offices, though. There was enough variety to mix it up. I
was also a manager, and often managed people who were working alone
at a client site or from their homes.
Now, the only times I leave my house on business are when I
travel to Redmond or go to a conference.
I've also been working insanely long days every day of the week
in order to handle normal work as well as finish my Silverlight 4
Book. That definitely kicks it up a notch. Here are some tips
that I've found work for me, as a professional in the software
1. Build a Comfortable Office
My home office is not perfect, but it is pretty comfortable. I
have a big semi-circular desk (Ikea), a door that can be shut
(essential when you have kids) and a comfortable chair. The room is
out of the main flow of traffic, in the basement.
I even have a 55 gallon fish tank behind me. I enjoy the noises
from it and having a little green and life in here. Plants would be
good too :)
I only have two gripes about this room:
- There are no windows
- The washing machine and dryer are too close
I'm going to move my office to the other side of this wall late
this year or next. That room will have more space, be custom-built
to my needs, and... it'll have a window :) It'll be even more out
of the main flow of traffic and won't have any nearby appliances. I
need to finish up some other projects around the house before I can
do that, though.
That's what you want. You don't want traffic going by the door
constantly, and you can't have the distractions of family around
you. The corner of the family room definitely won't cut it. The
spare bedroom next to the kids rooms is probably not a great
choice. But hey, that unused back room in the basement, attic or
over the garage might just be the ticket.
2. Up your Bandwidth
I use Verizon FIOS and have business-class service running at
35/35. I needed business class since I run my web site from servers
in a rack in the other room. The additional bandwidth also helps
with VPN to Redmond, and to uploading videos to channel 9.
One of the best perks of working from home is the bandwidth;
it's almost always better than you'd get in an office, and without
any netnanny junk either. Get the best you can afford, and don't
skimp on upstream, especially if you plan on using Skype and other
webcam options from the tips below.
3. Get an Awesome Computer System
Multiple monitors, a comfortable keyboard, good mouse, Cinema HD
camera, fast processor, plenty of memory and a nice noise-canceling
headset. These are all things that can make a computer more usable
and a pleasure to sit in front of.
Get the best you can, and keep it upgraded. One of the
frustrations of working in a cube somewhere is you often get stuck
with old equipment and low bandwidth. At home, both are fixable
4. Get More than one Awesome Computer System
I have a second machine, supplied by Microsoft. It's a quad
core, 8gb machine running 64 bit Windows 7. This is my machine
dedicated to connecting to Microsoft. I keep it vpn'd in
constantly, and my browser home page is set to our intranet home
page. Its display is to the left of my main display, and I use
Input Director to share my mouse and keyboard with this
I also use this machine for editing and encoding videos. Having
a second machine I can dedicate to those time-consuming tasks makes
it easier to multi-task and get more done.
Having the machine connected to my workplace helps me stay
connected to Microsoft. If I have to take extra steps to visit our
intranet (go, VPN in and then do some other junk), I am far less
likely to do it.
Unfortunately, I missed the DirectAccess pilot when I joined, so
I can't keep connected without manually vpn'ing in. Instead, I just
reconnect whenever I see it disconnect, effectively keeping me
online there 24/7.
5. Stay in Touch using Twitter
I'd previously blogged about how I use
Twitter. I've found Twitter essential to help me stay connected
throughout the day - at least until the next big social platform
comes along. It's my water cooler.
Hint to stay sane: Don't follow people who post things that make
you angry. Don't give bile a permalink. :) (that's why I
rarely if ever mention anything about politics, religion, parenting
6. Skype and Office Communicator
One of the most important things for me has been to see my team
members on camera. I can't stress just how much better
communicating is when you can see the face of the person you're
talking to. Not only can you be sure they're paying attention (in
any given conference call, half the people are doing something
other than paying attention to the call), but you make that
important human-to-human connection.
Skype is, in general, full of win. I use it when I travel, so I
can call my kids and have them see me (again, that connection makes
all the difference to them), and I use it here to make free phone
calls and also to call people on the camera.
My wife even uses Skype from the laptop upstairs to tell me when
dinner is ready :)
7. Shower Every Day
Yeah, you know, shower. When all you need to do to go to work is
grab a coffee and shuffle downstairs, it can be tempting just to go
and plop your stinky self in your work chair and forget about the
TMI: Showering isn't the first thing I do every day (usually
dealing with my email is), but it does need to happen every
After all, you need to be ready for those skype and OC calls
8. Get out
This is something I often forget to do. Leave the house. Leave
the house before your car battery dies and field mice take up residence in your air
conditioning system. (Both have happened to me, the mouse thing
has happened 3 times).
At the very least, you need to dress up to go out to
ensure your clothes still fit. Trust me, sitting
on your butt working all day, without even having to walk to your
car, does wonders for your figure. (Speaking of which, treadmills
and similar are a great idea). I mean, you're working from home, so
you're probably wearing sweats or other nice accommodating
clothing. Please, don't tell me.
You have flexible hours. Take your kids to the park for a couple
hours in the middle of the day, or go to that user group meeting.
Run some errands. You want to get out, get some air, and meet other
humans face-to-face. Make sure you do this a couple times a week at
a minimum, preferably in the daytime.
Some folks like to go and work at the coffee shop or Panera or
wherever at least once a week. The plus side is you get out, get
good food and air, and get to see people. The downside is you lose
your awesome setup and bandwidth. For me, this works only for days
when I have non-creative stuff I need to slog through (expenses,
Want some good advice here? Talk to a stay-at-home mom
and see what she does to up the level of human
9. Be Flexible, but be Accessible.
Working from home, especially when there's a time zone
difference (3 hours for me) means you should generally consider
yourself to be more accessible. That said, my team respects
generally accepted working hours for the group (Me, Jesse, Joe and
Rey are on the east coast, Scott and Jon are on the west coast, and
the product teams are in Redmond, WA). I do make sure that if I
leave the house during those hours, I keep my mobile handy and am
able to take calls. Communicator lets me forward calls to my
mobile; I really should do that.
In any case, in return for the flexibility you're getting by
working from home, be accessible. Few things are as frustrating as
trying to get in touch with a remote employee when you need
Oh, and don't sneak out. If you're going to be out, let folks on
your team know.
10. Point out What You've Done
Out of site is out of mind.
If you want to stay a part of the team, you need to make sure
you tell folks what you've done lately. On Scott's team, we have a
weekly Monday "what I plan to accomplish this week" email and then
a Friday "what I actually did" email that helps for intra-team
visibility. In other projects, we've done status calls, or just
informal email. It doesn't really matter what form it takes, as
long as you can show that you've been productive and that you're
Let's face it, not every manager is comfortable with a remote
team, and not every team member works effectively from home.
Sharing this type of information with the whole team helps keep
everyone motivated and honest.
At Microsoft, remote employees need to go above and beyond to
show what they've done for the teams that are on-site. Microsoft
isn't really a culture that supports lots of remote workers; it's
more team-by-team basis. Visibility is important.
At my last job, there were only 200+ people who worked there,
but most everyone was remote at various client sites or at home.
The same thing applied there.
What do you do?
I'm still learning how to make working from home both more
efficient and more enjoyable. Share with me any tips you've found
work for you or others on your teams.