Staying Motivated as a Work From Home Developer

Check out some handy tips that we’ve learned over the years as work from home developers — including managing distractions, tracking time, and more. By Antonio Bello.

Login to leave a rating/review
Save for later

Check out some handy tips that we’ve learned over the years as work from home developers — including managing distractions, tracking time, and more.

Note: We’ve updated this article to make it more consistent with the current global health advice in hopes that it may help you with the COVID-19 pandemic.

Do you suddenly find yourself working from home? Are you struggling to find ways to stay productive and motivated?

Working from home has its advantages, but there are certainly drawbacks as well. Staying motivated can be a big challenge for many people, due to the many distractions at home, a sense of isolation, and the lack of a boss who pops her head into your cubicle at the most inopportune times to keep you on your toes.

There’s no science to telecommuting; there’s no official list of do’s and don’ts. This article won’t teach you how to work from home, but it contains some common practices many experienced home-based workers follow.

Some practices may apply to you, and some won’t; some of the practices that many avoid may actually work really well for you! What’s important is that you have to figure out and decide what’s best for you.

Without further ado, here is a list of some things the team and I have learned over the years about working effectively from home! :]

Note: Special thanks to the Tutorial Team members who shared their advice for this article: Ray Wenderlich, Kelvin Lau, Ray Fix, Derek Selander, Richard Turton, Mic Pringle, Aaron Douglas, Cesare Rocchi, Brian Moakley and Adrian Strahan.

Your Environment

You’re going to spend a lot of time in your working environment, so it makes good sense to put some thought into where you work.

Choosing Your Office

Even when working from home, you need a place which you can call your office. It doesn’t always have to be the same place, and there are no rules as to what defines an office: It can be a dedicated room, a corner of the living room or a spot in the garage. However, many suggest that you define and reserve a certain area of your home as your office and always use it as your primary working location.

Some people choose to set aside a whole area of the house for work purposes only. That way their brains know once they enter that area, it’s time to work. Adrian Strahan suggests that everybody in your house should know that when you’re in your office area, you’re at work and they should refrain from disturbing you as much as possible.

I have a dedicated room for an office, but I usually spend at least a couple hours out of every day working in the living room. If you want to break the monotony of spending a whole day in one room and you have a laptop, try moving to a different place on occasion — it can be another room, a chair with a nice view or any other place where you can relax and still work.

working in the backyard

Creating Transitions

In a traditional office job, you transition to work mode when you leave your home and travel to the office. Cesare Rocchi suggests you create your own rites of passage, which can be anything that helps your brain recognize the transition; during the summer months, his approach is to water his plants.

For some, it may be brewing a mug of coffee or tea. Yours can be anything that works for you: Turn the radio or TV on or off, open a certain window, close the office door, have a shower, or just head to your office and sit. Whatever you choose should be a pattern your brain can recognize as the beginning of your work session.

If you use a computer for leisure activities such as playing games or watching movies, it’s a good idea to avoid using your work computer for these activities and get a second computer — if you can afford it. Moving to a different computer could become part of your transition pattern. It might help eliminate those moments where you say to yourself: Why am I wasting my time playing Battlefield when I should be doing work?

Choosing Clothing

OK, it’s your home, and you have the right to dress however you like. Nonetheless, dressing for work might be a valuable part of your transition, along with taking a shower. Regardless of where you work, it’s probably best to smell fresh! :]

Personally, I rarely work in pajamas, preferring to dress before turning on my Mac. I don’t go to the level of formal business attire, but I choose something I wouldn’t necessarily wear outside and something that I wouldn’t feel embarrassed to be caught in if unexpected guests showed up. This is probably the only ritual I rigorously follow in my own transition.

cartoon with kid asking 'Daddy why don't you wear pants to work?'

While the cartoon is funny and points out a potential pitfall of remote work, it’s also important to remember when everyone is working from home that kids, pets, spouses, delivery drivers and bears raiding the bird feeder are part of life for all. Be respectful of others’ issues during remote meetings and you can expect the same.

bear cubs destroying bird feeder

Fixed or Flexible Time?

There’s a lot of variation on the subject of working hours; on one side, you have fixed hours like you’d see in an office situation. On the other side, you have complete freedom of working hours — even the middle of the night if you so choose!

In many cases, working hours depend on your employer or client agreements, as they might require a particular window of availability window each day.

Mic Pringle prefers to have a structured routine with fixed working hours every day, just as if he was working in a traditional office. This particular approach greatly helps in the transition to work mode.

I set a predefined number of hours to work every day, and I let external events (mostly family-driven) change my work schedule as required. In the event my schedule is interrupted, I simply work into the evening until I reach my daily goal. If isn’t possible, I usually reserve part of the weekend to catch up the hours lost during the week.

True, that’s more of an anti-routine pattern, but I feel comfortable enough to stick with it until there’s a good reason for a change.

Many variables affect working hours:

  • Start time
  • End time
  • Number of hours
  • External events
  • Distractions
  • Family
  • Mood

The key point here is to prioritize each of these areas in a way that works for you. For me, it’s the number of hours, followed by family and external events. For you it could be start and end time, or start time and number of hours, or any other combination. If you have kids, you might need to give your family a higher priority and adjust your start and end times accordingly.

Managing Distractions

Managing distractions

Human and environmental distractions in a home office typically differ from those in a traditional office, but digital distractions are pretty much the same between the two: Email, chat, Twitter, Facebook, and others can be real time sinks. The degree of distraction can be even higher for remote workers since no one’s looking over their shoulders to see what they’re up to.

I consider myself lucky because I’m a digital introvert; I seldom use Facebook, and I consider Twitter an invaluable work tool but I don’t let it take control of my time. Notifications of events can be checked out in only a few seconds, at the risk of temporarily losing contact with the task in front of me; however, badge counters that indicate the number of new tweets, Skype messages and unread emails I haven’t dealt with are like hammers knocking on my head! :]

If you find yourself frequently distracted, you should think about softening your notifications or disabling them outright. For temporary distraction-free mode, the easiest solution is to close all apps that generate digital interference; a simple reboot will re-enable them all.

Time management solutions, such as the pomodoro technique, can help you ignore distractions and give you a predefined time when you are free to process non-work-related items. No matter which time management solution you use, the trick is to focus on a specific task for a fixed period of time with regular, time-limited breaks. This helps improve focus and productivity.

There are tools you can install on your computer to monitor which apps you use and for how long; they provide reports that help you figure out how much of your time is spent on distracting or unproductive activities. I’ve recently installed RescueTime, and it’s already starting to reveal bad habits I should probably change.

Handling Environmental Noise

Environmental noise is a very subjective topic; some people need absolute silence to focus, whereas others, like me, consider silence itself too “noisy” and disturbing. But how do you fill the silence without the noise becoming distracting? There’s the standard background music approach, but the following solutions work for many people as well:

  • Radio
  • Podcast
  • Television
  • Monotone sound generator
  • Iterative or minimalistic music
  • Environmental noise

A friend of mine prefers a hair dryer, of all things; its monotonic sound, combined with the air flow directed toward his face, helps to isolate his mind from the surrounding world.

If music is too invasive, you might find ambient sound generators an excellent alternative. They can make you feel like you’re in a café, or other public places that have a constant but soft murmur in the background. A good one to try is Coffitivity with different background crowd noises to choose from.

Whatever your habit or preference is, be sure your place of work is conducive to and accepting of the background noise you choose!

developer with huge speakers blaring in the background

Your Work Style

Just as there are multiple ways to manage your work environment, there are many ways to manage your work tasks as well.

Tracking Tasks and Time

When I’m in work mode, I always track my time, regardless of what I am doing. That helps me to understand how I spend my time, and what the ratio is between the time spent doing project work and the time spent doing other tasks such as reading emails, learning, reading blogs and catching up on accounting or invoicing tasks. There are several tools to simplify or automate time tracking; the one I use is Toggl.

Ray Fix creates a work log every hour, detailing what he did in that time interval.

Ray Wenderlich suggests keeping a time log notebook. When you begin a task, write down the time, such as “10:00”. When you finish the task and are ready to begin a new one, write down the end time and what you did. Your line will now read like “10:00-10:30 – Added feature X”. Try logging everything you do, including email reading, work breaks, or any other task you perform. You’ll find that it has two benefits:

  • You’ll find physically recording your time improves your focus on a task.
  • You can look back on your time later and see where your time is spent in a day.


For developers, learning how to solve a problem is sometimes seen as more important than learning about the problem. Staying up-to-date with recent trends, patterns, and other updates in the development sphere is not just important to your personal growth; the quality of the work you turn out depends on it. It’s also beneficial to keep an eye on other current technologies, even if they don’t appear to be directly related to your work.

Anything you learn, even if you don’t find the subject matter enthralling, contributes to your knowledge. Learning what you don’t like has a purpose as well: It helps you appreciate what you do like! :]

Finally, continuous learning means you’re investing in yourself. It’s in your best interest to make yourself future-proof.

Motivating Yourself

Motivation can be a big challenge when working from home. Sometimes the acquired virtual freedom and flexibility isn’t enough to stay motivated, for work-related reasons, such as lack of work, or personal reasons such as issues going on in your life. There’s probably no recipe to stay motivated that works for everybody.

If you’re like me, you might find your motivation in having fun with what you’re doing. There’s nothing else I’d rather do than write code; I can easily see myself doing this for the next 1, 5 or 10 years.

Learning is another motivation for me; sometimes it’s directly related to the work I’m doing, and other times it isn’t.

Ray Fix thinks creating artificial deadlines or demoing your project to a friend or a group can work as a deterrent against the lack of motivation. Rewarding yourself with treats for staying on task can also be beneficial.

For Ray Wenderlich, external motivations can help stay focused. Perhaps you can an online gathering where you can discuss your work with other like-minded workers. You could publicly post your deadlines for your projects to help you stay accountable. Or you could put up a calendar on the wall and mark off each day you make progress. There are lots of ways to put external checks in place to ensure you keep the momentum going.

Kelvin Lau finds inspiration in Malcolm Gladwell’s 10,000 hour rule. He states that to gain mastery in any field, one must attain roughly 10,000 hours of experience. Kelvin has set this as one of his core goals as a programmer: Program in Swift and Cocoa for 10,000 hours.

So even if he’s dealing with an irritating bug, Kelvin knows every minute spent on it goes towards the 10,000 hour goal. It really helps counter the idea of “wasting time”, since all Swift and Cocoa tasks count towards the 10,000 hours. As long as he’s doing something related to programming in Swift, there’s no notion of wasted time in his mind. That includes watching videos, reading tutorials and contributing to StackOverflow.

Setting achievable goals shouldn’t be underestimated, in Brian Moakley‘s opinion. Having unrealistic goals won’t help you stay motivated, particularly if you already think you’re going to fail. Ray’s suggestion is to do the smallest possible step.

If you’re feeling overwhelmed by a project, it’s probably because you’re looking at the final goal, which can feel so far away. The step can even be as small as opening Xcode! Break down your tasks into the smallest steps possible, and rest assured that as long as you make incremental progress, you’ll eventually finish your task.

And most of all, when you set your goals for the day, make sure they are reasonable and don’t set too many!

Lack of motivation can also be caused by competition. Cesare Rocchi recommends avoiding comparing yourself to others or comparing yourself with somebody in the same rank. If you have family and/or kids, you can’t compare yourself to a 20-year-old whiz kid living in Silicon Valley; she’s likely to accomplish more work or have more exposure and opportunities than you would in the same time frame.

Such a comparison is easy to make, especially when you work on competing products in the same digital space. It’s an unfair comparison, it’s likely to make you feel frantic, and it will suck your “motivation juice” dry.

Note: For more on the pitfalls of comparison, check out Ray’s AltConf talk on the subject — and learn a funny story about Ray’s past!

Staying Flexible

Staying flexible: man practicing yoga with a cat on his head

In absence of external constraints, working from home frequently means that you’re the Commander-in-Chief of your work place and master of your domain…as long as your spouse or partner isn’t around, that is! :]

Having control over your work environment doesn’t necessarily mean all rules go out the window. Whether they are strict or permissive, you should have a set of rules and stick to them. It can take time to build such a list, as rules come with experience, and they can change and evolve over time.

As you might guess, there are no “good” or “bad” rules; it’s really about rules that work for you. If you feel a structured routine works best for you, go for it. If you feel like being flexible, make that the order of the day.

I believe flexibility is one of the most important rules. As I mentioned above, external events, mood and inspiration define my schedule and drive the priority and timeline of my tasks, although hard limits like deadlines can affect how flexible I can be.

Some ideas that can help you be more flexible are:

  • When you can’t solve a problem, switch context. If you work on two or more projects, change to another project. You can also read some blogs or watch a video, such as one from the last WWDC. When you return to the problem, the solution quite often magically presents itself to you, and you’ll wonder why you didn’t see it in the first place!
  • Don’t force yourself to work if you realize you aren’t making progress. Take a longer break, and do something else non-work-related: Call a friend, watch a movie, play a game, or choose something to distract yourself.
  • Change up your working hours; some people are more productive late at night when their mind wanders and is more creative. Some people prefer the quiet focus of the early-morning hours.
  • If you feel you need a nap during your work day, and it doesn’t interfere with your work, just do it! Many creative and productive people make naps a part of their daily routine.
  • If you can’t take a break from work, switch up your environment: Move into another room or even outside, turn the TV on if it doesn’t distract you, or take another short break such as a quick walk.
  • Do you need to keep an eye on your kids while you work? If it doesn’t interfere with your work schedule, take a break and spend some time with them; you’ll enjoy it, and they’ll appreciate your attention. You can always do some extra work in your off-hours to catch up.

Communicating Effectively

Meetings — they are typically labeled as boring and a waste of time. Fortunately, remote workers live in a digital world, so most meetings aren’t attended in-person. However, even meetings over Skype or Hangouts can be a time sink, particularly if they recur every day and take a substantial amount of time. And if your organization isn’t accustomed to online meetings, they can be frustrating as well as feeling like lost time. There are lots of ways to communicate outside of meetings that generally fall into one of two categories:

  • Synchronous (phone, voice chat, video conferencing)
  • Asynchronous (instant messaging, mail, collaborating tools)

You don’t have to stick with just one tool; you can use the best tool at hand to communicate effectively. For interactive discussions, use voice or video. For non-urgent questions, use email. If it’s an urgent question with a simple answer, use instant messaging.

Asynchronous messaging lets you stay on task while communicating simple questions and directions; this translates into better use of your time.

What if you’re accustomed simply to stopping by a colleague’s desk? You can’t do that now that you’re both stuck at home. And now, you’re probably afraid to reach out for fear of interrupting because you don’t know if your colleague is available. One innovative solution we’ve heard about is to have everyone in the group join a hangout or other virtual video meeting, leaving the audio muted. You can see at a glance if the person you need is working or has stepped away, just as you would in a physical office. Now you know you can “stop by” with your quick question.

Your Health

Every person assumes their health is something they’ll have their entire life — until they don’t have it anymore. Below are some great ideas to help maintain your physical and mental health.

Staying Physically Active

As developers, we spend a lot of time glued to a chair, staring at a monitor. Since home-based workers don’t need to commute, catch buses or traverse flights of stairs to get to the subway, it’s easy to spend most of the day without moving too much.

developer on a treadmill

Sitting all day is a bad habit of the modern age. Bodies need to move; extended sitting can lead to serious health problems. Fortunately, it’s easy to stave off these health issues by following a few simple rules:

  • When you go out, avoid elevators and use the stairs instead.
  • Spend some time walking during the day.
  • Do some running regularly, or get involved in other physical activities.
  • Use a standing desk, moving or dancing frequently while you work.
  • Go the distance and adopt a a treadmill desk; Aaron Douglas wrote an excellent blog post on that subject.

Whenever you notice your body or brain asking for a break, listen to it. Your body is pretty smart! :]

Interacting with Others

Working from home can be isolating if you’re not careful, and the current restrictions don’t help.

Derek Selander recommends making sure you go outside, or finding a group on to force yourself to socialize in person. Since in-person meetings are off the table, try finding — or hosting — virtual meetups to allow you to interact with others.

Similarly, Brian Moakley suggests you meet up with like-minded people in your area. Face-to-face time with other humans is equally as important as any work you do. Just do it virtually while practicing social distancing for now.

Kelvin Lau shares that sentiment: Take time to interact with other developers. It really helps you cement your knowledge and broaden your mind.

I agree with them all. Don’t you?

developer on an island with the caption 'Don't isolate yourself'

But what if there aren’t any meetups in your area? Take the initiative and start your own. Use your social media to try to organize a meetup using Zoom or some other videoconferencing tool.

If there aren’t enough developers in your main area of interest to justify a meetup, then make it less restrictive: If you’re an iOS developer, create a meetup open to all mobile developers or all developers in general. The cross-talk between people working with different technologies can be a terribly interesting opportunity for learning.

Where to Go From Here?

I consider working from home a privilege, but it does have its disadvantages. There’s no universal set of rules to maximize your productivity and minimize the impact on your personal life; guidelines for working from home are highly subject to individual preferences and your personal situation.

As a basic framework, when working from home you should do the following:

  • Find your own time model: fixed or flexible or somewhere in-between.
  • Find your own working pace: focused periods of work with frequent breaks.
  • Find your own rules: whether flexible or more structured, rules and routines help you work more efficiently.

You are a unique professional, and as such, only you know what’s best for you. Your rules don’t have to be — and shouldn’t be — the same as mine or anyone else’s.

As we all learn from the current situation, I encourage you to share your experience. Let us know what problems you’ve faced and how you’ve solved them in the comments below!