I’ve often seen the ability to work from home regarded as a luxury, and the nature of software development (and the internet) makes it possible to be quite effective from home. In fact, it’s not hard for me to think of a handful of friends who live far enough away from their employers’ offices that they have no choice but to work from home.
While there are tradeoffs on either side, and I’m not going to argue that one side is definitively better, here are 4 reasons why I prefer working from the office:
1. A Dedicated Place for Working
Simply being in the office helps me get in the mood to focus and work hard. While most of this comes from having a physical space dedicated to work, separated from the tempting distractions of home, it also helps just being surrounded by other productive people.
2. Shared Workspace Artifacts
For my current project, our designer, Brittany, has made a set of storyboards outlining the entire user interface. Over the last few months, these have proved incredibly valuable as we develop, discuss, and make small improvements to the application. And we’ll often pick the relevant storyboard for the feature we’re working on and hang it on the wall next to our table for reference.
Without sharing the same physical space with our team, these storyboards would likely not be remotely as useful. And duplicating that level collaboration over the internet is hard.
3. Making Friends with Your Team
It’s not easy to develop good rapport or friendship over email or chat. But when you see your team every day, go out to lunch with them, and engage in random conversations throughout the week, it’s hard not to.
As you learn each other’s interests, strengths, and weaknesses, you are better able to help manage your team, or know who to turn to for help or knowledge.
4. Spontaneous Learning
It’s uncommon to go an entire day in the office without overhearing an interesting discussion, whether technical, philosophical, or otherwise. Regardless of whether you passively learn from a discussion, contribute to it, or just remember what subjects your different co-workers are interested in, the exchange builds up a database of knowledge within the company.