

Making Remote Work Work - staringmonkey
https://source.opennews.org/en-US/learning/making-remote-work-work/
I wrote a few words about my process for remote development &amp; PM at NPR. Seems like it might be interesting to this audience.
======
sneak
Create another local user account on your computer for being at work. Change
the desktop background to big work logos. Don't configure your personal
instant messenger accounts and whatnot. Set up the email client to only check
the "work" account so you don't fall down personal email item rabbit holes.
Configure the WasteNoTime Safari extension appropriately (more strictly than
your personal account's config, with sites like reddit, facebook, HN, etc on
unconditional block).

Added benefits:

* easy default correct ssh key use (~/.ssh/id_rsa in work account is not my personal key)

* different browser cookie jar

* different dropbox/gdrive login

* different bookmarks

* different shell history

* faster homedir backups (my personal account has ~300GB of aperture in its homedir, my work account is <10GB)

* privilege separation (both my personal and work accounts are unprivileged, so unless there's local priv escalation being used, rogue user-priv software in one can't steal keys/data from the other)

Then, finally, disable fast user switching. (You should do this anyway, as
having it turned on enables a Firewire/Thunderbolt DMA memory-dumping attack
that can steal your FileVault2 keys while your screen is locked.) This means
that you have to consciously choose to "leave work" by logging out and then
logging in to your personal account you use to browse reddit/HN/etc.

This is the single biggest productivity gain I found for enforcing the "I am
at work now" discipline. (Being able to use a non-personal dropbox account for
work stuff is almost worth the price of admission itself.)

~~~
d0
You dont need to do any of this. Walking away from a problem and doing
something else ends up in faster more elegant solutions every time than
avoiding distractions on the machine. I'll tap out a tune on my piano, play
with the kids or sit in the garden for a bit whilst working from home. Then
I'll do an hour or two of work and repeat.

I deliver more finished higher quality code and solutions than anyone else
chained to the keyboard all day.

~~~
JTon
I'm glad you found a routine that works for you. If doing particularly
grueling work (hey, who doesn't here and there?) or I'm in a mental slump,
your methods don't work for me. I don't think productivity has a turn-key
solution

~~~
d0
Holidays are a turn key solution from experience. Even if its a weekend
sleeping in a tent somewhere. I go like a machine after them for days.

------
johnvschmitt
ENVIRONMENT

He touched on this, but I want to let you know, after 4 years working from
home, how important this is.

The environment gives you unconscious cues on how to behave. If you goof off
(surf the web, stream, eat, play, etc) where you work, you are "poisoning"
that environment, & make it very hard to focus on work next time there.

After "poisoning" several places in my house, I've setup a workbench in the
garage, & ONLY work there. Meaning, if I'm working there & need a break, I
LEAVE that environment, so as to keep it clean. Then, when I return to the
environment, it's easier to focus & get things done.

~~~
Swizec
I do something similar, but with time. Some blocks of time/days are ALWAYS
work. Others are ALWAYS goofing around.

It's often a simpler and more viable solution when you don't have a huge
house.

------
dba7dba
I used to be on the other end of the remote working, meaning I was often the
guy that had to go to make sure projector/phone was working etc. Since I was
IT, it was part of my job. But it get pretty annoying. I can't imagine how
annoying it would be for non-IT guy who keeps getting called in to do it.

So if you are a remote worker and you end up using someone else's body often
for remote meeting set up, please don't forget to send a little thank you
gift, like $10 amazon card every once in a while. Don't forget, everyone else
is already jealous/upset that YOU get to work from home and enjoy all the
benefits while someone else is stuck in office and on top of that has to act
as your virtual hands/feet.

------
rjzzleep
since i spend a lot of time in the console i have a few very simple aliases,
for the following and some other time zones i use frequently.

    
    
        cst='TZ=CST6CDT date'
        est='TZ=EST date'
        berlin='TZ=''Europe/Berlin'' date'
    

then i can just convert times and needed.

    
    
        berlin -d '4:00pm EST'

~~~
mojuba
Excellent idea. This, and I wonder when will I finally see a simple, practical
web site that does just that: helps to schedule inter-timezone conf calls with
minimal clicks. One such web site was once posted here on HN but it was
unfinished at the time (didn't allow to add custom locations) and probably
doesn't exist anymore.

~~~
shrikant
I've used [http://www.worldtimebuddy.com/](http://www.worldtimebuddy.com/) for
this in the past and it's worked really well.

~~~
mojuba
Kind of like [http://timesched.pocoo.org](http://timesched.pocoo.org)
suggested in another comment here, but this one is more cluttered. Anyway,
nice tool, thanks!

------
malaporte
Remote worker here, I agree with most things he said.

I work with an on-site team, and I'm the only remote worker in that group. We
use a permanent Hangout that I can keep opened in the background, in order to
hear what's going on at the office. With the press of a button I can 'upgrade'
it to a full two way video chat. I'm using an old battered laptop sitting on a
stand, along with a good quality microphone and a webcam I can pan remotely
(pretty fun). Here's a picture:
[http://imgur.com/OD4V9Z4](http://imgur.com/OD4V9Z4)

When it's open it feels a lot like if I'm sitting there. I can take part of
informal conversations, etc. It's pretty great... although it does sound
creepy when I describe it.

Still my coworkers are totally OK with that, and honestly once you get used to
it it's fine. I'd see and hear the same things if I was physically there. And
since I'm in a different timezone, I still get to work all morning mostly
uninterrupted.

Also, we have similar setups in a few conference rooms, so it's always extra
easy go gather people for quick talks.

I'm curious to know if other people are using something similar.

~~~
yawz
I've tried a few things. I find Sqwiggle's
([https://www.sqwiggle.com/](https://www.sqwiggle.com/)) approach the best.
You can see your team thanks to a-few-minute-apart snapshots and you're just a
click away from talking to them.

~~~
fixedd
I like Sqwiggle, in theory, but the CPU use and constant camera connection
even while it's not in active-recording-mode was annoying... it murdered the
battery life on my laptop. Some of my coworkers also found it a little
privacy-invasioney.

~~~
tommoor
Thanks for the feedback! We definitely hear these concerns and are working on
a few things to improve in this area, particularly with privacy :)

------
randlet
"If your office has a phone system that uses short extensions internally, have
your IT department set one up to redirect to your cell phone. That way you can
tell your coworkers to dial “5555”, instead of your whole number."

Fantastic tip! Super simple but I really think this idea will make you feel
more available to your co-workers.

~~~
toomuchtodo
Protip: This can be done extremely cheaply with Asterisk and a SIP provider;
it can be done faster at a slightly higher cost with Twilio.

EDIT: changed lower to higher @ "cost with Twilio". Need moar coffee.

~~~
dsr_
We use Asterisk to do a multiple-simultaneous-ring service. Actually, a little
more complex. The typical plan is:

ring a desk phone for 10 seconds then ring the desk phone and a cellphone for
55 seconds then drop to voicemail voicemail is transcoded to mp3 and emailed
to your preferred address as an attachment, along with call ID info.

~~~
toomuchtodo
Exactly what I had in mind. I've done it with Asterisk and Twilio, and as I
mentioned, Twilio is a little more expensive but its easier to wrap it
together quickly, while Asterisk can be much more flexible but requires some
admin.

------
btipling
Thank you for the kind comments about floobits, seeing comments like that
really means a lot to us. All of us work remotely too, so your blog has some
good tips. We use IRC for chat and Shush, a Mac OS X push to talk app has also
been very good for communicating. Let me know if you do run into any trouble
or have questions.

------
zrail
This is all super valuable advice. The biggest thing that I've learned from
working 100% remote for the last six months (which is also in the article) is
to have a space that is _just_ for work.

Another thing that I've learned is to be crystal clear on when your normal
working hours are, especially if the bulk of your team is in a different time
zone. Don't be inflexible, of course, but establish normal working hours and
stick to them.

~~~
AJ007
I really like the article. Numerous tiny things I've never considered, like
the switch between headphones and speakers.

The weird thing is I started working in my bedroom a while back. Not only have
I had the most productive year in my life (and I never had a computer in my
bedroom, even as a child) I also have managed to completely eliminate my sleep
disorders.

The most important things I tell people, including my own remote developers:

-Exercise and be active -Eat healthy -Control your light: flu.x, lightbulbs, tape all blue electronics lights -Be social; working from home in a remote area is really bad, in a city its great

If your smart, you can figure out the rest of the stuff because you won't have
to worry about your health. I jump out of bed in the morning happy and ready
to work.

~~~
mason240
That runs counter to alot of advice I've seen. Working in the same room as
your bed has helped you sleep better?

~~~
BSousa
I've gotten the advice of using the bedroom only for sleep and (well other
very specific things) but I personally have no problem to fall asleep after
using my computer in bed. Programming or watching a movie or surfing the web.
I honestly think it helps me (I've tried to leave my laptop on a single
dedicated room before, never taking it from there as a personal experience and
I did notice I got more antsy, and had difficulty falling asleep).

But my wife is the opposite, if she uses her iPad or laptop in bed, she will
go to sleep a couple hours later than usual. Different strokes and all ;)

------
king_magic
I completely disagree with blanket statements like "You should be pair
programming". Ugh.

~~~
neverminder
I prefer brainstorming. If you talk to workout the solution to the problem
then surely afterwards you don't need to look over your colleague's shoulder
while he's bashing out the syntax? I never understood the purpose of paired
programming unless you're explaining somebody the syntax.

------
sergiotapia

        The single best advice I got when I went remote 
        was from Matt Waite, >who said, “Put on pants,” 
        by which I’m pretty sure he meant, “Act like 
        you’re going to work.”
    

Remote worker here, for about 2 years running. Yes, this is great advice and
probably the single biggest factor that will help you stick to work.

Some days I roll out of bed and work in my pajamas, and without a doubt those
are the days I'm least productive in contrast with the days I go balls out
with shower, shave, breakfast, fully clothed ZZ-Top-sharp-dressed-man style.

------
jewel
Instead of a headphone switch, you can enable and disable "Auto-mute"
automatically, at least in linux:

    
    
        amixer sset 'Auto-Mute Mode' Disabled
    

This lets you switch between headphone and speaker mode with a keyboard
shortcut or from the command-line. If even that is too much effort, I use my
webcam to detect my headphone presence automatically:
[http://stevenjewel.com/2013/11/detecting-headphone-
use/](http://stevenjewel.com/2013/11/detecting-headphone-use/)

------
yawz
For the ones who require some extra motivation to remain disciplined, you can
use a tool like SelfControl
([http://selfcontrolapp.com/](http://selfcontrolapp.com/)) to keep you away
from casual browsing.

Also, FWIW, I find Pomodoro's time slicing technique pretty productive (there
are many apps that support it - I'm using PomodoroApp on Mac
([https://itunes.apple.com/us/app/pomodoroapp/id705103149?mt=1...](https://itunes.apple.com/us/app/pomodoroapp/id705103149?mt=12\))).
I usually go with 25min + 5min cycles. (If only all meetings fit in that 25
mins I'd be the happiest man on Earth).

------
ommunist
Thank you for the nice article. Especially for the documents camera tip. I use
phone cam, but this one is better. For remote work timekeeping per project is
indispensable. I recommend Freckle. But pen'n paper with timespending cards is
also ok.

~~~
dhimes
Does anyone know of one that works with Linux?

------
yawz
Any remote-working developer who's _pair-programming_? I'd love to hear about
your experiences?

I know there's been a few attempts at creating remote pair-programming tools
but I'm not familiar with any particularly successful one.

~~~
falcolas
Screen sharing in google hangouts work pretty well. Can't both type with that,
but you both can see the editor with acceptable lag, IMO.

~~~
memracom
I've done it in Google hangouts but I only shared my IDE. And I reduced the
size of the IDE window a bit so that it was large and clear on my co-worker's
screen. The way we did it, I had the keyboard all the time, so when he wanted
something to be typed, he told me. Or, we would work on two different files,
i.e. the kind of change that cascades across several classes, and since we
were working on an SVN branch, we frequently committed to share the work to
date. It is a different kind of pairing than the single PC with two keyboards
and two mice, but it worked well enough to get two pairs of eyes working on
one set of code. With two PCs it was easier for one person to drop into a
browser to do research while the other was still looking at the shared IDE and
thinking about the next move. I have used a tablet to do research while doing
single PC pairing but it was actually more awkward than the remote pairing.

And if there is enough timezone difference you can relay the work by doing
handovers at the beginning of your colleague's workday.

------
mbillie1
One of those rare "making x work" articles that was actually filled with
awesome, actionable tips. I really enjoyed this and will be passing it around
at work, thanks.

------
jj00
I've been doing remote work for going on 8 years now. All solid advice, but I
think the general theme I've gone by is to always be open to trying new ideas.

I've come full-circle on a number of things: I started with 4 clocks on my
wall (laziness/batteries), tried to write my own desktop widget (client turned
them off), then websites (too many tabs), and now an old iTouch (setup today).

------
gleiva
Would be great to include the opinion and feedback from your coworkers who
actually go to the office. This seems like good feedback for people who maybe
does not feel comfortable with their home setup and a few practices. But I
still feel the team's productivity is certainly increased if the team is
working together.

------
pasbesoin
A bit OT, but personally I've never found the need for a multi-zone clock or
clocks. It's just a few offset quantities to remember, and the math is fairly
instantaneous. Although it does get a bit hinky when shifts to and from
daylight savings time don't align across differing regions.

~~~
skj
My calendar lets me have a sidebar to list the time in other time zones, for
when I want to schedule something with someone in California.

~~~
mbillie1
A super lazy, low-effort method is just googling "what time is it in..." and
I'm ashamed to say I do that quite a bit :)

------
wdaher
For pair programming or other remote collaboration stuff, I've been really
happy with Screenhero (screenhero.com).

[Disclaimer: I've invested in them -- but I legitimately do also use it
regularly for this sort of thing.]

------
chermanowicz
Good article, and commentators below have some good suggestions. I'm curious
what tools the HN community uses to make their lives easier?

Project Management? Chat/IM? Task & Calendars? etc.

------
scelerat
I make sure to shave and put on a work shirt. Video conferencing happens, and
this is part of the reason, but just going through the ritual puts me in the
right frame of mind.

------
diogene
For my company of two i use free Teambox and Skype, i run my company server on
a Raspberry pi and i feel liberated whenever i travel around the world with
all my stuff.

------
smackfu
Interesting, we don't really use video chat at all. We use one-to-one text
chat, an IRC room, and conference calls. Seems to work so far.

------
eweise
Wow. "you should be pair programming". Terrible advice. Isn't effective in the
office. Tons worse when remote.

~~~
mbillie1
I wish he had left that out, only because it was obviously going to lead to
lots of reactions like this. Pair programming, at least on HN/reddit, is a
fairly polarizing issue. I'm in favor of it, but plenty of folks aren't, and
it's really an orthogonal issue with respect to working remotely.

(For the record: tmux/vim/skype has worked perfectly fine for me while remote
pairing)

~~~
banachtarski
For me personally, I hate it. Mainly for ideological reasons. I believe that
when I'm "programming," most of it is spent in thought or jotting things down
on paper. When it comes to actually typing things on a keyboard, I've already
figured out exactly what should happen. Pair programming goes against this
work methodology, so I don't subscribe to it. Naysayers tell me that I can
work through the "thought process" in a pair too. No, I can't. That's not how
I work. I'd be happy to discuss my thoughts after I've had alone time, but
that time is critical for me to get things done at a reasonable rate.

~~~
mbillie1
That is a very reasonably response, and I certainly wouldn't push the idea
that pair programming is great for everyone. It definitely works better for
people with a particular personality type, and worse for people with other
personality types. And I think it's a shame that the industry sometimes pushes
things like pair programming as a panacea - like any "best" practice or agile
catechism, it only works if it works for your developers. I just find a lot of
resistance to pairing from people who have never even tried it, and I think
that this is unfortunate, because it doesn't have to be as awful as it's often
described here, reddit, etc.

~~~
banachtarski
Yea I was careful to qualify my preference as a "personal" one. As a former
educator, I believe it can be helpful in some cases, especially for people in
an "exploratory" stage where they haven't learned the best way to reason about
things yet. However, once individuals start performing at a level where they
have particular individual methodologies, pair programming manifests itself as
an impedance mismatch.

------
alex_zige
lol, those comments are quite geeky :D

