
Lessons from 2 months of remote working - jrallison
http://iamnotaprogrammer.com/Remote-teams.html
======
mrcsparker
I have been working remotely for 7 years now. I love it, but it is not for
everyone.

I remember a few months in when it really sunk in that I was actually working
out of my home. My house was my office and my office was my house, and
everywhere I went I could not get away from work. I had a sudden feeling that
the walls were closing in. Lucky for me that went away, and I find that I get
more done and am able to be more focused than I was in an office.

A few pointers to those starting to work at home:

1\. If you are like me and tend towards being a work-a-holic, working from
home can mean turning your normal 8-10 hour workday into a 24-hour workday.
Set limits and work by them get...

2\. ... a home office where you do your work. Make sure it has a door which
closes and treat it like an office. You don't have to work in it 100% of the
time, but it helps me to have a place I can leave my work. My office is great
- I have a big desk, a couch, music, big windows. It is the office that I
would like to work in.

3\. Get out of the house. Not to work, but to play. Get around people. It is
going to happen - you are going to have a crazy project and find yourself
locked in your room for a few days. This is pretty normal, even in a normal
office. It can easily become your life since there is no one telling you to go
home.

The perks of working from home are great - no commute means more family time,
and the you get a personal bathroom and kitchen. If you need to take a 20
minute nap no one is stopping you, and going for a jog is as simple as opening
the door and taking off.

~~~
Touche
For me that feeling was immediate, not a few months in, and produced a lot of
panic. Having an office with a door that you can close at the end of the day
helps tremendously with feeling that you're always at work. Now it's not an
issue, I work half the day in my office and half the day sitting on the couch
(or somewhere else).

------
lucaspiller
> If you’re next to someone and they have their headphones on, messaging them
> in chat is a more respectful (and productive) way to ask them a question.

This is one thing I didn't like when working in an office. At my last office
role we had team chat, but nobody used it, they just walked over and
interrupted you if they wanted anything. Happy and free now :)

------
jwilliams
_2.5 billion people in the world have internet access._

But most of them can't have a reliable Skype call. We still have issues
calling from Australia on a decent connection to a similarly decent connection
in the states.

What we've found - Good connectivity that can hold a reliable Skype or Google
Hangout conversation is essential - don't be fooled thinking you can achieve
this at a random Internet cafe in Cambodia. You might be able to (!), but plan
accordingly.

~~~
billpaetzke
And what is a good strategy for this when deciding where to live (both on
macro and micro scale)?

~~~
sliverstorm
Reasonable proximity to a major city is probably a decent starting point.

What's a major city? If we're still in the coarse-estimate mode, I'd say a
city most people have heard of.

Maps of internet backbones will help you locate the _ideal_ places, from a
connectivity point of view.

[http://www.nthelp.com/images/InternetMCI.jpg](http://www.nthelp.com/images/InternetMCI.jpg)

------
agentultra
I've been working remotely more often than not over the last four years (a
brief 1-year interlude when I was back in an office full-time broke up the
streak). I definitely prefer it.

The advantages are too awesome! I get to spend more time with my daughter (I'm
a first-time father and she is just turning a year old today). There is hardly
anything in this world that makes me happier than spending time with her. If I
had to commute to work every day I'd basically see her on weekends and miss
out on her every-day life. My parents did that. It sucked for them I'm sure
and it would suck for me too.

I am a software developer and so my work is primarily categorized as,
"knowledge work." This is a very post-industrial job. Working more hours does
not directly produce more "product." Working remotely allows me to take a walk
and do some groceries while I mull over the dilemma that has been bothering
me. Often I will come back refreshed and with a clear solution. Or I can read
a book to my daughter while I think about it. My job requires thinking and
generating _good_ ideas (which is a process that requires idleness and
spontaneous connections through hunches). A 9-to-5 policy of being in a seat
and typing away is not very conducive to developing software (unless you're
applying the Shakespeare Monkey Method).

The OP mentioned the disadvantage of spontaneous social engagement. That is a
problem I can attest to. However it is one I am willing to give up. I'm not as
young as I used to be and it's not terribly important for me to play ping-pong
with my co-workers and talk shop over beers. We make up for it by talking shop
online during office hours and there are tools such as Sqwiggle which make
those spontaneous chats possible.

At first this problem seemed big. I went out less and suffered a lapse in my
social graces as a result. However I learned that I was just doing it wrong.
Now I find I socialize more than I used to because I'm out in my community
working out of coffee shops with other people in the same situation as I am. I
meet see local people and we do local things and I've learned to develop a
village mentality.

The real challenge for companies engaging remote workers is letting the reigns
off. The fear of idleness is a rapacious concept amongst managers and
entrepreneurs. You can hear it manifest in expressions such as, "always be
hustling," "fail fast, iterate," and the like. However if history and open
source have taught us nothing else it is that the condition of the human
spirit is towards accomplishment. The goal in finding good people to work with
is finding people whose sense of accomplishment shares the same spirit as
yours. Even in idleness we unconsciously reach towards that which inspires us.

Remote work is great. Being around people in person is great. We live in a
world where this is possible and easy to manage. There's no reason to force
people to adopt your standards of living and geographic preferences to work
with you.

(We just may be limited to certain national boundaries for the most part due
to taxes and the inconvenience of international banking, but hey... walk
before you run)

 _Update_

The biggest challenge for remote workers is working with a centrally-located
team. The styles of communication need to be more rigorously defined and a
part of everyone's habits or else it tends to fall apart. The central team
tends to isolate the remote worker because they're so used to just having a
hallway chat and forget to share that with the rest of the team. To avoid this
everyone needs to agree to share all information and to make it a habit to
strike up email threads, create issues and log chats in IRC/Campfire/whatever.
Important issues cannot be decided face-to-face over lunch and not documented
somewhere. It just doesn't work that way when you have remote workers.

The tools to make communication between remote teams have been evolving at a
rapid pace in the last few years. WebRTC, shared documents and better issue
trackers... there's almost no excuse anymore not to adopt these habits even if
you are a centrally-located team. And if you do adopt these habits there's
nothing getting in your way from incorporating remote workers anyway.

~~~
lukethomas
How do you personally measure "a good day's work?" Is it based on gut feelings
or do you have specific hours that you work? Also, do you follow a strict
schedule, or leave your day open for "sporadic" opportunities?

~~~
agentultra
As to your first question I don't have a good answer. I cannot think of a way
to quantify something that I can only intuit about. You can think of any
metric by which to measure the progress of a programmer and you will find an
endless debates about its usefulness. It's inherently a qualitative value in
my experience.

In general though I am motivated by accomplishment. I feel good about doing a
good job. It is its own reward. I feel that I've had a _good day 's work_ when
I've contributed something worthwhile that has improved the code, the company
or my team in some way, even if it's small.

I keep my work days structured around the traditional 9-5. At first it was out
of habit but I've since embraced it as a discipline. The difference for me, I
believe, is that without a long commute and being stuck in an office far from
home there is very little cost associated with following "sporadic"
opportunities. I don't leave time out for them because the benefits tend to
out-weight the cost of being away from my desk. I can get up and take a walk
down to my local café, chat with the barista about local events and pick up
some flowers for my wife on the way home. This relieves stress, breaks up
monotony and gives me time and space to connect the hunches together in my
mind. I may come back from that outing with the solution to my problem or I
may not; but at the very least I will be reinvigorated to take on the next set
of tasks ahead of me and it cost the team almost nothing and gained quite a
bit.

The way I see it my employer was looking for someone who was smart,
experienced, creative and responsible. I do everything I can to cultivate that
in myself. They're not paying me to trade hours for lines of code. They need
someone with my experience, knowledge and intuition to help them solve
problems and build a solid product.

If the solution to our problems as programmers could be solved by rote then
I'd be out of work and in a different profession.

~~~
lukethomas
Thanks so much for your thoughts - this is extremely helpful as I'm trying to
find balance with remote work.

~~~
agentultra
Well if you ever want to chat don't hesitate to look me up.

------
bdcravens
_2.5 billion people in the world have internet access. Statistically speaking,
the chances that the best person for us to hire for any position is among the
0.023 billion people in the New York metro area is unlikely._

Of course, we all know that all the good programmers live in SF.</sarcasm>

------
bhartzer
Is it just me? Do you find that working remotely you can get more work done
than being in the office with coworkers? The days that I'm in the office
working I don't seem to get as much actual work done, because I'm spending
most of the day in meetings.

~~~
nicholassmith
I'll generally get more done in 2 hours working from my home office than I
would in 4 hours in an office, let alone if there's a meeting as well.

~~~
erichurkman
Don't forget the meeting that you have to prepare for the meeting; the dreaded
pre-meeting. "Hey, Eric, mind if we get together to go over the meeting this
afternoon?" And the feared post-meeting. "Hey, Eric, can we chat later about
that meeting?" And the email, "Hey, Eric, I missed the meeting. Can you
forward me your notes?"

~~~
nicholassmith
I always like the meeting you have about the meeting, then the follow up
meeting a few days later.

------
shin_lao
I work a lot from home and what I can say is:

\- you're definitely more productive when working from home and it saves a lot
of time

\- communication is much harder

\- traveling and working is difficult and I would not recommend it

\- working from home is a bit depressing over time and you can easily lose
touch with the team

For me what works best is a mixture of the two.

------
lukethomas
I'm on my third week of working remotely - Here's what I've learned so far:

1\. Massive sense of freedom - you own your time, and it's yours to be
productive. YesGraph (my employer) is results based, and not hours-based. This
is awesome as a remote employee.

2\. Exercise isn't Easy - I used to walk over 2 miles/day to work, so I have
to force myself to get enough exercise during the course of the day.

3\. Tendency to Overwork - I'm being very proactive about trying to balance
work. It's easy to fall into the trap of working too much (especially with 2
hours saved on the commute)

4\. Social Interaction is Important - this is really important internally and
externally. If I want social interaction outside my job, I simply need to go
to a coffee shop or co-working space. It's important to do this internally too
- which means doing hangouts with fellow employees.

I've actually been keeping detailed notes on my productivity (using
Rescuetime) and exercise (using Fitbit), you can track my progress here ->
[http://lukethomas.com/working-remotely-tracking-
progress/](http://lukethomas.com/working-remotely-tracking-progress/)

We actually had an onsite last week, so I have some data to benchmark remote
productivity vs. onsite that I'll publish soon.

------
philjr
For companies who are considering going remote have you considered the
"global" problems you may have (e.g. payroll, local compliance laws - holidays
etc.) ?

Do you have solutions for them?

There's a cost for most businesses to being in different countries. Typically,
for larger businesses, finance and HR pick up most of the slack here. Having
17 employees potentially in 17 different companies feels like it might be a
bit of a logistical burden. Any counter experiences?

~~~
sudonim
Within the US, you can use someone like TriNet to handle employees in all 50
states. Companies like
[http://balsamiq.com/company/](http://balsamiq.com/company/) are all over the
world. From what I understand, people often get paid as contractors and have
to deal with local tax laws on their own. If you end up hiring people as
employees in all the countries, I think it gets a bit tricky. I'd love to know
if there are other good ways to do this.

------
atox
Interesting read.

I recently moved to a country with a low cost of living whilst continuing my
old webdevelopment role as part of a remote team.

Some things that we do:

    
    
      - daily short standup on google hangout
      - everyone is available on an instant messenger when working
      - every office/home office has a continuous webcam feed going on over google hangout
      - remote pairing (not the biggest myself)
    

Planning to do a writeup of my findings as soon as I pass the six months mark.

~~~
pault
> every office/home office has a continuous webcam feed going on over google
> hangout

We've talked about doing this with my all-remote team, but it seems incredibly
invasive. How has your experience been?

~~~
gknoy
You could probably have a dedicated conference room or similar which would
ensure that you could easily "Go to the teleconference room!" while ensuring
that you didn't have a pervasive big brother feeling.

------
taurath
It seems to me like whenever people talk about remote work, they always talk
about having super rockstars, the top, best coders they can find, and only
them. I'm not there yet, as I'm just entering the phase where I am stopping
calling myself an entry level coder. Being able to do this however is the
reason I got into coding. Is there anyone out there who's not an absolute
genius hacker who is working remotely and doing well?

~~~
ethanhunt_
Disclaimer: I've never worked from home. I have thought about it a lot though.

I think WFH isn't a good idea for a junior dev (e.g., <5 yrs experience). In
my career, I've learned the most from working closely with really smart
engineers, and doing CRs over email isn't sufficient to soak up that
knowledge. Standing at a whiteboard and arguing about design patterns for an
hour, sitting at the same computer crafting a new API, etc., are the best ways
for you to learn quickly.

It's also important that you work on a team with smart engineers for the above
to be valuable. If you have no CR process, or don't have any devs smarter than
you, then there aren't any downsides to WFH, but that's only because the above
upsides aren't there.

------
gio
Shameless plug:

We (getblimp.com) are currently working to consolidate real-time chat with
task management in a very unique way. This will allow remote workers to
collaborate freely on chat and then move those conversations to a more
persistent form, a task with context.

[http://blog.getblimp.com/2013/11/blimp-needs-more-
bandwidth/](http://blog.getblimp.com/2013/11/blimp-needs-more-bandwidth/)

~~~
GrinningFool
While we have project management tools already in place (jira) and I don't
forsee us changing anytime soon, this is a really cool idea. I see a hubot
hipchat script implementation in our near future... because though it would be
cool to have such chat-like functionality in the management system, it would
be even better if it integrated with where we already did our chatting.

That might be something you also want to consider offering in your solution,
as an additional method of accomplishing the same thing.

------
buttsex
Kind of on topic, but I'm a web developer who is partnered with a designer in
NYC. I'm already working remotely (a few hours away) and it is really great.
I'm in my mid 20s and don't have kids or a relationship at the moment. I've
always wanted to travel and I'd rather do it while I am young. I've been
thinking of taking 6 months and going around the world, staying at any
location for 2-4 weeks. I want to continue working remotely at that time but
my big concern is that I'm just going to be sitting in a hotel room working at
these beautiful places and not have any time to explore. Or the other way
around and I will be having too much fun to get any real work done.

Any HN'ers have any experience or stories doing something similar?

~~~
pault
Doing what you suggest will be an absolute disaster if you promise your
clients you'll be available while you travel. Your concerns about being locked
in your hotel room are totally valid, and you'll need superhuman willpower to
get anything done. What you _can_ do, however, is set up shop somewhere cheap
for 3-6 months and spend your weekends doing day trips. At the end of this
period, you will have actually _saved_ money because of your reduced living
expenses. Then repeat the same process on anther continent. 2-4 weeks is
barely enough time to get your feet wet. You absolutely should do this _right
now_ before you get tied down by work and family life. Source: I work remotely
and have spent the last 4 years in Brazil, Thailand, and Belize. 3-6 months
turns into 1+ years pretty quickly.

------
pla3rhat3r
I've been remote for the past 5 months and I love it. I'm more productive and
I feel like I work more just because the convenience of being at home.

Also, I'm starting my own company and reading this helped me understand how
others do it. I'm glad this is working out and hope that more people figure
this out.

Many companies I've worked for have this outdated mindset that you need to be
in an office together in order to make things work. The reality is you don't.
Yes, you miss out on some of the local stuff that an office can provide. Like
drama, politics, and petty bickering. But I would rather bitch about someone
from home......in my jammies. :)

------
dinkumthinkum
I really like these posts from people actually doing remote work. I think with
more stories like this we can counteract this idea that remote work can't
work. Obviously, we need examples from many different sized organizations.

------
podviaznikov
Worked remotely in 2 different distributed teams (US, Europe, South America,
Africa) for the last 2 years. Can't imagine coming back to the office job.
It's really good idea to build your company with that in mind.

------
micro_cam
We have a small team based in Seattle with people as fat away as France. I
definitely agree with this post and with what others have said both about
increased productivity and about the difficulty of working with a team that is
mostly centrally located and missing out on casual socialization.

However we have also found that having a spread out team can lead to increased
collaboration and outreach as people go to seminars/meetups etc locally. It is
also nice that people who are normally in the office can easily participate in
meetings when traveling or staying home for whatever reason.

------
simondlr
For remote work: I've heard good things about Sqwiggle.
[https://www.sqwiggle.com/](https://www.sqwiggle.com/).

------
benmorris
I don't really work remotely but at home for myself for the last year. The
biggest challenge for me in a given day is lack of social interaction. It is
nice to have a quiet place to work, but hard to deal with (some days) not
speaking to a single person all day. Frankly my last job had many downfalls,
but I did enjoy some of the people I worked with.

~~~
MartinCron
I'm just about to start a 100% remote work job for a company with no real
office to work from. I'm renting a full-time desk at a co-working space just
so I can have some casual social interaction that doesn't involve me ordering
an espresso beverage.

------
lkrubner
I had an experience this year which made me aware of some of the ways that
remote work can go wrong. Although in my case my work was not "remote" in the
sense of being away from the office (though sometimes I worked from home). My
work was "remote" in the sense that the tech team was all in one office in
London, and I was the first programmer they hired in the New York office.

Before I get into the details, I'll offer some qualifiers: I could have done
more to communicate with the management that I was not getting the information
that I needed. I could have been more pro-active about forcing people to
answer the questions that I needed answered. Having said that, I think some of
the miscommunication that arose might be common when companies first try
either remote work, or simply work that occurs outside of the main office.

I was hired by a large media company. I worked there from January 2013 to
August of 2013. The company has about 25 programmers in the London office,
plus a QA team and project managers (and the CTO and CEO -- all upper
management is in London).

The first month I was there I worked on some projects using functional
languages like Clojure and Scala. I needed to ask a lot of questions about the
internal API. After awhile, the management decided that I should have a single
person that I could contact with questions. I'll call him Jim -- he was a
super smart guy and a dazzling engineer. For the next week, he was able to
answer all of my questions about the internal API (indeed, Jim had created
most of the API). However, the 2nd month I was there it was decided I should
work on the company CMS, which was written in PHP. Jim did not know PHP, and
he had never worked on the CMS, so he was no longer able to answer my
questions. No one else was ever assigned to me as my point of contact.

Informally, I later defaulted to sending all of my questions to the woman who
lead the QA team. She could rarely answer my questions but she often knew who
could, so she would redirect my questions to the right person. The only
problem with this system was that it was slow. Especially given the time
difference, if I asked a question at any point after noon, the earliest I
could expect a response was the next day. And then, towards the end of my time
there, the woman quit. (That was another problem I faced -- there was a lot of
turnover in the London office, so even once I had established an email
relationship with someone there, they then would suddenly disappear.)

I recall trying to setup the CMS to run on my local machine. I kept getting a
strange error regarding dependcies. I looked in the git log to see who was the
last person who had made changes to the way the system handled dependencies.
There were 4 people who had recently touched the system. I wrote an email to
all 4 of them, explaining that I was trying to set up the CMS, and I kept
getting this error. One of them replied "Come over to my desk and I'll help
you." I was like, uh, I am in New York, I can not come over to your desk.
Everyone was surprised that there was a programmer in New York.

Four months later I got another error which I traced back to dependencies. I
re-did all the steps for upgrading the dependencies, but now nothing worked. I
wrote to several of the programmers again and asked them if they had any idea
why things were not working. One of them wrote back, clearly irritated: "If
you simply read the announcements, you would know that we changed the
dependency system this week." I asked, what announcements? He replied: "The
ones posted to the tech mailist." I asked, what tech mailist? I was told that
there was a mailist and every programmer was suppose to be on it -- it was the
main way annoucements were shared with the whole tech team. For me, it was
like having a whole new aspect of the company explained to me. I was finally
put on the mailist and started to get the announcements. By this point I'd
been at the company 6 months, and by this point I had already complained many
times that I was not getting enough information about what was going on in
London. It seemed strange that no one had thought to suggest this before.

At some point I was given the assignment to add some serious functionality to
the CMS. I was given one month to do it. Despite working some long hours, I
was 5 days late getting "done". But I was not done. I sent it to the QA team
and they sent it back -- there were some edge cases where things were failing.
I fixed the code to handle the edge cases and sent it to the QA team. They
sent it back again. This went on for another month. By the time my code went
to production it was over a month late. Part of the blame surely lies with me,
but part of it was the slow speed with which information was communicated. The
QA team would tell me about some edge case, but I would need to ask dozens of
follow up questions to understand why the edge cases were in any way relevant.

In many ways, this job was the best job I've ever had: good pay, great people,
a relaxed culture. Every Friday we had "Beer Friday" meaning people quit early
and we broke out the drinks. The New York office was full of talented writers
and creative people.

All the same, the whole time I was there I was concious of being an
experiment. The company thought it needed to have a tech team in more than one
time zone. But for me, getting needed information was like breathing through a
very small straw -- I never got enough. I found it difficult to find the right
balance between asking too many questions via email versus reading (out of
date) pages on the wiki versus digging through git commit notes to see when a
change had been made.

In the end, I decided to leave, because I did not feel that I could do a good
job. I am sure I could have done more to get more information out of the folks
in London -- it does not speak well of me that I gave up after a few months of
trying. All the same, I think there is some lesson in this: if a company has
the tech team centralized in one office, and then the company decides to
expand the tech team beyond that one office, then some real changes in
workflow are needed to make that work.

~~~
sudonim
When we looked at starting remote, a lot of I spoke with people cautioned
against the "hybrid" approach. Some people on the team remote, some in the
office. It sounds like your experience was the extreme. You were the _only_
person not in the office.

What tends to happen is decisions get made that remote people get left out of
and they get communicated verbally rather than through the normal channels.
It's really important that the company plans around the remote people. I've
heard from lots of companies that they've ultimately canceled remote work when
there's just one person remote. It's a bit too hard to break out of bad
habits.

This is a great cautionary tale for teams who are thinking about adding one or
two people remote when they're all in one place.

------
elwell
I loathe these uses of 'probability':

    
    
      "2.5 billion people in the world have internet access.
      Statistically speaking, the chances that the best person
      for us to hire for any position is among the 0.023 billion
      people in the New York metro area is unlikely."

~~~
sudonim
Hi, OP here... I felt that sentence was a little awkward. There are other
things to take in to consideration -- english speaking people. People with
requisite skills etc...

At least when I was thinking about it, I wanted to convey the sheer magnitude.
New York is the largest city in the US (8m), but I used the metro area (23m)
as my population size. But even with all the people in New York, we'd be
limiting ourselves if we say "You must be physically nearby". 2.5 bn with
internet access seemed to convey the scale of things - albeit imperfectly.

What would you recommend is a better way to do it?

~~~
elwell
To me, the sentence wasn't awkward. Rather, the way the probability was
implied ignored that the best (most skilled) employees are not evenly
distributed across the globe. I would wager your likelihood of randomly
choosing a 'top' candidate from the 2.5bn pool compared to the 0.023bn to be
something near 1:500, for example. But, you do still have a point. An
alternative phrasing, which acknowledges the irregular distribution, might be:

    
    
      "2.5 billion people in the world have internet access.
      Statistically speaking, the chances that the best person
      for us to hire for any position is among the 0.023 billion
      people in the New York metro area is unlikely, even
      considering the high concentration of talent in New York."

