Quick background: We're a small Django consultancy/web app development company based in the UK. 7 people, all remote, split as three developers, one frontend dev, one designer, one sales, one administrator. I'm a developer/managing director.
Our experience with remote working has been largely very positive.
- It keeps our overheads very low. I think that when we remove our staff wage bill, our operating expenses are about £200 a month, which is mainly service subscriptions. If we accommodated everyone in an office, we'd be looking at spending at LEAST £3000/month on rent alone. This cash being available has meant that we can expand the company quickly, pay developers well, and still afford to take the team out to conferences and the occasional get-together and night out.
- Remote working means that your processes and working practices need to extremely well defined from the outset. All our interactions are online, so clear, unambiguous communication and good project organisation and management are essential. Of course, there is an overhead in this level of communication that might not be necessary if we were colocated, but I think that overall it benefits us.
- We are also able to expand our hiring pool. We've recently taken on a freelancer in Poland part-time (we knew him from when he lived in the UK), and we're not making adjustments to suit him; we're already well adapted.
- The tools which exist make up for a great deal of the shortcomings of remote working (we use Skype, Trello and HipChat mainly, with the occasional VNC/Skype screenshare session). This is a huge contrast to even a couple of years ago,
The disadvantages are almost entirely human factors:
- I think it's easy to 'hide' from the team if a developer is having a problem (either with their code, or their motivation). It's easy to coast through an unproductive day and there is often a delay in the other team members realising that a project is falling behind schedule.
- Sometimes working remotely can feel isolating. A few of our developers who live near to each other sometimes meet up at one location and work for a day, and I get feedback that everyone feels refreshed after. We have quarterly 'get together days', where we talk mainly about strategy and review our processes and performance, but I think we need to start having 'work together days', just to keep the morale and motivation high.
I would like to note that I've worked both remotely and on-site and that hiding a lack of motivation or results from the team is not a remote-only problem. It does sneak up on you a little easier if you're remote, but we all know That Guy that looks really productive until you realize he's been playing Minesweeper for three months. (Not making that one up - in his defense, Minesweeper was new and exciting at the time...)
Hi Jon, would you be interested in hiring another Poland-based freelancer? Sorry to hijack your thread, I was trying to find a direct email address for you via your profile/linked site :)
"- I think it's easy to 'hide' from the team if a developer is having a problem (either with their code, or their motivation). It's easy to coast through an unproductive day and there is often a delay in the other team members realising that a project is falling behind schedule."
I understand the code part of this problem. I think it's good to have a set estimate on how long the item should take so that as soon as you hit that tripwire you stop, send a notification out to the rest of the team, explain the situation and ask for feedback. Perhaps a good way to help with this would be to setup a "feature timer" which automatically hits an "oh shit" button and sends out the notifications automatically.
I have to disclose I am a remote worker for JonAtkinson.
I believe set estimates are not the best way to approach this problem because how do you estimate it? If you are in new territory then what seems trivial to one person may require some research and extra understanding by another. Also when you set a deadline it becomes more of a target for the individual action and instills a time wasting mentality.
It's especially difficult when a new employer enters the company as they feel under pressure that this is the expected deadline. One of the most helpful things Jon has done to elevate this situation when it arises is allow honest conversations without any fear which come from I guess a personal understanding/experience.
I also don't believe this problem is specific to remote working, it's simply a managerial problem within the industry as I am willing to openly admit this (having a problem and not speaking up) also happened at my previous job but the openness didn't exist hence a lot of dodging and ducking was performed until the task at hand was accomplished.
The estimate wouldn't be a deadline or for billing purposes. It would be more of a tripwire for "this task needs attention" to make sure a developer doesn't get bogged down in a task that he / she is unwilling to admit defeat on. Sometimes all that is needed is a fresh perspective from someone else to look at the task and offer a different approach. Think about those situations where you bang your head on a wall for far too long on a problem and then take a break or sleep on the problem and then fix it immediately when you get back to the task. Another developer could also offer this fresh perspective. The task may simply be bigger than originally estimated and the discussion may be no more than "okay, adjust the estimate and keep doing your thing."
Also, in some cases there actually would need to be a deadline and there would need to be pressure. It depends on your situation. X startup working on their own application may have wiggle room for their timeline, but I do mostly client work where our deadlines are pretty much set. Often I need to give estimates which the rest of the team will use as part of tracking and projecting the overall timeline as well as setting the expectations for the client.
I agree with you though. It sounds like you guys have a great setup.
It's a problem which we're mainly trying to solve with visibility. We have a HipChat bot (which shares commit messages, Jenkins feedback etc), and we're considering having it just post "What are you working on" into the group chatroom once an hour.
Like most problems, I think it can be solved with a bit of self-reflection and better communication.
How do you solve legal issues? If you don't have any contract with your employees, what if they contact personally your consumers and the work personally done?
I have visited the countries where our employees are, registered our startup there and made a non-compete contract ( http://en.wikipedia.org/wiki/Non-compete_clause )with them. But this costs me time and money.
If you don't have any agreements with them, how do you manage your works and where/how do you find good employees over internet?
I should probably clarify; with one exception, all of our current team are salaried employees of our limited company, and we pay their NI etc. Our contracts have the usual non-compete for 12 months after ending employment stuff in there, but so far no-one has left the company, so we haven't had to deal with anything like that yet.
Finding workers hasn't been a problem to date, as we have generally grown organically, and most people have freelanced with us before they became employees, or we have worked with them in some capacity before we started the company. I think it's more accurate to say that while our team is geographically distributed, we share a really close social network. I did a really quick blog post about this last week:
It probably is a cultural difference. I think in the last year or so we have maybe lost a couple of potential customers because we use a distributed team, but it's not been a major problem.
For us, our specific geography is also a factor; my business partner, who also runs 95% of our sales activity, is based in London, and his sales activity is centred around there. Our developers (myself included) are based on the north-west, where developer salaries are lower than in the south. I know that we have used that fact in sales pitches, and it has helped us win work based on that lower total cost of a project.
The main problem was, is, and shall ever be communication - but that's the same if you're face-to-face. I actually communicate better via email and forum than face-to-face, so remote work is good for me.
Especially in freelancing situations, it's a natural fit for how people like to do business; you have to organize yourself more carefully than if you were simply sitting next to your customer, but that's not actually all that onerous.
I wouldn't go back to commuting for anything. Life's too short.
How do you deal woth the isolation?
I worked remotely for around 3 years and in the end I was begging for an office. Desperate need to see other human beings...
I grew up on a semi-remote farm in Indiana, so I actually prefer isolation and good books. Plus I have a wife and kids (and neighbors and extended family), so human contact isn't actually a problem. And honestly, back when I was working contract in Indy, the people I worked with were shallow and kind of stupid, mostly.
I work remotely as a freelancer and my experience has been nothing but awesome.
I'm from the CET timezone and the people I usually work with are either in PST or EST so there's a 6 to 8 hour time difference. Here are some of the benefits I've observed:
- I'm a night owl, so I can directly communicate with the people paying me
- even though I like long mornings, I still have at least 5 hours to work before employers wake up (makes for efficient-er communication because I already know what I need)
- the US is full of cool startups working with technologies I actively follow and take an interest in. (locally I've been smashed into teams still on svn ... on new projects)
- sad but true, in Slovenia nobody pays you the next day after sending an invoice, you are legally mandated to allow up to 14 days for payment and everyone takes that way too seriously (and often even overshooting) - US people have so far always paid me the day after invoicing
> * (locally I've been smashed into teams still on svn ... on new projects)*
Completely off topic, but: is this necessarily bad? Does the world stop when there's a centralized source control server?
I'm in an environment too where people are sometimes reluctant to move to newer, better software (svn is an example, our bug tracker sucks too), simply because of the learning curve / overhead involved. I started out by being annoyed with this, until I realized that at the same time using modern SW development practices is really what matters (e.g. a lot of TDD, BDD, MDSD here). I can survive svn, but I can't survive the waterfall model.
I find the use of SVN to be a good predictor for a place using the waterfall model and calling it "agile", not using TDD and so on.
It's my "one wrong candy" clause if you will. (can't find the article right now, but some bands make one insane request for their backstage that can be instantly checked, when it isn't perfect, they know to check through the whole list of the stage setup and so on, otherwise people literally die when something breaks)
Wow. My "no black M&Ms" rule is a lot less discriminating than yours (btw, the band you're thinking of was van Halen). I don't care if clients use SVN, or CVS, or whatever they want. I just want the answer to the question "What do you use for source control?" to be something other than "Source control?"
I can't talk for TDD, BDD, MDSD. But after working with git/hg on all my projects for half a year, I'd flat out refuse to work on anything that used SVN now.
Genuine interest: why? I felt the same, until I realized that I also want continuous integration, preferably as continuous as possible. This means that if my coworker works on a feature that somehow affects what I'm working on, I want to find out now, not in a week after he merges his feature branch.
If there's a single central repository anyway (continuous integration, remember), plus you want people to share with master/trunk/whatever after being under water for at most 2 days, the workflow when using git/hg becomes awfully much like the workflow that SVN enforces on you. When I realized that, I stopped investing time in converting my colleagues to git. I use git-svn myself so that I can stash, move files without `svn move`, do local commits, etc, and everybody is happy.
CI is a good argument for centralised source control, and like you say it is possible to get 90% of the benefits just using git-svn (I have done in the past).
The real power for me is the branching, especially shared branching.
My workflow is like this, each dev has their own github repo which is up to date with whatever is in their local repo.
So even if someone is working on esoteric weird crap, I can see it (ircbot telling you about commits) and I can pull it.
For CI we have a server that is also running a git repo of it's own. Anyone can push branches to it and they'll get put through CI.
So I can now take my branch, pull 3 or 4 peoples feature branches merge them locally then push to CI repo to see if anything is broken. If it is, I can fix some of it and push it back to whoever needs to know if there is something I don't understand.
Do you work from home or do you go to some co-working space? One of the main concerns i find for a remote employee is that people somehow need to socialize with their coworkers, feel part of something., and that part may be missing if you work from home
I work from home mostly, sometimes from coffee shops. Used to like a coworking space, but then it got too serious and office-like and drained all the fun out of itself. All the mojo was gone.
Socializing with people happens over twitter and at college, sometimes at a events, I make sure to go partying at least once every two weeks etc.
The only problem with working from home is the "But you're home anyways, you can take care of this and this and this" syndrome.
I started out by emailing people who post in the monthly "looking for freelancer" threads here on HN. Sometimes even job boards.
Although lately a much better model has turned out to be having a "Email me if you need a freelancer" link on my blog - produces, on average, one email per week. All from americans since that's where most of my traffic comes from.
i work for american companies from abroad (i am english, but live in chile). i have worked for a small-ish startup (about a dozen employees) and a technical consultancy (similar size). before that i had worked with a team split across two locations (usa and chile); before that i worked from england for a company in scotland (after working locally - moving south pushed me into my first remote job).
i am not convinced that the problems are any worse than working locally, to be honest. the problems may be different, but it's still true that a good manager makes life easier, and that a bad manager can be worked around.
so i would say that if you have an experienced employee that you trust (as i hope i am!) then it's not a big deal. and inexperienced people that you don't trust are still a crap-shoot - remote working doesn't change that.
any way of working has its own issues. if you're competent you can solve them; it's your job to do so. if you can't, working locally will only make the misery local.
i guess maybe people want specific advice anyway. the most important thing is that you (as employee) need to force feed status to your employer. there's no feeling worse in the world than hearing "so what have you been doing?". meeting up physically once a year or so is also a good idea. weekly teleconferences help. that's all as obvious as it sounds, which brings me back to my original point...
[ps and personally, i love it. the peace and freedom are great. good pay (compared to local market) is a bonus.]
[pps an observation that might be illuminating - i just realised that half my computer screen is devoted to communication. i have a text console on the left, with (ascii) mail in the current tab; on the right i have an open chat window; in the middle is eclipse). the web browser alt/tabs over eclipse and chat.]
> that you (as employee) need to force feed status to your employer
That's what I experienced also. Make yourself heard: a simple mail at the end of the day to your team/manager will do. Ask for feedback. This is important when you are remotely attached to an otherwise locally working team, prevents ending up as "the guy who breaks CI once a month".
When you feel stuck or have the idea you feel disconnected from the flow of the team (or something stalled there) it's easy to ask for a skype/chat meeting with the group. In general I find communication not to be the problem, but it shows that bad or lacking communication locally gets somewhat amplified if you're passive because you don't share water cooler/bathroom with the team.
I was able to work remotely (exclusively) for 2.5 years from 2004-2007. I was able to live in two different, beautiful places, and moving was a non issue. My work schedule was totally random - I would wake up whenever I wanted and simply skip "work" days at random going to hike, but despite this it was, in terms of output, one of the most productive periods of my life.
However, after that period I simply decided to quit, because of the totally absent social life. Now I waste 2 hours a day in commute and waste time in useless meetings setup by some random executive. I'm also paid less comparatively, and have more expenses. I still wouldn't go back. I now discuss openly and face-to-face with great colleagues, work with great problems together, share great ideas, etc. Choosing a good job is so much more important.
I would still happily work remotely one, two days a week. Just for the convenience. Or maybe in small periods throughout the year. Still, I will never work remotely again.
During the period I worked remotely, I was able to knew/meet a lot other people that worked remotely all the time (some since the '90!). We all had, more or less, the same problem: we all scored incredible amounts of hours (compared to normal workers) despite the absence of both work pressure and schedule. We tended to be a bit extremists in quality (of course, you had all the time to think about the best solution), which wouldn't work well with normal colleagues that had to struggle with time constraints. I didn't understand that at the time. Because of your derailed work schedule, you generally tend to be less social even if you have good social contacts. In the end it's a self-inflicting problem: you are less active socially, you dedicate more time to your work, etc etc. It's actually quite difficult to find balance. I couldn't in the end.
Employers should take note, because working remotely sorta-implies a very dedicated person. Being able to work without any social pressure is difficult if the worker is not a motivated person. Un-motivated persons will basically quit by themselves after just weeks (I saw it happening a lot).
It also boggles my mind that employers (and this happens mostly in EU) still don't grasp that concept. Regulating work hours, presence, etc is stupid unless your job is depending on a regulated schedule itself. People slack right in front of the monitor all the time. Allowing people to work from home it very beneficial: it actually increases the production (less time wasted in commute, colleagues, etc). But of course, it really depends on the people that you hire, and how willing are you to thrust these people.
A couple of years ago, I was working for a very bureaucratic company in a low-walled cube, being forced to ignore unpleasant distractions around me, and I hated the commute. I was one of their more productive developers, so I asked them to let me work from home. They sort of went for it: they agreed to two days in the office, three at home. I really enjoyed those three days at home, and I was way more productive. I eventually had to quit that place, because it just got too horrible, but I've been trying to get another remote job ever since. In the last few months, I finally succeeded.
I got myself hooked up with a contracting company. They find iOS jobs for me to do, then subcontract my time to other companies. And I get to work from home 100 percent. I had to take a severe pay cut to make it happen, but for me, it's worth it.
I enjoy that I can make a better environment for myself than any office I've ever worked in. I have lots of space, a window, a door that closes, and a huge Apple monitor. A whole bunch of quality-of-life things I couldn't ever convince employers to give me. I can take an hour off here or there to take a nap or walk the dog. And there's no commute. Eventually, I can move somewhere cheap, to make the most of my income. This is the life for me.
I admit that there are inherent communication problems. As other people have mentioned, you have to be a fiercely determined self-starter to make this work. But looking back on it now, the stuff typical employers expect you to go through -- for me, there is no comparison. You'll have to pry my remote job from my cold, dead fingers.
Freelance translator here. 4 years working at home in a few countries for companies around Europe.
. Perhaps it is largely personality based, but I've always enjoyed it. Deadlines keep me on track and side-projects fill the spare working capacity. So work does get done and, as others have said, more besides.
. Productivity is not a problem, especially when you learn to down-tools when you feel you need to, rather than waiting for your set break times. You'll probably find yourself working more efficiently.
. Socially you do need to adjust, and make the most of opportunities to meet other freelancers/people where possible. I initially missed the office banter, but less so with time. As with most things, if you accept it will be different and don't resist that, it should be easier.
. As mentioned elsewhere, those around you at home will indeed sometimes forget that your body and mind are often separated (i.e. body at home, mind at work). Prepare to have many thought-bubbles burst, unless you have a good home-office solution. A semi-hack for this problem is to simply take more notes.
. Energy wise, if you care, I've seen studies for and against the savings made by remote working. Heating 25 whole houses in winter compared to a single office, for instance, doesn't guarantee an energy reduction. But then there would be 25 times less CO2 emissions. Swings and roundabouts. Never really been a key issue for me, but perhaps worth consideration.
I'm now moving into a more involved 'startup-style' phase this year, with no deadlines to keep me on track and no team around me I'm going to have to adapt to a new style of remote working. Tips welcome!
Definitely not avoiding them in my freelance work - they help to keep me on schedule.
The 'no deadlines' line at the end refers to the translation community/tools startup I launched recently - that's a new kind of remote work for me and will need adjustment from the world of deadlines.
Once I start working on a site, I can be absorbed for hours and deadlines become superfluous as I could do in a day what would take a secure-salaried staffer a week. But managing freelance projects and startup promo is a challenge.
Interested in collaboration? I'm definitely passionate about open-source translation tools and community building, and there's a dearth of good technology in the translation industry, it's always seemed to me. My email is in my profile if you're interested.
Agreed. While there is some good, open tech out there (OmegaT, MemoQ - for open formats, at least), there seems to be lots of room for improvement. Email should be in your mailbox now.
I've worked remotely as a consultant doing full-stack web app development for over 3 years. Before that and after graduating I had a nice full-time office job for about 1 year.
The decision to replace a stable job with an uncertain entrepreneurial environment required a huge mental change from me (something that's due to local culture aspects), but the opportunity to simply work on what I like doing became irresistible at some point.
As far as the pros and cons of working remotely are concerned, I think the biggest advantage is that the projects I work on now are infinitely more interesting that any local job I could find. I like to learn and every new project brings new challenges.
I also like to travel and business trips have been a great opportunity to visit many places in Europe and US.
The downside is that if you are a consultant/freelancer targeting foreign market you have to be prepared for idle time in you business. The fact that you have several offers now doesn't mean you will have any 3 months later. It's good to have a contingency plan.
Also, if you are self-employed you have to deal with bureaucracy and accountants. For many companies it's just easier to work with people that issue invoices rather than going through a process of hiring foreigners. The overhead depends on the country you are living in and sometimes can be a real distraction. Outsource as much of that as you can.
Another thing that is a bit frustrating is that many companies back out when they hear I'm interested in working remotely, even though they are unable to find engineers on the local market and I can provide them with comparable if not better service. I've made the mental change, now it's time for you. My only tip is: hire managers of one [1].
I like distributed teams because they force you really figure out communication and your team processes. It's hard work, but the reward for getting it right is that you have access to talent all over the world.
That said, I think the experience varies based on your situation. I'd be careful signing up to be the first or only remote worker. You'll find you miss out on a lot of the conversations where decisions happen; people can forget to dial you in or bring you up to speed. Don't underestimate how much work you'll have to do to keep the communication flowing. Working remote is a lot easier on a team that has other remote workers.
A few years a go I co founded start-up in the US while living in the UK. The other two founders both lived in the west coast, and I worked remotely. In the beginning it was fairly straight forward as it was only the three of us and another contractor from Russia. I developed the app, the contractor developed a component we needed and the other two were busy getting the business side together.
When we got funded things got more serious as suddenly our little startup became a bigger company with offices and employees etc. I would basically do a 9-6 work day, and the Americans would clock on at around 5-5:30PM. We'd have a little overlap to talk about what's new over skype and I'll clock off. That was the theory of it but in practice I ended up chatting to them on skype at various hours as they sometimes needed information from me. This worked OK for me but I personally like being in an office and interacting with people. You become a recluse when you spend your days cooped up at home. Having said that, today I still try to do at least one day of home working to keep a balance between home and office.
The main problem I found in remote working are distractions from family, kids etc (who forget you're physically at home but mentally you're not), and a side effect to that problem is that because you sometimes get gaps in your workday you end up stretching the day into the night, blurring the boundary between home and work time.
I've been working remotely (on and off) for a total of about 6 years. I live in Eastern Europe and worked for UK/US companies. Most good and bad things are in here, some already mentioned. So here goes the good:
- differences in culture that allow you to communicate your ideas and gain trust faster than in a local company (such situations: adoption of agile methodologies are way behind in local companies still stuck with waterfall when compared to US ones);
- better pay compared to local deals;
- work with international teams connects you to the pulse of a market you would otherwise only "observe" from a distance and maybe think the people running those sites/businesses have an extra "something";
... and bad:
- (depending on your location and legislation) all overseas employers I worked with are NOT willing to pay social insurances that are paid by a local employer (this having the right to medical services and retirement income)
- the "what have you been working on" syndrom: for managers that have little or no tracking in place BUT do like to "be in touch" and micro manage;
- no paid official events: I had a unfortunate event in my family, my father passed away, and had to take 5 days off - did not get paid for it. Local legislation specifies that the employer has to pay 5 working days in such events (also for weddings and child birth). This might variate depending on your local legislation;
I've been working from home as part of a distributed team for the last 3 years. It's great. You do have to be disciplined and intentional about a bunch of things that are more likely to happen naturally in a collocated environment, but that becomes a habit pretty quickly.
The best thing about it is that we have people on the team (myself included) who are experts we just wouldn't have been able to get if relocation was a requirement. I think this is the killer feature of telework-enabled jobs.
The problems, in my view, mainly have to do with trust and communication. With remote employees, you can't just drop by to check in on them—you have to do it over chat, skype, etc., and the same goes for communication between team members. I think a lot of employers have a sort of mental block they can't get past over this.
When I was hired, I was told I'd be visiting our offices once a quarter to check in. I think this was just worry about how a remote employee would work out. In practice, they found pretty quickly that I could be trusted to get things done, and I've never been summoned for such a "check-in" visit with my boss. We do have periodic in-person sprints where team members get together in person, and these are very important and productive times.
I am an employee of a company based in Virginia but work from home in Rochester NY. Been only doing this since last December, but I am loving it and will have a hard time going back to commuting.
Lots of people with prior telecommuting experience warned me about issues like isolation, putting on weight (because of proximity to food) and lack of discipline. Now after telecommuting, I feel that I have none of these issues. I have friends that I play tennis with or meet up occasionally for drinks, and I feel that more than makes up for the lack of social interaction. Regarding food, I used to eat out when I commuted so now I have more control over what I eat being at home. Lack of discipline is a problem only when you see it as a lack of discipline. I have moments when I want to stop work and read HN, do a tutorial etc. This actually helps me getting back to work in an hour or two with fresher focus on the problem.
All in all, I believe remote work is the future. The so-called benefits of an "impromptu technical discussion in the hallway" might seem nice, but in terms of getting things done, it has no advantages over interacting remotely.
Its really a puzzle why more companies don't adopt this.
> All in all, I believe remote work is the future. The so-called benefits of an "impromptu technical discussion in the hallway" might seem nice, but in terms of getting things done, it has no advantages over interacting remotely. Its really a puzzle why more companies don't adopt this.
I'd disagree with this.
As someone who has done both, I find if most of your team works out of one place then the lone remote worker often gets cut out of these impromptu discussions.
When 3 people grab a room and diagram something on a whiteboard it's usually easier to not include the remote worker due to issues, like:
- time zone, the worker may not be working at that moment
- how do you share a vanilla whiteboard in real time
- how does the remote worker "point" to specific parts of a white board to illustrate a point or draw on the white board?
- most people don't want to spend 10 minutes setting up for a 1 minute meeting, hence the remote worker gets dropped.
I'd say working together trumps remote workers for hallway discussions always.
In reality, it is better not to depend on impromptu discussions (meaning not grabbing people to discuss something with as soon as an idea hits you). When a person comes up with an idea and wants to discuss, you are almost always better off notifying people you want to get together with and set up a time. This will have the added advantage of not disturbing the flow of the other person, as well as give you sometime to re-iterate over exactly what you want to discuss. In that case, a remote worker will most likely be factored in.
Also, I was talking about the case where ALL employees in IT are remote and not just some of them. In that model, you all adjust to working in a virtual environment, highlighting actions that maximize interaction and minimizing those that dont.
I'm also an employer, I pretty much exclusively use oDesk.
I believe outsourcing will begin to play an increasingly large role in how society operates due to changes in work/life balance, increasing internet speed and availability, and the number of people working office jobs.
My experience with outsourcing has overwhelmingly been positive, however there's definitely an art to hiring a good employee. Some people who want to work freelance really shouldn't, they need too much direction or micromanagement, even if they're quite good at what they do. It brings a lot of value when your employees can think for themselves, most of the overhead of outsourcing is keeping on top of people.
One thing that people don't consider when hiring remote workers is the experience that can come with it. I've hired people who are experts in PPC. They have used screensharing to walk me through what they're doing while simultaneously delivering value to my company. I believe there is market for this type of remote training in the near future.
Incidentally, I had heard of hacker news but never read it, one of my outsourced employees really got me onto it. He's a designer from California. More than happy to share more detail if people are interested.
I've had both excellent and terrible experiences. Ultimately, the biggest issue I've run into is companies and individuals who are frightened by the concept of breaking the mold that is sitting in an office for eight hours a day (for whatever reason, not doing that either places you into the "lazy" or "destined to be a failure" pile).
In addition to this, two other problems are: the failure for managers to coordinate and oversee "virtual" employees and the inability for those remote workers to communicate effectively.
From the management perspective, you have to be comfortable with not being able to walk over to someone's desk at the drop of a hat. There's definitely a change in cadence that takes some getting used to, but some people just hate the idea of not being able to walk across the room and chat (nothing wrong with that).
On the communication side, quite unfortunately, many people fail to communicate well (i.e. poor writing skills, lack of articulation in speech, etc.). Save for a decent amount of training, this is probably the hardest aspect of remote employment to deal with. If you can't talk the talk and explain yourself properly, you're pretty much useless to who you're working with.
I work remote as a developer- mainly doing web based stuff
Advantages-
.No IT jobs locally that i like to work for (mainly high stress financial based IT jobs)
.Choose where I work from- I could work from home but I rent a desk in a communal office to be around other developers/entrepreneurs
.communication is cheap- use skype
.if this contract doesnt work out i feel i could move on to something easier rather than being a full time employee in an office
.Never met my boss :)
Disadvantages
.Spec gets lost- without proper procedures i find myself sitting doing nothing as boss is nowhere to be seen
.you cant nag someone when ya see them. i.e. if your waiting on an email you cant shout across the room at them - you have to lift the phone or get them on skype.
overall i enjoy the experience and some of my main issues are more internal issues- but remote working is made so easy now with the likes of gmail, pivotaltracker, skype, dropbox and google docs
edit- some of the other comments say it can be quite lonely- i work in a communal office and i go to the gym every night after office hours just to get out of the office or away from home
I'm a freelance designer and I've worked remotely almost my whole career. For example, I've successfully worked remotely for Hipmunk on and off for the past year.
I'll be honest, things do move faster when you're in the same room. But if they haven't replaced me with an on-site designer yet, I'm guessing that means the benefits of working with the right person outweigh the disadvantages of working remotely.
So it's been a very positive experience for me so far, especially since if I didn't work remotely, my only two choices would be A) move to the US (which I can't) or B) work only for French companies (which I don't want to ;).
And the only tools I use are Skype and email, I like keeping things simple, and I like that both tools force you to only talk to one person at a time, it makes things a lot easier.
I also use CloudApp (http://getcloudapp.com) for easy file sharing, it's especially useful combined with Skype to quickly share my progress since it lets you upload images straight from Photoshop and copies the URL to the clipboard automatically.
I'm running a small startup with employees all around Greece (yes, Greece). We've always been this way. We work with Skype for communication, SVN to synchronize code and specific weekly targets to keep everyone on track. So far it was a very positive experience and certainly comes with less overhead.
However, as the company grows I can see that there are certain shortcomings on distant working. The previous comments did a good job describing many of them. You certainly need self-motivated, oriented people - otherwise you will spend too much time on project management. Knowing them from previous projects is a must otherwise it might be a good thing to pay them a visit for some friendly talk (and a few beers) every few months.
As a side note: isn't a unique privilege to work from wherever you want, at your own hours and without constant meetings? I really love technology...
I have worked remotely for 6 years - in one case working for a UK company and living in Australia. Once you get the hang of it (especially as an engineer) it is significantly more productive. BUT it does take the right sort of mindset - I am self-disciplined in terms of starting hours, I do not get distracted by things around me.
Of course the downside though is that the work/life line gets significantly blurred. At least working at a office when finishing work I 'finished' working remotely it doesn't work like that.. just will finish this one last thing then I will stop... and I don't.. I have a family now so its great to be near to see them grow up... but sometimes families still don't get the fact you are 'working' can you just drop so and so off to school etc...
I am an Employee. Working since 2004 and love what I'm doing. I had pretty bad experience in some of my prior jobs because of choosing the wrong employer or the project for me. The most common mistake was getting short term contracts for immediate need of money.
But after a while I learned how to choose teams and projects too. Preferring long term contracts with the longest elimination process. An interview some trial tasks and even an IQ or math test really makes me feel comfortable about the company I am going to work with.
Well good teams always pays less, but you learn a lot. This keeps my hourly price rising since 2009 in every project.
Currently working in a team in which we have decent work hours, great developers and scrum meetings twice a week.
I am not a associated with some remote company but I have done freelancing on project basis as well contractual terms. I have got clients from sites like vWorker.com as well as they come to me directly by making search and landed on my home page.
I have worked for people in US, most of the time, people in UK,spain and even in China. A few years back I used to work for EasyGroup which is(was) quite popular due to different ventures.
Overall my experience is good. I got burnt too when few clients did not pay me and ran away. I also experienced some cool things that clients became friends. one of them even hosted my personal site free of cost on their server so free domain and machine for my home site(adnansiddiqi.com). hehe
Remote employee here: Been that way since I started out of college about a year and a half ago. The majority of the developers, client support and analysts for my company are remote. Probably 50~ people. The founder, as far as I can tell wanted this kind of environment when he started it, so remote communication has been built into the work flow. We have an internal Jabber sever and IP phones. Any collaboration is done through that. We also have our own ticket/project management software.
It has been a completely positive experience for me, but as others have mentioned it takes a large amount of discipline. It is really easy to get distracted and basically lose a day.
I've been working remotely from France for French, US and UK based companies since 2002, and one thing that I feel has been overlooked in this thread is the importance of the setup for a telecommuter.
If she doesn't have a quite, separate room with appropriate IT equipment (UPS, printer, backup drives, etc) and furniture (desk, proper chair on which you can sit for hours, etc), the telecommuting project is doomed from the start.
some of the companies i've worked for gave allowance to help setting up your home office and it was plain great. My telecommuting was a personal choice, so i invested a lot to buy my own equipement and never regretted it for a minute.
I worked remotely from a home office for 2 years while commuting in monthly (about a 3 hour trip each way). I really enjoyed working from home and miss it now.
There were no communication issues or isolation things for me but that might come with more time. My wife would just leave me alone to work, if she needed something that could wait she'd just IM me and there were never any 'watch the kids for 30 minutes while I run to the store' kind of moments. It was great to be able to spend my breaks with my family.
The only issue I had with working from home is that it's more difficult to get to know new co-workers.
I live in a huge city(São Paulo) and just like most of big cities the traffic here is terrible. And it's just getting worse.
Nowadays I work really close to my home, so I don't have problems with it. But I remember of taking 2 hours to go to work, 2 hours to come back. And when it rains...well, it gets much worse. It's terrible.
Working as a remote employee full time is something I need to achieve.
I think I haven't found the right opportunities yet or maybe I'm looking for them at the wrong places.
Collaboration. I've noticed over the past weeks that most of the job postings on various sites require on-site working, and it's because of the (mostly justified) need to be able to have a more personal connection to the worker. It has it's great merits, of course, but an employee would usually prefer remote work due to its perks, such as being able to fart where you sit, and not commute to work in what you foresaw from your childhood as a Ferrari.
For me, the main issues are timezones and phone costs. Timezones, because no one will respect your hours if they don't conform to US ones. Phone costs, because people still have hour long teleconferences and those minutes add up. Skype is ok if the quality is good... if not, no one is sympathetic and just says "can you find a better phone?"
The main general issues with telecommuting is that when someone says "I'm sure you've heard about Project X", you haven't.
I've been working almost exclusively remotely for 1.5 year (2 weeks on site in 2011) and I really like it as a freelancer. My clients are happy too :)
Just like setting a price, requiring remote work filters out the clients I would not enjoy working with. People with remote working habits I've worked with tend to be good at communicating, sharing issues (even psychological ones), giving visibility overall etc. Otherwise you're in trouble.
I've been on both sides. As an employer, I've had no problem with it. As long as the people that you hire are self-motivated enough, it will work out. But that makes hiring a bit more challenging.
As an employee, I enjoyed the freedom and trust that my employer gave me. I had the same issues others have mentioned with feeling isolated, but managed to alleviate that by going to conferences and meetups. Keeping involved in the local community is important.
I've worked as a (semi-)remote employee for the past 2.5 years for a HUGE multinational software company. Here's a braindump of experiences:
- I work in Ireland and my colleagues are in the US. The time zone difference is generally handy because I can work in the mornings and they come online around 1:30pm. So my afternoons (or their mornings) are when meetings and scrum calls happen. I don't attend any meetings outside my core work hours, and I'm rarely even asked to. I'm not sure a wider timezone difference would be suitable
- I actually work from a subsidiary office so I have people to get lunch with, even though I don't have any work contact with them.
- Things are usually scheduled around a US working day so, for example, nightly builds were scheduled to run in the early morning so they hadn't finished by the time I started work. And then I'd be trying to download them just as the corporate network start to get saturated by the US employees starting work.
- My line manager is here in the office but functional managers are in the US. This creates odd situations where I can phone-in sick but my teammates don't get informed. Or where my annual review is done in the US but the salary/bonus must come out of an Irish budget.
- "Ramping-up" on the product was pretty hard because if I got stuck in the mornings I had to wait until the afternoon to get some answers. Once that product learning curve is over and you become more autonomous it's much easier.
- There can initially be some resentment from US employees that their jobs are going to Ireland (an uncomfortable truth) and it can be difficult for me to know that an experience engineer has been "resource actioned" because I'm <1/2 the price. Particularly if they've helped train me up on the source code etc ;-(
- Many of my US colleagues are also remote / working from home but this is actively being discouraged. If fact, we all (US in-office, US working-from-home, and me in Ireland) had to attend a rather tactless meeting which listed the disadvantages to remote working: poor career progression, no management visibility, loneliness, poor team cohesion, communication problems etc. It's not like this was my choice!
- Tools: primarily email, instant messaging and regular conference calls. We also have get defect and version control notifications by email.
- I think things would be easier in a non-corporate setting because we'd have the flexibility to choose better tools: something campfire-ish, Git, some visual story planning / Kanban board, perhaps video conferencing over Skype, ambient webcams so you can see each other etc.
- I'm not sure if I'm a typical programmer: I dislike making phone calls and generally prefer to talk face-to-face with people. You get to pick up on subtle little clues (are they bored? are they stressed? are the busy? are they saying yes but only reluctantly?) which are lost in non-visual mediums.
Edit: I work in a very quiet open-plan office and this makes phone calls much harder. Ideally remote workers should have a private office so they are comfortable speaking on the phone. Particularly important if you want to conduct annual reviews over the phone!
- Having said all that, I'm seriously considering moving into remote freelancing or trying to find a permanent remote position but most job sites are focused on location-centric jobs. Any good pointers?
_I'm not sure if I'm a typical programmer: I dislike making phone calls and generally prefer to talk face-to-face with people. You get to pick up on subtle little clues_
I'm a programmer, and I agree. Phone calls are my least favorite medium of communication. I have the impression this is fairly common. I'm also quite comfortable with email or IM and prefer those over using the phone, as well.
If you are already comfortable with remote working, why not to become independent consultant, rake up your compensation 2-3 times and spend 1/2 - 1/3 time on client's project and other time on traveling/hobby/family and learning/researching?
No matter where you live, once you get enough references and track of success - you will get this 2x - 3x rate easily.
why not to become independent consultant ... once you get enough references and track of success ...
What are the steps one takes to get to this stage - to become an independent consultant?
From what I've heard, it doesn't sound easy. Companies (apparently) prefer dealing with large body shops, not individuals. To get work as an IC it seems like you need inside contacts? Or maybe you need special, in-demand skills?
My previous company doesn't hire contractors from inside the country, so those contacts are useless. I'm a good developer but not a rock star, and I don't have special skills (Java developer).
I'm asking because I'd really like to know. In truth, I want to develop a lifestyle business, doing part-time work building something I enjoy with plenty of time off for other things. But meantime it would be nice to get some income doing short-term jobs as an IC.
In my case I started as IC. I accidentally choose Drupal for a blog for me and my friends. I found Drupal architecture fascinating and started playing more. At the same time I registered at oDesk.com doing some small stuff for people - fixing perl auction software, writing Delphi tool to parse some pdf file to excel spreadsheet, etc. I started from $8/hr there (I am from Belarus - it's more or less enough).
At some point I found a job posting where client wanted to build simple social site - forum, posts, Q&A. I applied and recommended Drupal as a base. I was still novice, but I "felt" it was good enough long-term wise. By this moment I was charging $15/hr - this is after 3 months after starting at oDesk.com
After another 3 month I was top one for Drupal on oDesk.com and was charging $35/hr for Drupal projects. I felt pretty self-confident in this area. Also, I figured out there much more to learn - I continued. After another 6 months I stopped to apply for new contracts since existing clients kept me quite busy. By this time I was charging $50/hr. For someone from Belarus (where average monthly salary is $250) getting from $8/hr to $50/hr is pretty good.
So. You already have expertise (which I was lacking back in the time). You now need to find place to look for Java contracts (I am not sure oDesk is good place for this. May be eLance?). If this skill is not work good for IC area, learn new skill. Seems like ruby/php/python/nodejs is popular with remote contracts. Stick to it. Eventually you will build clients base and you will not need to market your self that hard. You will be able to choose projects and work as much as you want.
... and convincing my wife that I'll able to fly once I step off the cliff.
I was fortunate enough that my wife (although highly skeptical) was trusting enough to go along. Sometimes you just have to make the leap. Wish I had earlier, instead of listening to my fears and the fears of those around me.
I worked at a small video game startup (at our peak we were around 10 full-timers).
Both our Design and Art directors worked remotely from other states. It was NOT a productive situation.
It did, however, teach me that design is something that happens organically, and in collaboration over lunch, beers, etc. It can't be handed down from somebody hundreds of miles away to implement.
I am a remote cakephp developer from the Philippines. I have been at the most productive stage of my career. I do invest to make my work the highest possible quality. A home office so I can concentrate, I buy new equipment (iMac 24") and I have two internet connections.
My main problem right now is getting burned out. I stay at home most of the time and it is quite depressing sometimes.
I'm a Django developer working from home most of the time. As you said, it is a bit depressing at the beginning but I believe that with time you start developing new activities and make friends online. I find it really productive and stimulating but it depends on your character of course.
Haha, I'm in the Philippines also and I understand the need for two internet connections. Now if only I could hook up two electrical connections. Oh well, I guess I need to pick up a generator.
I have a fully self contained development environment on my USB drive for when I absolutely can't deal with down time during internet connection / electricity outages. Then I can just grab any computer at an internet cafe and be back at it. Otherwise the outages are just unscheduled breaks. I have also learned to keep ahead of the ball rather than procrastinating because the outages seem to be timed for that last minute when I can't procrastinate any more.
I'm from the Philippines too (Taguig), and when I was just starting I was paying for 2 connections. Right now I just maintain one (dsl), and during outages and other emergencies I go to cafes with wifi. Generally I try to work on a cafe once a week to minimize the isolation.
I work from home too. I make sure to detect when it goes bad, and focus more on well-being when it does.
Things like: going out one or two times a day (walking, biking), taking a regular yoga course (I do that), having periods where you stop working earlier, periods with no computers, reading books etc, seeing people, cooking...
our companies bigredwire and littleBiggy are 100% remote worker based. the only person left in our office is the accountant who just seems to like it better. a cupla observations:
set meeting times are a substitute for proximity. and audio works better than video. instant messaging is perfect for the times in-between as it creates a presence and has a very flexible protocol between users.
asynchronous development is very, very helpful. dependencies between people that are physically separated is considerably more difficult. this is a tough one to learn but brings its own strengths.
not only do we hire contractors from all over the world but even our full time employees are able to live "in orbit", moving around the planet with the freedom of backpackers. they are tied only to their computer.
freedom is a substitute for pay. once you get to a certain point of income you prefer freedom. i dont know anyone here that could go back to the world of offices; it seems so involuntary, like indentured servitude.
I'm a remote Ruby developer. Most of our team is on-site.
My main problem is: online communication makes discussion much more complicated than face-to-face, so you don't contribute as much ideas when people brainstorm or otherwise solve creative problems. If you have a lot of ideas, that can be depressing.
I visit the office several times a year, mostly to share thoughts and socialize.
Complete agree. I worked remotely (as dev, dev manager, and head of pm) for about 5 years for 2 different organizations.
The biggest problem was always when there were some people local to one another who would get together physically to tackle a problem. Either they wouldn't think to dial-in the remote team members at all, or they would but the discussion would be conducted in such a manner that it was impossible to fully participate (i.e., poor speaker phone, whiteboard drawings, projector w/o webex).
I think remote teams can be very effective, but it is crucial that the entire org be oriented around communication channels that give the remote team members equal footing. I almost think the ideal is all or nothing -- everyone is remote or no one is.
I can relate. Our team is spread across the US but the 2 co-founders work out of an office together. It's tough being the 3rd man with lots of ideas and passion about the project because communication is hard when you don't see each other every day.
If I had my wish, we'd all be in one office or at least local to each other so we could meetup and chat more often.
It has been awesome experience for me. I have been working as remote consultant since at least 2 years. And with all tools available right now, I think it is best time to execute anything from anywhere. I think besides different time zone world is really flat.
Its entirely up to the people. I've hired 3 contractors for remote work in my life. the first one, on 'mates rates' left the job half done which taught me the lesson: pay people what they're worth. The 2nd + 3rd have been great so far. Communication is key.
It's hard to work remotely if the company is not willing to adapt to it. In my experience, remote working is better when lots of employees are doing it (like github for instance).
Working as a data scientist with a remote boss: communication was much more difficult. No telephony or software solution came close to standing on front of a shared whiteboard. Which sucks, because I really wish it did. Maybe what we need is actual <$5k shared whiteboards.
The biggest win I've seen is with ops teams. I hope I'm not betraying any confidences, but a previous employer had an international ops team so as the americans were going to bed the ukranians came on. It made ops a lot less shitty -- I do not like being tired, it makes me cranky and pissed. The issues may still be annoying but at least you aren't being screwed by bad software at 3am, etc.
Just this week I started looking into similar ideas. At the moment I've been experimenting with a Wacom tablet and screen capture software... I looked up the Khan Academy methodology and started there.
But if anyone has recommendations for and iPad app that offers a shared whiteboard experience please let me know. We already use Skype on iPad as our sort of virtual office so that would be perfect.
Yeah, there's whiteboard apps. I want a shared whiteboard. Ideally at least 4 feet by 4 feet. The key feature is both parties can draw and erase and the marks appear on both boards. I'm pretty sure I could talk employers into buying one for the office and one for each remote worker, especially with the arbitrage opportunities around different housing costs. Also, in my experience video cameras trained on whiteboards seem not to work that well because of glare.
Quick background: We're a small Django consultancy/web app development company based in the UK. 7 people, all remote, split as three developers, one frontend dev, one designer, one sales, one administrator. I'm a developer/managing director.
Our experience with remote working has been largely very positive.
- It keeps our overheads very low. I think that when we remove our staff wage bill, our operating expenses are about £200 a month, which is mainly service subscriptions. If we accommodated everyone in an office, we'd be looking at spending at LEAST £3000/month on rent alone. This cash being available has meant that we can expand the company quickly, pay developers well, and still afford to take the team out to conferences and the occasional get-together and night out.
- Remote working means that your processes and working practices need to extremely well defined from the outset. All our interactions are online, so clear, unambiguous communication and good project organisation and management are essential. Of course, there is an overhead in this level of communication that might not be necessary if we were colocated, but I think that overall it benefits us.
- We are also able to expand our hiring pool. We've recently taken on a freelancer in Poland part-time (we knew him from when he lived in the UK), and we're not making adjustments to suit him; we're already well adapted.
- The tools which exist make up for a great deal of the shortcomings of remote working (we use Skype, Trello and HipChat mainly, with the occasional VNC/Skype screenshare session). This is a huge contrast to even a couple of years ago,
The disadvantages are almost entirely human factors:
- I think it's easy to 'hide' from the team if a developer is having a problem (either with their code, or their motivation). It's easy to coast through an unproductive day and there is often a delay in the other team members realising that a project is falling behind schedule.
- Sometimes working remotely can feel isolating. A few of our developers who live near to each other sometimes meet up at one location and work for a day, and I get feedback that everyone feels refreshed after. We have quarterly 'get together days', where we talk mainly about strategy and review our processes and performance, but I think we need to start having 'work together days', just to keep the morale and motivation high.