Posted on by & filed under Business, distributed teams, managing yourself, working remotely.

I’ve worked as a remote software developer since 2011. That’s three years without pants! Boo-ya, “Year Without Pants” guy. Just kidding, I wear pants (see “Wear pants” later in this post).

Has it all been sunshine and rainbows? No. In fact, I’ve gone a little crazy as a result of being “out in the cold” for so long, but overall I feel that I’ve thrived, and my career has thrived, in the past few years. I attribute this to following several disciplines, which I will share with you so that you may thrive too.

Use a work-only machine

For about a year at my first remote job, I used my personal laptop for work. Don’t do this! I promise, only bad things will happen.

If you’re like me and probably everyone else who uses a computer, you will leave your work open at the end of the day. Every time you use your laptop for personal stuff, your work will always be there, lingering with the psychological weight of deadlines and stress. This is especially problematic when your team works in different timezones because something is always happening, and when the deadlines loom, I challenge you to resist the siren call of work at 10:30 PM when you open your laptop to write your next NaNoWriMo chapter.

If you absolutely have to use a personal machine for work, set up a “work” user, so that you can keep work and personal use as separate as possible.

Wear pantsThe Year Without Pants book cove

Things I gradually stopped doing during my first year as a remote worker: wearing pants, brushing my teeth, shaving, leaving the house. It starts innocuously enough. You luxuriate in your newfound ability to completely not give a crap about your appearance, because hey, who’s going to know? Then one thing after another falls away and you regress to a state of Primitive Humanity, spurning contact with the outside world because you smell like garbage and putting off video chats with team members, lest they be concerned for your health. This can make you feel pretty isolated.

Nowadays, I follow the same routine I would follow for an office job. I take a shower in the morning, brush my teeth, shave, and as a result I’m always available for a video chat with coworkers and can slip out of the house to a coffee shop whenever I want. Solid gold.

Follow set work hours

Working from home sounds relaxing, right? Just kick back, blast your Spice Girls albums, recline in your favorite chair, smell the roses, blah blah blah. And yeah, it’s all great until you have a deadline. When that happens, if you lack discipline you will go to sleep in bed with your laptop open, writing code, then roll over in the morning and start again, without taking breaks. It is human nature to focus on immediate threats to our existence, and a deadline is the 21st century equivalent of a rival tribe’s war cry. Your body will tell you that Things are About to Get Real, and when you work remote, the signal fires 24/7.

The best antidote to this is to keep regular working hours. (I also recommend other life tools that I won’t talk about in this post, like meditation, deep relaxation, journaling, etc.) There should be a time you start working and a time you stop, every day. You should also have some kind of weekend during which you regularly stop working. This should all be explicit because if it isn’t, you will fall into the abyss, I promise. I’ve been there.

Never, ever watch TV, play video games or drink booze during work hours

There is an iron rule to succeeding as a remote worker: in general, don’t do things that you wouldn’t do at work.

Do you make video games? Then maybe it’s a thing at your company that everyone plays video games during work hours. That’s not what I’m talking about. You know what I’m talking about. It’s 2:30 in the afternoon, and you’re drinking a Mirror Pond Pale Ale while playing Skyrim. Video games are especially problematic because of how addicting a good game can be, and how easy it is to reach over and fire up your gaming PC or console or whatever.

Discipline is the answer, but if you’re trying to build discipline from a state of pure mindless compulsion, put the game system in a different room or on a different desk than your work computer. If you find yourself wanting to drain all the six-packs in your fridge, try working from coffee shops instead of at home — or maybe remote work isn’t for you after all!

Having a work machine and working outside of the house when you’re feeling distracted can make following the iron rule easier, but the ball is in your court. And don’t think that anyone just starts working from home and flawlessly gets this right. Developing the discipline to avoid these things is a process.

Pad your day with downtime

Your regular working hours should not be “as soon as I wake up” and “when I can’t hold my neck up anymore.” That is obvious. Less obvious is that your lack of commute time will lead you to naturally stack activities immediately before and after working hours, especially if you are a parent of a young child. It’s pretty hard to jump right into work at 8:30 a.m. moments after being engaged in the many challenges of parenting a baby or toddler, and it’s even harder to jump right out of work-mode and open up to your children and spouse or partner mere seconds after closing your laptop.

Try to build 10 – 15 minutes of space to prepare for these transitions. Take a walk. Do some breathing exercises. Journal about your day. This is an area that as a parent and a spouse I still struggle with. My family is waiting for me outside of my office as soon as the seconds-hand dusts the last minute of my working hours, and it’s hard to deny them.

Stay off email at night

Establish a way that you can be reached for emergencies. This should not be email or anything that is going to beep, boop or shake at you during downtime for non-emergency reasons. Then just stay off email at night. That might mean doing something as crazy, as jaw-breakingly radical as not signing into work email on your personal phone, or maybe you have an email program signed into your work account that you turn off notifications for (easy to do in iOS).

My team knows that they can contact me on my cell phone during an emergency. Urgent questions during working hours usually reach me through HipChat, our company’s text-based chatting program. I also check work email during the day from my work computer. Otherwise, I have an email app on my iPhone logged into my work account, just in case I need to check email, but notifications are turned off and I don’t check it at night unless I really, reallllly need to.

Create physical space

You probably won’t be able to write code or come up with pithy marketing bylines or whatever you do remotely while sitting on your living room couch next to your kids. Surprise! They’re going to throw toys at you and generally destroy your focus. I also find it hard to work sitting in a utility closet or — more insidious — next to a bookshelf loaded with all my fine personal reading.

The best thing is to have a separate room dedicated to work, if you can afford such a luxury. The room should have a door and ideally a window. You should feel comfortable calling it an “office,” in the sense that it is not also a playroom or laundry room. I was my happiest as a remote worker when I had one of these.

If you can’t have an office, though, carve out a space in the larger room in which you work and make it your work space. I’ve done this at my current location: I have a corner of the basement that is my “office,” and the things I put there, my desk, the chair and lamps, I selected to be office-like and remind me that I am at work. They’re cold and black (just kidding, as some colleagues can attest, I have a rainbow light).

Connect with your team

One of my hardest remote jobs was one in which I had very little day-to-day contact with my team. I would travel to meet them once or twice each month and have occasional phone calls, but we didn’t have a company chat room or make use of regular video chats. Of course, as a programmer I kind of loved this — if you can get away with it, the quietude makes for very productive days, certainly more productive than your average day will be at a company with constant distractions from video meetings and chat rooms.

However, without frequent day-to-day interaction with your coworkers, you probably won’t feel like part of a team, and they probably won’t feel like you’re part of their team. Duh! Plus, taking my work as an example, software projects are difficult and complex undertakings that usually require a lot of communication.

I find that Safari handles this the best of all the companies for which I’ve worked remote. I’m typically in several chat rooms during the day with everyone else at the company, talking to lots of people, with additional private messages happening to work out details. Meanwhile, I have a few video chat meetings during the week to let me see human faces and hear actual words, so we can all keep our humanity. This is great.

It does, however, put the onus on me to create “focus time” blocks on my calendar, or else I have trouble staying productive.

Adapt to the environment

If you work remotely long enough, your life will change. It happens. The work environment you had that was super awesome will suddenly collapse.

For example, when I started working remotely, my wife commuted to her job in the morning and came back at night, and we had no children. This is probably the ideal case for remote work because there are few distractions during the workday. Nine months later, though, my wife was at home with our newborn baby, and suddenly I had to learn how to stay productive and focused when my brain was telling me to play with my daughter and talk to my wife (to say nothing of dealing with constant naps).

So I had to adapt. I started working from coffee shops for part of the day. This was fine until I joined Safari, where I learned that video chats were an integral communication tool. I didn’t really want to blab away on a work chat in a public place, so I had to adapt again. Eventually I found a balance between working at home for video chats most of the time and working in coffee shops part of the time. This was great until we suddenly had two other Portland engineers. Then I wanted to work in person with them, so Safari hooked us up with a coworking space and now I work there sometimes.

The point is that you will probably be happiest if you adapt your work habits to your environment.

Learn where you work best

I’ve worked in just about every kind of place imaginable. Homes, tea houses, coffee shops, malls, book stores, public libraries, colleges, city busses, Greyhound busses, terminals and airplanes, just off the top of my head. As a remote worker, you will need to find the places where you are most productive — that’s part of the fun of working remotely.

Like solace and quietude? Work from a graveyard! Just kidding — your house will probably do fine, assuming no one else is there. If you like being around some hustle and bustle but don’t want to be interrupted by people like in an office, coffee shops are great, though they can be expensive over time. If you do want to be interrupted, try a coworking space! If you enjoy that unique smell of dust clinging to ancient book bindings, used book stores are great, but libraries often have better wireless internet and their books are free! The important thing is to try working from lots of different places to see what allows you to focus the best. Even though it might seem like you should “work from home,” sometimes getting out of the house will net you less distractions.

Increase your social activity

Here’s a funny thing about working remotely that you might not think much about at first: I didn’t make a single “friend” at work (which I define as someone I want to and can invite over to dinner with my family) for two years, until Safari hired a second Portland engineer. This is somewhat acceptable if, like me, you have lived in the same place for a long time and already have lots of friends, but I expect that it would be debilitating for someone new to a city.

Another thing that you might not expect is that most people actually derive meaning and other good feelings from face-to-face social interaction. What! Take away eight or nine hours of daily social interaction from your life, and you will feel the absence, so it’s important (or it was for me) that you increase your non-work social interaction to account for the difference.

In my case, my wife and I started doing Meetups with other vegans and parents (and vegan parents!) when we were looking to meet new people, and suddenly we met a bunch of new people and made good friends. I also rounded up a few friends, both old and new, and started running a regular, in-person Dungeons and Dragons game (well, Pathfinder actually, but whatever). Maybe for you that will be a book club, buddy-gym time, social drinking (just don’t break the iron rule! I’m aghast that you would think of it!), pillow-fight sleepover or whatever. Do something with real people, off your computer, or your life will turn into a gray wasteland of tears, I assure you.

In summary

Rolling this all up into a nice package that you can remember, I would say this:

  • Set regular working hours
  • Follow the iron rule: Don’t do anything during working hours that you wouldn’t do in the office
  • Talk to your team every day
  • Actively try to meet new friends and do more social activity outside of work

Just practicing a few of these disciplines should improve your life as a remote developer. Practice them all to thrive.

Tags: distributed teams, managing yourself, pants (the wearing of), remote work, sunshine and rainbows, working remotely,

4 Responses to “How to thrive as a remote worker”

  1. Tom

    Thanks for sharing your experience and all the dos and don’ts for the remote work.

    Do you also have some additional golden rules for young deputy team leader who is learning how to manage
    a team of 5 (including myself as I’m acting as double agent – both technical role and deputy team leader)
    engineers of which one is working from the same office as me,
    one is working remotely from home, and the other two
    are working from different sites (and cities) of the company ?

    Thanks and have a great week :)

    • Andrew Brookins

      Hi, Tom!

      Glad you found something useful (I hope!) in the post.

      I haven’t developed as comprehensive a set of “golden rules” for leading teams
      as I have for working remotely. This is in part because after a couple of years
      of working in team-lead-esque roles, I’m still learning how to do it.

      There is, however, one rule that I feel I have certainly learned, that I can

      Lead by example: This cliché is deep and highly relevant. Most people
      look at the behavior of team members in leadership roles to understand
      expectations for their own behavior within the team. This seems to be Group
      Psychology 101, but you have to feel the ramifications enough times for it to
      sink in.

      Without realizing it, leaders can easily create cultures of criticism and
      blame. This is the first thing I recommend watching out for.

      Cultures of criticism

      Depending on your personality, it may seem natural to hone in on
      ways other people can improve their code or work, since people who seem
      competent enough to lead a team have probably done a lot of self-flagellation
      to arrive at competence. In a sense you are being asked to guide a team to
      excellence, and practically you will perform code reviews and “mentor” team
      members. It’s easy to start outwardly directing some of your inner edge, and
      this will almost certainly a) upset people and b) set the expectation that
      other people on the team should do the same to each other. If you aren’t
      careful, pretty soon the atmosphere will become toxic.

      I find that the antidote here is to change your idea of what “mentorship” and
      guiding a team to excellence means. To me, it means doing my best to appreciate
      all of the good things that teammates bring to the team, to praise the things I
      appreciate (both privately and publicly), and to give constructive,
      respectful feedback when needed.

      Cultures of blame

      Unintentionally creating a “culture of blame” is a similar problem. Blame
      appears to be a natural human reaction to irritation. When confronted with a
      problem, people tend to immediately look for the person “responsible” — often
      before trying to understand the root cause of the problem. Modern tools in the
      engineering workplace make this easy: you git blame to find the commit,
      it usually has a ticket number, then you read the ticket. Someone involved will
      likely jump out as the person most responsible for the catastrophe. For some
      people, naming that person in a chat room or somewhere that other people can
      notice it seems to be the next natural step: “Oh, this is @Bob’s code. Bob,
      care to explain?” (or Sarah, or whomever).

      All of the pieces of this workflow are important when troubleshooting a problem
      (commit history, ticket trail, etc.), except for the blame/shame aspect
      (“blame/shame” is a mnemonic that helps me avoid doing this). It seems innocent
      enough to mention the person who made the commit, “Oh, this was Bob’s code,”
      especially as you’re trying to understand it, but doing this in a public way
      contributes to a culture of blame.

      Aside from little mnemonic devices, the real antidote to this is to change your
      attitude about how teams work. This may be controversial, but I don’t see a bug
      as an individual person’s failure. It may very well be that Bob misused a
      generator expression, but why didn’t an automated build system catch the error?
      And furthermore, how did it get past code review? And why was he working 14
      hour days last week without getting extra time off to rest? Other people always
      creep in. So to me, blame is both unhelpful in the moment — try just a private
      message to people who may know about the problem, to see if they can help you
      understand what’s going on, rather than public shaming — and also usually (in
      my view) dishonest.

      Other leading by example stuff

      Another thing to watch out for is your approach to working hours. People will
      look at the times during the day that you commit code, write tickets, answer
      email and are available in company chat rooms. If you are often visibly and
      publicly working during evenings, nights, weekends, vacations and holidays —
      in other words, time people thought they got off from work — you are sending a
      message that this is expected behavior.

      You might think that you are sending a message that you will do whatever it
      takes to protect the team, or that you have their backs by working late to keep
      up with your usually-overwhelming responsibilities, but what a lot of people
      will feel, instead, is pressure to work the same hours, and fear that if they
      don’t, you will think less of them.

      The reality is, you might have to do all of these things occasionally.
      Technology can help. You can cherry-pick your local work later and push a
      commit during working hours. If you have to write email at night, write it
      and then schedule the send for the morning.

      But really if you have to work at night and on the weekend a lot, maybe you
      aren’t giving other people on the team enough agency, aren’t delegating
      properly, or the team is struggling with estimates.

      Other stuff

      Here are some other things I’m still working on, but seem to be important: give
      people agency, learn enough about your teammates that you can see them as
      complete people, consider leadership a personal attribute not a title (be
      willing to step into and out of “formal” leadership roles), align your working
      schedule with the majority of teammates.

  2. Tom

    Hi Andrew,

    Now that’s quite well rounded and consistent set of rules – good starter for another great blog post :)

    1) Lead by example.
    2) Don’t complain about everything and everyone – it will not help and do any good.
    3) Don’t be bossy.
    4) Don’t blame and never in public, especially during the investigations when the problem is still there.
    5) Everyone in the Team is different (meaning=unique) person – respect that and don’t make
    Fellow Team Members as if they were your clones as there are many ways of achieving the expected result.
    If the ways are acceptable by the quality processes in place, they deserve recognition rather than alignment.
    6) The example of excessive\late working hours (as a team leader and\or my technical role) – interesting, I need to think about this approach.
    I’m quite competitive person (in terms of I hate giving up (and I’m hardly ever doing that) on any task or deadline even if this means staying longer to deliver something), but this might be also related to the domain where I work – land of very precise downtimes, coordinated efforts of many teams and roles etc. I was rather perceiving the above as the first perk of leadership you have mentioned – leading by example (always on the front line) and building the reputation of a person\team which is delivering whatever is required and always wins. Anyways, I guess that balance is always better approach in the long term.

    One quite important thing for me is how to establish the professional relationship will the surroundings of the Team, as there are many more parts of the puzzle involved and different Teams are lead and guided by different leaders.
    Fascinating world I must say :)
    Thanks a lot for your reply :)

    • Andrew Brookins

      No problem — you gave me a lot to think about, too! Thanks for reading our blog. :)