iOS & macOS engineer,
designer, game creator
October 25th, 2016
« Previous | Next »

Working From Home
by Matt Reagan
"Working from home is becoming increasingly common, particularly among software engineers."

In 2011 the startup I was working at was acquired, and the working-from-home policy was relaxed. For more than a year afterwards I often worked at home 2 days a week or more. This changed completely when I joined Apple, which won't come as a surprise to anyone familiar with Apple's cultural and company policies. After Apple, however, I began my first fully remote engineering position.
    I've now had the opportunity of being a full-time remote iOS/macOS engineer for nearly 3 years across two teams. This post summarizes some of the challenges I've encountered, and related strategies for them.


What could be better than a job you can do in your pajamas? While it has its perks, there are definite challenges to working from home, which can pose significant hurdles for some people, depending on personality type and how they're managed.

Communication barriers
Office dwellers take for granted how easy it is to knock on a coworker's door and chat them up, which is impossible when you're remote. Communication is limited to chatrooms, phone, and video conferencing. If you're on a fully distributed team, it can become more challenging since your teammates may be on the other side of the planet and going to bed when your day is just getting started.

You can't "leave work at the office"
It has been proven that moving to a new location - even stepping through a doorway - causes a cognitive shift in how our brains process memories and information. Humans are bombarded with stimuli every minute, and our brains are great at compartmentalizing that information, much of which has a strong association with place.
    The problem? You can't 'leave work at the office', because you never leave the office. Even if you have a dedicated space to work at (which is recommended), it can be difficult to establish a meaningful separation between work and home.

Perhaps you thought things would be quieter, but unfortunately distractions at home abound: from pets, to your significant other, to readily available temptations like your favorite snacks in the kitchen, to other adult responsibilities that have been nagging at you (that loose roof shingle really does need to be fixed, maybe you should just do it now?).

Self-discipline / motivation
This will likely be the biggest challenge for most. When you are not surrounded by coworkers busily clacking away at their own keyboards, and instead are in your comfortable abode with a cat or dog curled up at your feet, it can be difficult to push yourself forward with the same level of motivation you'd have at the office.

The truth is that people are motivated not only by positive factors, but by negative ones too: job security fears, competition amongst teammates, worries about appearance. Working from home can actually alleviate some of these, but it means that the impetus to drive yourself forward in your work can also be reduced. In a perfect world everyone would work at full capacity because they love what they do all of the time, but jobs are also stressful (engineering ones especially), and ultimately it can be difficult to self-motivate when you're in your own space away from the office.

Longer hours
Although you may think having zero commute and no noisy coworkers tapping you on the shoulder will mean you'll be working fewer hours, in fact the opposite will likely be the case. Now that getting stuff done is as easy as opening up your laptop, you'll probably find yourself checking company email, reviewing pull requests, and having discussions well past normal office hours. Many teams are acutely aware of this natural tendancy and try to avoid it, but it can still be a challenge. The fact is that over time you'll probably find yourself working as much, if not more, than you did at your brick-and-mortar office job.

Team building is tougher
You won't have as many coworker lunches, breakroom laughs, or Friday outings as you would at a traditional office. Many distributed teams are cognizant of this and find ways to build camaraderie over the wire.

Tips For Working From Home

Have a routine
Yes, not having a commute means you may be able to sleep 30 minutes later. But that may not be the best idea. Instead, consider rising early and taking advantage of the morning to prepare for the day. But most importantly: have a routine. Get up at a regular time, and establish daily habits that will signify your workday as having officially started. On mornings when you're struggling with motivation or tiredness, such a routine will help kickstart your mental machinery into gear.

Get dressed as though you were going to the office
Okay, you don't need to don a suit and tie every day. But the idea is to at least make yourself presentable. Get dressed (that means no flannel PJs), brush your teeth, and comb your hair. Why? There is a direct correlation between our appearance / self-hygiene and how we feel about ourselves. It is tough to do professional, responsible work when you're looking like you just rolled out of bed. Even if you can get away with doing your morning stand-up in your boxer shorts, get dressed anyway so that you can feel like you're on the ball, and ready to make the most of your day.

Be proactive with communication
If you're working remotely, chances are others on your team are also. Communication may be limited to occasional video conferencing and Slack/HipChats etc. It's important in such environments to take the initiative and be proactive in reaching out.

Be aware of unique challenges to remote development
Plan ahead for the limitations that come with remote work, such as lack of test devices and hardware (having one iPad does not cut it these days when it comes to iOS testing). In many cities you can find open test labs where you can run your development apps on a plethora of devices.

Limit yourself as much as possible to work only
During work hours, make a reasonable effort to focus on work alone. Put the household chores aside until the evening, silence incoming personal calls, and avoid other non-work-related tasks, etc.

Have a dedicated workspace
The importance of this cannot be understated. It is a huge part of being able to have a meaningful daily work routine and space in which you can do your best work.
  • It should be quiet (get noise cancelling headphones, if needed)
  • It should be reasonably free from distractions
  • It should be properly lit and physically comfortable
You also might consider working in public spaces (cafes, shared office spaces, etc). For some people this can help with focus and motivation. Experiment and find out what works best for you.

Become a self-motivation problem-solver
There are many techniques you can use to help yourself stay motivated at work. The first step, however, is to approach the problem objectively. Be willing to invest some time and energy into honestly examining how you work, and be willing to change some things if it means improving your focus and motivation. In many ways, you're going to have to be your own boss at home (regardless of who your boss actually is) so be willing to put on that hat when needed.

Enjoy it
Having covered the difficult stuff, let's not forget that working at home should ultimately make you a happier, healthier employee. So make the most of it:
  • Get out for a quick jog, walk, or workout when needed
  • Be willing to take breaks and smell the roses (or grass, or desert cacti where applicable)
  • Seize the opportunity to make healthier dietary choices. This is a huge benefit of WFH that is often overlooked: you can save money, and eat healthier, every day. So do it!
  • Enjoy your schedule flexibility. If the sun is shining and washing your car would be a good mental break, go for it. As long as such activities don't negatively impact your work, there's no reason not to make the most of them. The important thing is to find out what works for you personally.

Why WFH?

It would be remiss to only point out the challenges of distributed teams, when there are so many positives, both for the individual and the company collective. Here are just a few:

Greater talent pool
Your selection of employees is no longer limited to one city. You can literally hire the best people on the planet, regardless of where they call home.

The dynamism of a distributed team encourages light, fast communication. You no longer have rigid schedule slots for 'Conference Room A' meetings that interrupt everyone's day. Instead, communication tends to happen on-demand in chats or hangouts. The fact that people are frequently working in different time zones also means fewer scheduling collisions and meeting overhead.

Engineers working remotely are typically self-starters who can take the ball and run with it. Giving them this flexibility and self-empowerment is a huge boost for both the individual and the team.

It is much easier to juggle and balance the demands of adult life with work when you have the flexibility to control your own schedule. Again, this is a big win not just for the employee but for the entire company.

Reduced costs
People who work in downtown metro areas can easily spend several thousand dollars a year just on parking. Remote workers don't have this problem. Reduced costs for the employee mean reduced costs for the company. That money can instead be used to grow the business or provide other incentives to attract the best possible talent.

Happy employees are more productive. Working from home makes for happier and healthier employees, and more productive teams.