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.
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress, bookmark, personalise your learner profile and more!
Create accountAlready a member of Kodeco? Sign in
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress, bookmark, personalise your learner profile and more!
Create accountAlready a member of Kodeco? Sign in
Contents
Staying Motivated as a Work From Home Developer
30 mins
- Your Environment
- Choosing Your Office
- Creating Transitions
- Choosing Clothing
- Fixed or Flexible Time?
- Managing Distractions
- Handling Environmental Noise
- Your Work Style
- Tracking Tasks and Time
- Learning
- Motivating Yourself
- Staying Flexible
- Communicating Effectively
- Your Health
- Staying Physically Active
- Interacting with Others
- Where to Go From Here?
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!
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.
Learning
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.