[Topic] Telecommuting and Software Development

I recently had a major ankle injury suffered during a soccer game. It put me off my feet about eight weeks. Not being able to drive made commuting back and forth to work a major inconvenience since I couldn't drive.

Coincidentally, in the month or two preceding the injury, I had been pursuing a telecommuting plan with my employer and was already configured at home for it. For some employers, the notion of telecommuting is met with skepticism for various reasons.

Below is a list of some of the issues I thought of, and brief discussion of each. It should give ideas to those faced with similar concerns.

Concerns

Productivity

"Can a person be as productive at home versus in the office?"

That depends on the person, the task, and the work environment. For programming tasks that involve concentration over several uninterrupted hours, someone certainly can be productive at home. The key is to minimize distractions. Much of what I consider my very best design and programming work has been done at home.

The key is to have an environment that lacks distractions and interruptions. And providing such a setup at home can be tricky and may not be feasible for everyone. In my case, until recently I would have considered my home office setup very inadequate, but I've added onto my house and created a secluded office that is excellent for software development.

Communication

"Will communication be impeded or worsened?"

A fair amount of the communication we do is done by electronic means—email, instant messaging, and telephone. Those are all be available and function exactly the same whether in the office or telecommuting.

The obstacle is the important face-to-face interaction that many people desire or require. Assuming the telecommuter is local, then regular physical presence at the main office allow the important face-to-face communication to still happen.

Availability

"How available is the telecommuter?"

This is similar to the question of communication, but really is more about physical availability.
Since long-distance telecommuting isn't really considered in this scenario, the availability problem is pretty small. Most of the availability issues can be handled by simply being aware of a person's physically available hours. Electronic communication provides immediate availability otherwise. When emergencies occur, physical presence is only a short drive away.

Development Setup

"Is a comparable or adequate development environment available at home?"

There can be a sacrifice in effectiveness if the development system available at home is significantly weaker than the office setup. In my case, my solution has been to directly connect to my office machine via remote terminal protocols—Windows terminal services remote desktop, and Linux NX remote desktop. UI latency is a bit higher than local, but everything else performs identically. For such a setup to work well assumes a high-speed connection between home and office.

Consistency

"Are people able to have expectations about availability, schedule, productivity, etc?"

It's difficult to function as a team when other team members' schedules and availability fluctuate wildly. Flexibility is valuable, and local telecommuting is essentially additional flexibility. Consistency of schedule can be met by planning in advance when to physically be at the office, versus telecommmuting. Consistency of availability is met by electronic communication means. Consistency of productivity is met by having an effective home office and development environment.

Perception/Visibility

"What do people think of someone who telecommutes?"

If a full-time telecommuter, works with people at an office building, there is probably a good chance of becoming a bit of an outsider. If the telecommuter is local and frequently visits the office, this does not seem like a big issue.

Solution

My solution to the situation has been described in context above. It mainly assumes that the telecommuter is local and therefore will still have part-time presence at the office. This is especially important for people who prefer not to communicate electronically.

During the recovery from my injury, I've put this in to practice and had very favorable results. I go into the office two or three times a week, teleconference in for some meetings, and communicate primarily via instant messaging during the day. In general, productivity is high and I'm able to focus on problems for longer duration than while at the office.

There is definite communication lag being remote. A lot of the time in the office is spent "catching up" on little things, or having more complete design and feature discussions. I find myself assisting others with a lot of things rather than getting my own tasks done.

Conclusion

In the end, there seems to be a good balance. There is plenty of focused development time, and I'm still able to be a part of the team and work with the other members. Not all organization may be as flexible, and some may be much more flexible. I think local telecommuting is a very viable and favorable option to those who desire it.

—Posted by Adam Lane on Oct 6, 2007

Comments

5OJJTq <a href="http://qqtbnqshleok.com/">qqtbnqshleok</a>, [url=http://owgcjgnypbks.com/]owgcjgnypbks[/url], [link=http://nxameseukhdq.com/]nxameseukhdq[/link], http://gxvgpbvhojfb.com/

—Posted by folcklord on Jul 20, 2010 at 11:07:45 PM


You may post a reply to this topic, but you must be logged in. If you already have an account, you may login now. If you need to create an account, you may also register now.


Blogs

Oct 6, 2007
"Telecommuting and Software Development"

Jul 30, 2007
"Using Inno Setup to Create a Versioned Installer"

Nov 6, 2008
"Evolution of Virtualization "

Aug 6, 2007
"Software Developer Office Space"

Nov 6, 2008
"Impact of Virtualization in IT "

Jul 30, 2007
"Detect Java Installation with Shell Script"

May 5, 2008
"Coding Standards and Style"