As a long time work-at-home developer, I’ve come to realize over the years how important it is to have the right work routine and balance to remain happy in both your professional and personal life. I’ve worked from my home 100% of the time for the last 6-7 years and had often worked from my home in spurts before that. Without question, it requires the right mindset and dedication. There’s an upside as well as a downside to working from home, but with the right routine you can be successful at it.
There are a lot of people who telecommute. In my case, I don’t even live in the same state that my company is in. My company is a Minnesota-based consulting company, but I live in Arizona. I work with my development team remotely. We’ve gotten really good at working online together via conferencing and sharing in-between our in-person visits. I completely love working from home. I feel it gives me the opportunity to be more involved in the lives of my kids, not to mention how great it is to have lunch with my wife every day. No commute, gotta love that. It provides me with opportunities in my personal life that I wouldn’t get otherwise. The downside? It’s a big one. The lack of face-time and interaction with other developers can be extremely difficult. If you’re not careful, your work life can bleed over into your personal life to the point where it feels like you’re working all the time. No matter how much you like your work (and I love mine), that can get to anyone.
The following things work for me. They might not work for everyone, but regardless, find something to give you the right balance in your life so you can maintain a productive and meaningful work life and
a happy home life.
1. Establish Your Work Mode
Get up and get ready for work. When you know you’re not going to be seen by others it’s easy to just roll out of bed and wander into your office. For me, it helps me to get into "work mode" if I make it something I actually take the time to get ready for. Take a shower and get dressed for the day. Sort of like a ritual that puts your mindset in-line with what you’ll be doing. I try to start my work day at the same time. Make it an official time to get focused. Notice I refer to this as "work mode", not "work time". As a developer, I think it is OK to be obsessed about what you do. I mentioned before
that a good developer is one that has passion for the craft. That’s OK. It’s OK that we spend more than our 8 hours a day focused on writing code. It’s who we are. However, you still need that formal time to get your head in the game and be productive for the code you get paid to write, just as if you were heading to an office.
I like to also have an official end time, although this is my official end time for work mode. It’s my end of work day. I leave my office and get my family time. Help the kids with homework and spend time with the family. Later, I’ll return to my office to write more code and geek out some more, but this is just play mode. I’ll allow myself to get distracted and do something I wouldn’t normally have the time to do like learning some new thing just for the fun of it.
2. Make Time to Get Out Of the Office/Home
You no longer have a commute. You no longer get that time to drive home and let your mind unwind after work. You don’t get to go out into the big room (I think they call it "outside") and see the sun. Make a point to get out of the office on occasion during the day. I like to take my 2 year old son during the day and walk to the mailboxes and get the mail. I try not to keep some things like soda at the house so if I feel like one I run to the convenience store. Taking breaks is a good thing. I can’t tell you how many times I’ve been stuck on a problem, so I get out of my office, go stretch outside and come back. My mind reboots and I am thinking clear again. I feel refreshed. Don’t work through lunch. That one can be hard if you work in an office, but I’ve found it to be even more difficult when working at home.
3. Keep Your Workplace Organized
It goes without saying that you need a separate and "official" workplace at home if you plan on working there. However, make it an organized place. I am a big believer that a cluttered workplace hinders your ability to concentrate on your work. Don’t use the closet of your bedroom if possible. Don’t let your office become your storage area, cluttered with boxes and crap. Make it a place that is free from things that will obstruct your ability to create.
4. Get Rid of Distractions
I've talked about
this before. Don’t let the fact that you’re at home make you feel OK with turning the TV on while you work. Just because there’s no chance that your boss could walk into your office at any moment, don’t allow yourself to do things like start up a game while you’re in work mode. There’s nothing that will prevent you from being productive like that. If you’re not being productive then you’re not giving yourself the chance to be a better developer - although you might get better at video games :-)
5. Create a Network of Developers
You need to have other developers to talk to. This is a must. Local developer groups, nerd dinners, these are all great. However, even more than that, make sure you have other developers on IM or speed-dial. Your ability to learn new things grows exponentially when you have other minds to learn from. You’ve increased your brain’s computing power by distributing your learning among your other developer friends. If you don’t have any, seek out the local developer groups and you’ll be sure to meet some.
6. Challenge Yourself to Improve
Make goals for yourself to improve as a developer
. When you work with other developers, there is a constant knowledge exchange. You’re always learning. Even if it is just small things, you’re constantly learning from what your coworkers have learned. You don’t want to lose out on that because you work at home. You’ll have your network of devs to talk to, but ultimately, your ability to improve as a developer is up to you. You have to make your own time to sharpen the saw
. If you’re not trying to improve as a developer - then you’re probably not going to
7. Take Advantage of Working From Home
What good is it if you don’t let yourself enjoy the benefits? You work at your house, enjoy it! Let yourself take time to see your kids. Let yourself spend some extra time with your spouse. The time that others are spending drive to and from work you get as free time. That’s all extra, use it to enjoy your completely super-awesome scenario of working at home and love it.
I love working at home. In my book, it is the greatest thing ever. If you work from home, make some structure to ensure it is a productive time. If you don’t work at home, so sad for you :-)