I left my first software development job after 7 awesome years of solving problems and learning new technologies. What had originally started out as writing quick fixes for Access Databases had turned into an official department within the company.
But there was a problem -- the department consisted of one developer - me.
My home town didn't offer much for technology jobs, much less software development so I decided my best chance to work with other developers was to try telecommute with a distributed team.
However, a year and a half later I've found that 100% telecommute doesn't work well for me.
1. There isn't a clear stopping point
Jobs generally have a pretty clear cutoff time - when you go home, you're done.
While away from work, some people spend their off hours relaxing, some catch up on work they hadn't finished, and others focus on their personal projects. This creates a very clear distinction between work time and personal time.
Telecommute is a little harder to figure out. Consider a couple common scenarios...
- It's getting pretty late, should I stop 'work' and focus on my projects now?
- It's 10:30PM and I just got an email about a website change, I'm already sitting here, should I take care of that now?
- Someone just asked me for some help in IRC but I was about to go hang out with the family, do I need to do this before I go?
It's difficult to answer these questions since not everyone on your team shares the same schedule as you. Sometimes your teammates are waiting on you regardless of what kinds of hours you work.
These situations can make it much more difficult to manage your work/life balance.
2. Focus can be difficult to maintain
Initially, I thought that since I was a highly motivated developer that spent a great deal of his personal time writing code that working telecommute would be easy for me. However, I've come to think personal motivation can work to your disadvantage.
The problem is, assigned tasks aren't always something you're interested in while personal projects typically are. This, coupled with working from home, makes it increasingly difficult to stay focused.
What's worse, lack of focus forces you to muscle your way through getting things done, and in turn is mentally exhausting. By the end of the 'work day' you've generally lost interest in working on code entirely.
I've particularly noticed this in myself. I used to blog about three times a week. Now I'm lucky to do something once every few months.
3. Lack of contact may wear you down
Interacting with your team is also somewhat limited in a telecommute job. Teammates are busy and sometimes you may have a day (or more!) where you don't talk to anyone. Even when a discussion is in progress, it's normally focused on a point related to getting something done.
I'm not suggesting that idle chit-chat always adds value to a developer's day, however, a lot of teaching and learning moments can be discovered when working together on a project or reviewing some code.
Limited social interaction can be great to avoid distractions and getting things done, but it can also be a bit depressing when you realize your only office-mate is furry and insists on sitting on your keyboard.
I think it's important to mention once again that this IS NOT a rant against any of my former employers. It's quite possible that these problems are unique to me. There are many developers that telecommute for their jobs without incident.
There are a number of options that can help avoid becoming burnt out. Meeting user groups, giving talks, or mentoring to other developers are great ways to stay connected.
However, for me, telecommute is a great work option -- but in moderation.
April 25, 2012
Thoughts On Telecommuting
Things I've learned after a year and a half working as a remote developer.