Trying to propose remote working where I work at. Opinions?
github.com
github.com
Acknowledge any inquiry within 5-10 minutes unless on a lunch break. Otherwise it means you are afk.
(edit) To elaborate - there are two issues involved with this. First is that you are unlikely to ever work on a fully self-contained task that doesn't require collaboration with other people. As such having shared work hours is required. Second issue is that of trust. In common tongue "working from home" means "sleeping in, sitting on a couch, going for two hour lunch breaks, etc". It's a way to slack while pretending to be working. I'm working from home, wink, wink, quote-unquote. In a perfect world you would be judged on deliverables and perfectly met deadlines. In real world, you will frequently need to prove that you've been working and that 1 page of code has indeed been a result of a week of research and numerous rewrites.
For example, for me a phone call is something that prefers a quick response, an IM message can wait for some time, and a bugtracker ticket or an email is "I'll reply when I'll have time to do it".
Being able to talk to people immediately is critical.
(I've been running a remote team for 5 years)
If your units of work are so badly partitioned that this is a requirement, remote or local is not really the problem.
Since these things are often necessary, you need to be able to have that happen in a remote environment.
I agree with you though on one important thing - issues of interruption have little to do with remote/local. I try to interrupt people as little as possible either way, but I don't want remote working to sacrifice on real time communication when necessary.
Generally though, you can count on being able to talk to someone when you walk up to their station. When running a remote team, I want people to generally "be around". We work very closely together though, so maybe our needs are not a good example.
Screw you, even if I was sitting right next to you, you have no right to expect a response to your query in a minute. I will get to you when it's the appropriate moment in my workflow, otherwise I'm just running around like a headless chicken all day getting nothing done.
Working time is headphones on time. You do not distract me when my headphones are on.
We are not doctors in an operating room, you can wait 20 minutes. Hell, if I let you wait 20 minutes there's a 90% chance you'll solve the problem without me.
I would much rather devote a solid 20 minutes, even an hour, to you than half-arsedly devote 20 minutes spread out over 10 hours in one minute chunks.
Secondly, if someone interrupts you during a highly focused session of coding, there is no way you would reach same session immediately after interruption.
Think of it as Inturruptability Quotient for every task. It can be roughly defined as ratio of time required to reach same state as before to the time required to finish the job. There are some tasks like writing documentation or editing a proposal, where you can reach similar state of mind as you were before interruption fairly quickly.
However for tasks like programming, designing a db or simply thinking abut a hard problem can take even hours to reach the same level. Inturruptability Quotient is sufficiently high here, maybe more than 1 sometimes. Do you even realize how much grave damage it does to productivity.
Acknowledging communication can also be: "I'll be with you in 20 minutes". That gives me the option to (in 95% percent of the cases) respond with "cool" and plan my own time accordingly, and in 5% of the cases to respond with "sorry, we really need to deal with this now, and here's why".
How fast you respond when someone tries to communicate with you has very little to do with remote/local. I love remote environments, they have huge upsides. Not being able to go to real time when necessary though is a major problem.
Also, you must account for no-interruption working blocks. You must be able to take at least 30 minutes w/out having to answer any IM in order to get sh*t done. That's the main reason why 37signals built Campfire in the first place...
When someone's working solo, they still use Campfire to announce what they're doing/thinking: "refactored widget X", "Think I have that validation working". It helps us all understand what's going on. Some of that is just primate grooming behaviour, but we're still primates, so it's useful.
Quite possibly the worst piece of productivity advice I've ever seen. Given that if you're concentrating on a task it takes more than that amount of time to get back your train of thought, if you're doing this regularly during the day you'll get almost zero work done.
In real life, if I have a critical bug that falls into remote dev's domain, he'd better be damn sure to take his headphones off and get back pronto. Because that's exactly what would've happened if he were sitting across the room.
Nobody expects a telecommuter to answer right away, but quickly acknowledging a question is a rudimentary communication requirement that goes a long way in building functional team. The "I will get back to you within 24 hours" provision from the linked article is as laughable as it is absolutely ridiculous.
Too many people make remote working arrangements about themselves and that's why they fail (sure, the employer cares about you, but if you act like you're only concerned with yourself, you'll come across poorly). Spend time laying out exactly how your move won't only benefit yourself, but will save the company time, energy & money and even open up future opportunities that you're willing to spearhead. You have to lay out the path so that it's a clear win for them. If you can do that, then you can usually get what you want too.
Sean Ogle had an interesting write up about this here (from his own personal experience) - http://www.seanogle.com/entrepreneurship/approaches-to-quitt...
If they value my contributions, they'll have my efforts, if not, they won't.
It's tough to renegotiate a position if you're simply just asking for things and not giving up any sort of consideration or adding some benefit to for the other party.
Consideration is I don't quit. It's hard but true. Personally I've walked away from a couple jobs when they tried to reel me back in house.
Let me know when you are available, we have shared calendars and other means of indicating status, use them. Respect others time, both work and personal. If I can't get in touch with you for an extended period of time, let me know ahead of time or have a good reason afterwards. Let me know of any critical issues, technical or personal as soon as reasonably possible.
Let me know at you have on your project plate so I can assist or re-balance work loads if necessary. Please keep up with the "paperwork" aka source control, logging, reports, time-tracking and documentation.
If working remotely isn't working out, I've got some offices with doors and a fully stocked break room down the hall. And I'll throw in an extra monitor. :)
Make people aware of your office hours, and always keep them. This means always starting on-time, taking lunch on-time, and hopefully ending on-time. Anytime in between is fair game for phone calls and Skypes, although of course we want to not distract someone who is getting something done. Any deviations from the agreed-upon schedule are no different from a commuter being AWOL. Don't do it without prior notice.
Skypes get acknowledged and replied to within 0-10 minutes, depending on whether I'm getting something out of my head and into the editor and therefore cannot answer you (or getting something out of somewhere else in the bathroom). But they do get answered promptly. E-Mail gets checked hourly or less (personal preference for me, but I don't permit e-mail to interrupt my workflow).
Also it's nobody's damn business where I'm working from, and unless I'm very comfortable with you, as far as you know I'm working in a quiet home office. Not very many clients ever know I'm using LTE from (sailboat, beach, back of a moving Honda), and they don't need to, because it can be important to maintain the illusion that I too am rotting in a cubicle, not having more fun than they are.
It's a negotiation situation and when you're clear about the other party's interests and concerns, you'll know what's stopping to other party from saying yes. Good luck! I for one enjoyed remote work in the past but probably because I live far out and don't have kids, I find that going into office to see some faces and talking about tech stuff is more fulfilling. That said, who knows how I would feel further down the road.
Surprisingly I work for large corporation at 'cubicle sea' and everyone has VPN access and works from home sometimes. My previous job in another large corp had similar policy.
I have found that large corporations are able to capitalize better on incremental improvements and responsibilities are more narrow: hence they can tolerate less overall employee productivity.
Also, they might be more experienced at managing people and understand that advantages that working from home bring. For example, taking care of your children so that you live in constant fear of loosing your job :-)
Also the managers where they dont understand importance of code quality and measure everything by how much closer to the end product they are.
The managers, who dont understand that sometimes the code just rots and developers have strong sense of intuition when this happens. Do listen to them.
The managers who dont understand that complexity of a code increases exponentially with every feature. And telling developers, "oh you just need to add this simple script to the program" can be as dangerous as drunken driving. Ok not as that dangerous, but in case you are making software for autopilots and all.
One of the main reasons is that it is hard to build a team / team cohesion if you don't physically interact with the other members. Also, motivation inside a team can be much higher. For newcomers, it's also the desire to work next to the best people from the company.
I'd like to see the tool (which is still TBD on the github link) where you can achieve most of these and have more gains than losses.
If someone wanted to do a quick face to face, they'd just walk up to your wall and start talking :) Additionally you could link walls with other remote workers or other wall set-ups elsewhere in the main office.
Edit: a mini short-throw projector would work well here
Edit2: for privacy, since this setup would be always on, you could switch to "closed door mode" which would project a wall and door picture instead. Perhaps the camera on the office end could detect using kinect style magic when someone knocks on your "door" :)
In an office environment you have people wanting to talk to you all the time (almost always about things that could have waited), and you're constantly distracted, which means things take twice as long to get done.
This of course depends very much on the nature of your job. For programming, research, writing etc. the above holds, but for other jobs the situation might be quite different.
It makes it possible for priorities and adjustments to be discussed before I start working and it makes me feel responsible for deliverables and not for being always online in fear other people might think I'm slacking work.
It's certainly manageable, but still requires some fairly strong willpower to manage oneself. Being lazy, sometimes, I would actually perfer to have a distraction-free office envinorment.
So, my suggestion is, don't [completely] deprecate office space, at least for the first 2-3 years.
Does this mean like over Google Latitude or Find my Friends or something? How would that help with safety? It'd help if you can elaborate on this point a bit more. Also, could it be a slight privacy issue with some folk if they accidentally leave it on after working hours are over?
I like the rest of the points you make though. Good luck with convincing your management!
If this means responding with the finished code, than make sure the inquiries are small enough. If this means confirming availability or that you got the message at all, than why would you need 3 full work days for that?
Sorry… but how is anyone supposed to work with you with this attitude.
If I had to work with someone who was never around and I didn't even know if I could contact them for sure without waiting 24h for a reply then I'd be complaining to management to ditch the guy and hire someone who wants to work.
When you work with someone you need to have some time of the day when you know you can contact the guy.