Glen Campbell Essays Recipes Podcast Projects K6GEC

Working Remotely

One of the most influential books I’ve ever read is Rapid Development: Taming Wild Software Schedules by Steve McConnell. It contains a wealth of well-documented information about how to manage software development projects; this is information that I not only use in my personal career, but data that I can use to influence my peers and co-workers around me.

It was in this book that I first learned about what psychologists call a “flow state,” but which most people (including athletes and software developers) call being “in the zone.” Psychologists define this as a state of effortless intense concentration; when someone is “in the zone,” their mental faculties are in overdrive and they are hyper-focused on the task at hand. Programmers will recognize this: you start to work on an interesting problem and start writing code, only to look up at some point and realize that many hours have passed. When you’re “in the zone,” everything you’re working on seems to connect well together and you have the ability to think through tough problems and solve them with seemingly little to no effort.

When a programmer is in that flow state, she is supremely efficient: often, large volumes of very high-quality code can be produced in a startlingly short amount of time. Without the flow state, the programmer has to continually force herself to keep focused on the task at hand, and it can be quite a slog to keep going.

It’s difficult to reach that flow state, however, when there are distrations. Studies have shown that it can take 15-30 minutes without distrations to reach the flow state. And those “distractions” can be visual or auditory: a television in the room, for example, can interrupt the process and force the programmer to start over. Likewise, someone walking up and starting a conversation can do this to. There are many more insidious distrations these days: the buzz of a smartphone when new mail arrives, the ringing of a telephone, conversation at a nearby desk, and so forth. And any of those distractions force a reboot, as it were, and the programmer has to start over to achieve the flow state.

In a modern, open-plan office, those distractions occur with frightening rapidity; on average, every 3-4 minutes. Some offices are better than that, of course, while others are worse. In one of my former jobs, the open-plan offices were protected by a culture of silence; anyone having a conversation in the hallways was subjected to glares, stares, and often a request to move into a conference room.

When programmers work from home instead of in an office, its an opportunity to remove those distractions. The programmer is now in charge of her environment, and it’s possible to make that flow state easier to achieve. Of course, working from home is not a panacea: there are often interruptions at home that a programmer would not encounter in an office: people mowing the lawn outside, children to take to school, errands to run, and the array of electronic devices that perpetually beep, chirp, and buzz, just like in the office. The key, however, is that much of that environment is under the control of the programmer, unlike in the office, where many of the distractions come from somewhere else.

As it happens, I’m managing a group of nine programmers. Only one of them works from the same office that I do; six of them are based in California, Utah, Ohio, Maryland, and Berlin. The remaining two are “work from home” workers in our Austin and San Antonio office. For me, it effectively means that I’m a remote manager: that is, even though I have a desk in the office, I’m interacting all day with people who are remote, so even though I’m at a desk in the office, I’m using the same tools that our remote workers do: online chat, video, email, and IRC.

As a manager, it is useful for me to be in the office. I can meet with people from other department, keep up with the office chatter, and have the occasional serendipitious meeting with other employees that I can share information with. Those sorts of things would be difficult to do were I a full-time remote worker.

On the other hand, so much of my day-to-day work involves interacting with my team that I spend much of my office time at my desk, looking at my computer screen. I find that it’s an odd state of being: not fully remote, but definitely not the typical office environment. For example, if I’m working with someone to resolve an issue, we can’t walk over to a whiteboard and start sketching ideas: we have to use a collaborative tool online or simply “talk it out” via video chat. Written communication becomes much more important; since my workers are in multiple timezones, it’s actually very difficult to schedule meetings,1 so, apart from a single team meeting once per week, most of the work is done asynchronously.

Some of my days are back-to-back meetings, usually over the Vidyo video conferencing system. This is a wonderful tool that has allowed our team to work more closely together even while we’re physically separated. However, it’s led me to some guilt about working from home and some head-scratching as to how best to handle the situation.

As I said above, it’s often very useful to be in the office. Not only does it help with face-to-face interaction with the other people there, it also facilitates a synergy where you can bump into other employees with whom you can share information or learn something from. But the downside is that, there are days when all of my activities are Vidyo meetings, so I end up spending the day at my desk, staring into the screen, talking into a microphone and wearing headphones.

In other words, not only am I not getting the interactive benefits of working in the office (since all my interaction is with the people behind the screen), I’m also actively hurting the environment in the office (since, to my neighbors, it appears that I’m just randomly talking). I could move into a small conference room, but that’s even more nonsensical: why go to the office to sit in a very small room talking with remote people over the computer link?

The guilt I feel when I work from home is not really justified; I’ve got control over my schedule and am free to work from home when I need to. So it’s purely a mental problem; I like being in the office, around people,


  1. Meetings themselves are evil, so having fewer meetings is not necessarily a bad thing. The problem comes when you need to discuss something with several people, and one of them is in California and the other is in Berlin. Because of the nine-hour time difference, at least one of them will be forced to attend outside of their normal working hours. ↩︎

Glen Campbell
written November 21, 2014