Thanks to StackOverflow I'm relatively reputed(?) in one teeny niche of the programming world. This leads to a few recruiter emails per week, and almost all of them I reply to with a cheeky way of saying that I'm not going to move[1].
One company to date has said that not-relocating my entire life is OK with them. The rest can be summed up with the reply that ended an email exchange with an SV angel:
> sorry to hear that, and let me know if you ever decide to head west, young man :-)
Alas I'm a person before I'm a programmer. And I always will be. And I have a family and friends and a home in New Hampshire that do not fit on airplanes so neatly.
Even apart from the tangibles, I cannot fly the feelings. I cannot fly the sights and smell of my hometown to the Bay Area. I cannot fly the white mountains, so isolated from the civilized world and yet they feel so familiar to stand atop the notch and look around, as if I've been there a thousand times, as if I've always been there.
Maybe that's dopey. I don't know. There are streets to know intimately and sights and mountains and sunsets in other parts of the world. But I feel like I belong here. Life is peaceful, I live slowly, I walk everywhere. I can be in love with the world on a time-scale, a thing at least partially set by surroundings, that works for me.
This morning, I turned left out of the driveway on my bike to head to work -- the same driveway that I've lived on since 1989.
It's "early spring" already in Silicon Valley, and the distinct smell of the brisk, moist air and the sight of the fresh, yellow-green-Crayola-colored grass that has sprouted up all over the hills following the winter rains made me think, "ah, it's this time of year again."
I couldn't help but keep looking at the rolling hills, the bright green grass growing naturally everywhere, and the old, tired oak trees. And it came to me: how can I live anywhere else? I love it here.
I've considered moving to places like NYC several times in the past, and even recently. I know that NYC is a great city, and having gone to an East coast school, I have many people I'd be able to call friends there. But I know that this is home for me, and a hypothetical marginally better employment situation won't be able to overcome its gravity.
I happen to live in SV, but not because it's SV. I live here because it's home for me, and home to the friends I've known since childhood and adolescence seem to keep hanging around here along with me. I am lucky to have the best of both worlds right now. But if the world changed tomorrow and all the tech jobs moved to NYC, you'd probably still find me turning left out of my driveway like I always have. Just like you I guess :)
I'm with you man. That's how I feel. SV is good ... if you want to live in SV. Not because you want to go there for a job, not when jobs need you more than you need the jobs.
One thing caught me in the article. We need opinionated developers - who follow something they believe we need and tell people about it.
Usually opinionated is a bad thing - you seem to have the good opinionated. It's your opinion that rugged mountainnscenary and the well being of family and friends is worth more to you than salary and fussball.
I am seriously coming to the belief that setting clear tasks and assigning them to developers is a negative - I work much better on an idea I can see being great than I do on some half baked imposed task
I believe google uses an auction / pricing system - the more the boss wants it the more points it gets.
I think I know what I want scrum points to mean now - prizes
"and Fog Creek had (at the time) a strict no-remote-workers policy. This drove me crazy. These were amazing employees, in whom the company had already invested deeply, who were now walking out the door because they couldn’t live in New York any more."
"Pain" is a very good teacher. It slaps you in the face and tells you're an idiot.
"Remote working isn’t for everyone. There’s a tendency to think that working from home is all sunshine and rainbows and working in your PJs. It’s not. You miss out on being around people (which wears even on introverts), doing fun stuff like playing ping-pong or having lunch together, and (sometimes hardest of all) you lose a clear distinction between work and the rest of your life"
Yes, absolutely. That's why even if I'm hired for a remote position I'll find a way to not work from home (at least not every day).
Go to a cafe, somewhere, or just hire a shared space/shared office.
You'll still commute, but to a place near you. You don't get distracted by house stuff. You can concentrate better. You can meet new people, depending on the place, and even getting from your house to somewhere helps 'tune out' of work for a little bit of time.
I sit at my desk a lot less, but work a lot more. I'm one of those people that simply cannot solve complex problems while sitting at a desk. Because I'm not beholden to butt-in-the-chair syndrome, I am free to spend an hour or more going for a walk, visiting a local coffee shop, or taking a bath so I can think and problem solve before typing into a console. As a result, my work takes less time and requires fewer revisions than when I was sitting in a chair at an office.
The down side...I'm always at work. In order to create the separation I have to make sure to leave the laptop upstairs in the office or else I'll just keep working at the kitchen counter.
Adding another Amen here. I work from home, and I can get done in an hour or two what most of my colleagues take all day or even 2 days to complete. Why? Because I'm left alone!
The only time I work is when I want to work. That means, in order for me to tackle a project, I have to be motivated. When I'm motivated, I get the task done better, more quickly and more succinctly the first time.
If I'm forced to sit and stare at a screen and made to feel guilty when I'm not working, I'll never be motivated for anything. And working on something when my brain keeps saying "Fuck This!" is damn near impossible. I'm more likely to put some sort of half-assed hack through in such a scenario.
Some people, like you and me, Aaron, can motivate themselves and make sure things get done on time without someone standing over them. The manager standing over you scenario comes from a world where work is supposed to be dull, soul-crushing and horrible. Yer not supposed to want to go to work, so we have to stand here and make sure you do everything.
Helps to be passionate about what you're doing.
But yer also very right about dividing between work and life. I often find myself replying to work emails at midnight on a Saturday night, or working on a project on Sundays, or even while on vacation. In such cases, it helps to have a spouse who can shout at you to put it down.
Amen, brother. Heck, I use a wireless headset so that even when I'm in a hangout I can walk around, go outside, etc.
Don't ask me to think about something and then sit still while doing so; you'll get whatever lazy answer I can come up with quickest - or no answer at all.
When I was at Broderbund I got a rep for walking around a lot. My boss wrote me up saying that there was no way I could solve a problem when not sitting at my computer.
When I quit he hinted that with his contacts I'd never get another job in games, I was working 5 days later.
Myopic views, such as "must be sitting at a desk in an office", will never be the path to creative solutions to problems.
Managers who have nothing to do love to go after people for stuff like this. When a manager's job is just to crack the whip, not to remove barriers, things get bad pretty quickly.
> I'm one of those people that simply cannot solve complex problems while sitting at a desk.
My best ideas? In the shower.
Number of businesses I've worked at where it was possible to take a shower during the day at the office to solve hard problems? Zero.
Working remotely with washable crayons on a shelf in my shower means I get about 3x the concept creation time. I figure a number of businesses I've worked at (in the office) have lost out on more than a million dollars of creative output due to not having a shower available.
Another downside is that I have completely lost perspective on how long it takes me to "get ready" to go outside the house if I have to be somewhere early in the morning. My routine is that I get up, feed the kids, eat breakfast, read the Interwebs, check up on the night's disasters at work, then move upstairs to my office. I often don't get myself groomed until lunchtime or so.
To those that I work with...don't worry. I always wear pants. But don't expect me to want to video chat with you too early in the morning. :)
Yes! I work three times as hard from home, and love it. I'm much more productive, to the point of doing projects that would take 2-3 people alone myself. I'm currently looking for a remote full-time position (email in profile).
The best code in the world is usually written faster and better by a single dood in a basement working non-stop for a couple days than it is by teams working for months.
Yes, so true. I'm also working on 99% of the Nuuton code by myself. Front to back end, including the web crawlers. Its strange, but I can definitely get a lot done like this. I sometimes even get bored and started building my own life-size robot. It will act as my administrative assistant.
I've worked remotely for 10+ years for various companies. I really appreciate the trust and commitment my employers have for letting me be in this situation.
As a result I always try to go beyond expectations and pay a lot of attention to communication.
Some of the things I do which I think give my employers confidence in me are:
1. Constant communication. Don't leave it to the imagination what I'm up to. I have a weekly work diary where I say what I'll work on, then tick off what I have worked on. I update throughout the week via IM or email.
2. Think about problems no one is working on yet. Kind of "skating-to-where-the-puck-will-be". In my case as a product designer I work on features/ideas we haven't discussed yet (usually not on company time).
3. Flexible with time. Need a presentation done over the weekend? Sure, no problem.
I'm a huge fan of remote working. My ideal scenario is 4 weeks home, 1 week office or something along those lines depending on projects. Although currently I have not been to the office in about 1 year!
I am not a super-genius developer but communication is something I really focus on. If they email me I try to respond as quickly as possible. Any meetings during the weekend, I squeeze time out. Even if I am going for a bathroom I just leave a small 'brb' campfire. Update my daily sheet, be very vocal on what I'm upto and make sure my progress is communicated in timely manner. These are important for good scenarios but in worst case scenarios (client being badass, deadlines are in danger of being missed etc.) this is vital.
Plus it's important to understand from employee perspective that the onus is more on us to make sure we communicate better. For on-location workers, colleagues/managers can drop by and check out progress but for remote workers it's us who have to step up.
I currently work at home 3-4 days a week with the others being in the office, usually for meetings and collaborating on things.
The office is an open floor plan with very poor noise reduction. When not in meetings in that environment, it is hard to get work done even with headphones. Visual and audio distractions persist. That said, there are times where getting together is helpful.
When contacted by companies, I ask about telecommuting. Many play the "it is up to you and your manager once you are established" game. Result - thanks but no thanks.
Time spent in the car/traffic is productivity lost.
RJ stepped up. He volunteered to write the Amiga OS from scratch, entirely by himself. Of course, he had one major stipulation: no one was to bother him for the next 18 months. No meetings, no phone calls, no "Hey RJ, wanna go get lunch?" For the first 12 of those 18 months, RJ wrote the code in the office. But then, it was decided that the 30 minutes he was driving from home to the office and back again each day was too detrimental to his progress. RJ moved into a hotel near the office with just his clothes and a computer.
I have a daily commute time of 1h each direction but I travel by train. I've been doing this for 2 years now and intent to keep it this way because I find it a lot easier to focus on reading than when I am at home. When I don't feel like reading I listen to podcasts or reflect my work.
Fair enough. My point is being more mindful and deliberate about things, and not taking the default of "I have to come into work." You don't have to. I'm certainly not suggesting that you have to work remotely, either.
Time spent in the car/traffic is productivity lost.
Not necessarily. Thinking is still the number one thing we as software people need to do. A 20 minute commute is a great forced time to not do anything else but drive and think. Even when I worked from home for 2+ years, I still drove somewhere else nearly everyday to work in addition to going to the gym.
I'm happy to be working in an office again. My current floor plan is much different than your though. I share an office with my teammate, and it's almost too quite through the day.
This blog post is wonderfully written; it succinctly outlines the benefits and the caveats from both the employer and the employee's perspective.
"I’ll let you in on a secret: most of our remote developers work longer hours than our in-office devs."
This reminds me of the 'unlimited vacation' policy, which, if I'm not mistaken has effectively showed that employees don't end up taking as many days off as they would if they were allotted the standard 15/20 days.
I generally feel that when you empower an employee, and give them ownership and responsibility, provided that they're passionate and capable, you'll see significant productivity gains. In the case of SE, this holds true because the problem that they're solving is so close to the creators of the product.
I'm not sure "unlimited" vacation time is empowering. It makes who goes on vacation more or less than whoever else something that may be silently judged. Bob went abroad for five weeks- is that excessive? Bob has no way of knowing what others will think, and may not go abroad at all to avoid the potential fallout. This judgment is also very difficult to uncover- if one person discourages his team from taking vacation, how would you tell? With allotted vacation times, HR tracks whether a specific manager's employee's are taking vacation.
More importantly the lack of vacation time accounting provides less protection for the employee in terms of job loss. Unused vacation time is often added to severance pay.
In actual practice, "unlimited vacation" seems to be a nice term for the company to minimize potential severance pay, bookkeeping, and potentially create a work environment that silently discourages taking vacation time while publicizing the opposite.
> In actual practice, "unlimited vacation" seems to be a nice term for the company to minimize potential severance pay, bookkeeping, and potentially create a work environment that silently discourages taking vacation time while publicizing the opposite.
I too have been bitten by this - hearing "there is no vacation time limit", and then seeing your paycheck shrink and being told "You took too much vacation"... That's extremely negative for morale.
I wish that companies had a minimum vacation time, but no maximum besides "your work isn't getting done".
Curiously, in Europe we have a required minimum number of days of vacation a year (20). I had been remembered several times by HR in different companies that I HAVE TO take those days off before the end of the year (around November or so).
Maybe I wasn't all that clear, but my first point with regards to unlimited vaca policy is that even though it seems to be giving individuals freedom (like working from home can be seen to be), it doesn't always turn out that way in practice -- people are more likely to end up working more for whatever reason (inline with what you've articulated well above). I'm all for allotted days.
My second point was a general thought. The appreciation I have for SO is undoubtedly shared across the tech community; the SE platform has changed how we (not just techies) learn. I believe that they are an exception to the rule and that their ethos teases the best out of engineers. As knowledge workers we have our greatest impact in our distraction-free flow state. If work is good, higher output is natural. With the right environment, a remote situation could possibly enable me to stay in the zone more.
It makes who goes on vacation more or less than whoever else something that may be silently judged. Bob went abroad for five weeks- is that excessive? Bob has no way of knowing what others will think, and may not go abroad at all to avoid the potential fallout.
Why is a team full of grown men, mature adults, silently judging a team member for doing something the rules entitle them to do?
I wonder what the legal issues are for an American company having cross-border employees. How do they take care of national insurance and income taxes etc for their UK-based employee when (presumably) they have no legal presence there? How does this work for them?
Usually the individuals are not employees pr. Se, unless the company in question has a local legal presence in the country of the employee. Instead they are hired on a simple business contract containing similar terms as a standard employement contract. The employee then sends invoices for their salary. In theory this makes them contractors, but in practice they are employees.
The employee will however most often have a few extra things to take care of themselves, compared to being "employed by the books". For example to report local taxes, pension arrangements, health insurance etc. The company isn't usually involved in that, but might pay for it indirectly through a salary that's adjusted for these aspects.
In some countries, local laws require the employee / contractor to have a company (sole proprietor kind). In others, the contracts can be made directly between the business and the individual.
In the UK this is not legal. It's not even vaguely close to being outside IR35.
While I have no familiarity, I doubt it is legal in many other countries with a socialist state that requires employers to pay things like national insurance.
Basically if you walk like an employee, and talk like an employee, you're an employee and shouldn't pretend to be an independent contractor and you probably should not set up your own company as you'll be double hit with taxes if they catch you (company taxes for employees and standard employee taxes). That could leave you with several years worth of some serious taxes to back pay.
Don't want to be doom and gloom, but be aware what you're getting yourself into if you're going to pretend to be a consultant/contractor when you're not.
(Disclaimer: not a tax expert or an accountant, but I have spent too many hours researching this stuff as it applies to my own situation.)
IR35 only applies when there's an intermediary -- usually when you're providing services via a limited company, then taking dividends at the lower tax/NI rate instead of a salary.
If you're self-employed and contracting with a foreign company, then IR35 can't apply (or so I was told when I spoke to HMRC to ask precisely this question).
Now, HMRC could decide that it's not a true self-employment relation. In my case (self-employed, working remotely for a company in the US, limited degree of control by engager, purchasing my own equipment, bearing the risk of invoices not being paid) I think there are enough factors to make it a true self-employment relationship and HMRC's online questionnaire agrees.
Even if you were contracting through a limited company, if you met the self-employment test you'd probably meet the IR35 test when operating through a Ltd. I'd prefer not to risk it -- which is why I went the self-employment route.
There are some pretty good IR25 proof legal contracts out there. The key is to have a contract that defines your independence and that the way in which you operate with the client is very unlike that of an employee. Good examples are the ability to choose when and where you work, that you can work for other companies at the same time, and the fact that you use your own resources: http://www.contractoruk.com/contracts/wary_consultancy_contr...
Isn't IR35 used to cover cases where there is actual tax avoidance though? Where it is not a sole propriertorship, but rather a Ltd, and the owner is extracting his salary through NIC exempt dividends?
We do have UK presence now. :) I don't know how these things worked out with other people before that, but I can speak about myself.
I'm one of the community managers at SE and I work from my home in Canada where Stack Exchange does not (yet?) have an office. My arrangement is basically that I send in an invoice every month like any contractor would and it is up to me to take care of my own taxes and so on.
I work for Stack Exchange in Germany (where they have no presence except for me), and I'm a regular employee with all German taxes, social security etc. that entails. These things can be made to work.
How do they do this? I seem to be having a mental block as to the logistics of this. (On a side note, the pragmatics of having cross border employees when you have no presence in that country would be a very, very interesting blog post, and one I'd read with interest.)
From another comment I understand they also have a UK presence. Are you a true-blue employee or a contractor who takes care of their own taxes and affairs, and just issues monthly invoices? If you are an actual employee (in the legal sense), are you employed by the UK or US company, or something else? Do they have to have an address there, or a foreign subsidiary? Presumably there's no German legal entity, so how have they registered there to pay tax?
This is something I'm prospectively interested in doing for my own business, but I'm not sure how I'd make it work from a tax point of view.
I'm a regular employee (of the UK presence; it's all EU, so I assume that makes things a bit easier). There's a German tax office that does the wage accounting to make sure that it follows all the rules.
The only difference to a standard German employee is this: While in Germany legally the employee owes the wage taxes, they're usually collected by the employer and passed on to the authorities. But the German tax authorities don't like to do that with foreign companies (basically because they can't hunt after them when they don't pay). So from a legal perspective, I pay the wage taxes myself (but the tax office takes care of that as well).
I never knew that was possible! I'd have imagined it could have been possible as a contractor, but not with this arrangement. Is there any particular benefit to being an employee in this case as opposed to a contractor?
I may be wrong, but if they have a presence in the UK they most likely do not need a presence in Germany. Through EU agreements, Germans are allowed to work legally in the UK.
They are allowed to live, work, and study in the UK without any significant restriction, and the tax issue would be a non-issue if they were domiciled in the UK. The reason it's interesting and complicated is because they're apparently living and working in Germany as an employee, without FogCreek having a German entity. They wouldn't be subject to British taxes and there's no German business entity to register with the German tax office.
A UK company (or a company of any jurisdiction) can establish a subsidiary in another EU state, in much the same way you could register a NY-incorporated company as a foreign company in CA, but this doesn't appear to be what's happened in this case.
Nothing beats moving to a low-admin country, though. Since you're working remotely anyway, you could as well do that from Ecuador or so. The lower/non-existing tax bill will easily pay for any flights back home. Enjoy the beach!
How is moving to a country with a low tax rate bilking the government? For that matter, what government?
Also if you are an American citizen you have to pay taxes on your worldwide income even if you don't live in the US anymore. There are pretty good exemptions (I think its like the first 90K of income) but you still have to file every year.
I've been working remotely at my current company for just over 4 years now. I've never met anyone that I work with. I actually work less overtime (none) with this job than any time I worked in an office (usually 60-80 hour weeks). I just get my work done without interruption.
Working remotely has allowed me to move out of New York and have money to pursue other goals. It has been difficult to stay social -- it a 45 minute drive to the nearest small city. The tradeoffs are worth it though.
I'm likely to return to working somewhere on site soon, but working remotely has significantly improved my focus and my work ethic.
Likewise if someone is a Japanese citizen, with official residency in Japan, and is in the US as a tourist or a student, and works remotely for a German company, a Canadian company, and a Guatemalan company, and gets paid by wire transfer to his bank account in Japan from his three clients... is he breaking the law in one or more countries? Perhaps there will be a telecommute country, with laws designed to let telecommuters live easily. Like incorporating in Delaware for companies.
> #2: When done right, it makes people extremely productive.
Do you have any tips as to how to make this "done right"?
I, and a few of my remote friends, have hard a really hard time being nearly as productive while remote. I find myself really proud of being able to accomplish 4 hours of dev work when at a coffee shop or at home, but in an office I can work 8-10 hours without putting much thought into it.
There are some things you can do for the environment. The main thing is creating boundaries so that your home life separates from your work life. So for example:
(1) Spatial boundaries. If you can, dedicate an entire work for just working from home. In some places I can't do that, what I do is set up the laptop at the kitchen table and take it down again at the end of the work day. This includes cords. It might seem like a pain in the ass to put the laptop together every morning, but it is no different than if you had gone to a coffee shop. If you have a family with kids, you'll want to set up space that has a door. In return, when the computer is shut down (and you always shut it down or put it to sleep) or the laptop lid is closed, it's now family time.
(2) Temporal boundaries. You want some accountable way of starting the clock, so to speak. Standup is a good method for this. There needs to be something to end it, so you know when to stop and put things away. You will want to announce when you go on lunch or bio breaks. You can also type a quick end-of-day standup on what you accomplished that day. This provides temporal cues on when things are beginning and ending. This way, not only does work not bleed into your home life, your home life does not bleed into your work life.
(3) Social cues. I don't like pair programming much, but in a remote situation, you need to pair more often even if you don't normally pair. "Pairing" can be sharing a Hangout conversation to consult on something or tmux-shared-screen. This way, you don't go off shaving a yak. If you are in a group of peers (for example, some founders), then it is helpful to have everyone check in on each other occasionally. "What can I do to help?"
By setting up boundaries, you keep these things from bleeding into each other and help you concentrate while at work ... and enjoy your home life when you're not working.
With coffee shops: the best approach I have found is to establish a co-working group. You don't need a formal co-working facility if you convince some of your locally-based remote friends (or acquaintances you have met at the local User's Group for your technology niche) to co-work at a coffee shop. Small, family-owned coffee shops, pizza places, even bars, tend to be very friendly for this sort of a thing. You're treated as a regular and you tend to start camping out at a particular corner during the non-rush hours. Once a week can be enough.
I love working remotely. My current arrangement has a gotomeeting standup every day, jira for tickets, hipchat for persistent chat (I had to recommend persistent chat to them but now they love it), and frequent code pairing through screen sharing. They all go home at five so I can stop then, too. I wonder sometimes if there are other similar arrangements out there - java, spring, etc - but it seems like a pretty high bar to clear.
> #1a: You don’t lose people to silly things like their significant other going to medical school.
I really don't like the attitude here. Your significant other moving, is _not a silly thing_.
> I’ll let you in on a secret: most of our remote developers work longer hours than our in-office devs.
Yet another reason not to work remotely -- to maintain your work-life balance. Home is a place you spend with family and/or significant other, and doing non-work related stuff.
> it forces me to look at what they’ve done
This is something you should always look at. Measuring someone's performance by the number of hours they've spent in the office is _never_ a good idea; some people are just productive than others.
I stopped reading at this point. The author is quite selfish/insensitive to employee needs (since your significant other moving is "silly"), and he objectifies employees and doesn't treat them humanely (anyone who is happy with their employees working like 14 hours a day truly doesn't care about the employees' holistic well-being.)
> I really don't like the attitude here. Your significant other moving, is _not a silly thing_.
I don't want to speak for the OP, but I took this sentence as, "Losing a good developer because his significant other is headed to medical school is a really silly thing for a company to do", which I would completely agree with.
I love working remotely, and I want to believe the following, but I'm not sure that it is true:
"...most of our remote developers work longer hours than our in-office devs. It’s not required, and probably won’t always be the case, but when going to work is as simple as walking upstairs (pants optional, but recommended) people just tend to put in more hours and work more productively."
From personal experience, what happens is that the remote worker went downstairs to play with the kids and pets or watch something on T.V. that someone else was watching while they had a snack. Then they work 30 min more later to make up for it. It isn't working more- it is spreading out the work.
Also the post mentions that a self motivated, proactive worker is more likely to do well remotely. But, that depends. Micromanagement of remote workers is really bad, but so is just saying that they have to figure out what to do on their own if that is not their personality/work type. I personally work better when it is clear enough what needs to be done, and maybe if it is something I'm unfamiliar with, then a lot more information about the internals and business requirements and logic is provided, but I'm not told how to implement it. That is true whether I'm remote or not. But each person has their own way of doing things, and usually those aren't evident or may be misunderstood in an interview, so I don't think you can just say "they need to be proactive and self-motivated" and somehow some mystical force draws the right people to work on your team.
I work for an office with an office culture where 99% of the people go to the office. I find more and more of my time is spent on smaller, time critical projects that can't afford to get held up by the politics of an office! Makes sense. Given a 2 year period I likely won't make as a complete project as a team in the office. But given 3 weeks to 2 months to come out with something minimal, I have a much higher success rate doing it remotely than if its handed off to members of the team in the office. Not sure if that says something about me, the people in the office or a company as a whole.
I can also relate to this drifting though. If I'm not kept busy I do find myself drifting and not being productive for periods of time - until things pickup again. Not sure if being in the office would help there, or if I'd just clock more hours playing ping pong!
Remote working is all great. One downside I notice is the blurring of work and home life, especially the working hours. I've drifted slowly to work later and later into the night. At one point I've shift working until 6am in the morning. That's time I decided to reset the clock and do regular hours again.
The hint about a persistent Google Hangout is very interesting. It sounds like you just create a Google+ event, attach a hangout to it and the URL is persistent forever[1].
I cannot express how happy am I working remotely,
I am more productive, I can be with my dogs, I can think
much more clearly.
But unfortunately, I get terminated for working remotely in the past 3 jobs I have as a programmer.
I live and work in the Philippines, and I always opted for an office job that takes care of my government securities and taxes, which I cannot get from working remotely on a virtual staff company or freelance website.
So I always end up working on a traditional office, but every once in a while I take up my vacation leave or sick leave and do excuses just to be at my house and _continue_ working, because I love programming and I always love to do it at home.
But it always turned out badly for me, and always get terminated for being 'AWOL' or work abandonment, just because I'm not at the office.
Are cost of living adjustments made to the compensation packages for remote workers, or does a developer in rural Iowa get the same six figure salary that seems like nothing in Silicon Valley?
Well, I was specifically referring to the situation in the link, where StackExchange hires remote workers to be full-time developers. Unless I've somehow misunderstood and those appointments are not full-time but rather contract-based.
I understand that if you're freelancing things are very different.
Sales is probably the longest running remote working occupation in the world, so yes, it works. I know a number of people in sales that are remote almost all of the time.
Sales is much easier than tech/web development to do remotely because you can use commission and/or sales targets to quantify how well the remote salespeople are doing. Don't use a single salesperson as a "test" though; abilities vary so much, you'd have to have a larger sample to determines how well remote will work for your company specifically. Also, internet connections can go down at home, so if you have limited sales staff and depend on them to be selling everyday constantly, you might invest in a secondary method to connect to the internet or make sure they have a backup plan like working from a cafe.
And if someone is in the US on a 6 month tourist visa working for a Japanese company (no US presence, paid by invoice) remotely, is their legal status in the US in jeopardy?
Google hangouts is good - but I think Sococo Teamspace is better. But remote-working tools have been debated elsewhere, so I'll just say that some tool is very much better than phone calls, emails etc. It really helps to remove the friction to communication, shortening conversations that could take days by email, to minutes 'in person' via tools.
Exactly. There is not one interesting piece of software nowadays that is not done remotely. Everything else is going bankrupt because they simply cannot compete. Just for cost/quality reasons, remote will have to become the norm.
Just an anecdote - I work on a team of about 12 developers and we have 2 remote guys that get far more done than anyone in office. Granted they are the most active on Skype (what we use for inter-office chatter).
In general I agree that remote working has lot of advantages. Especially if you are a programmer you get the peace and quietness you need to get into the flow, no discussion here. I wrote my best code when I was alone with me and my music.
But things are different if you want to build the next big thing with cofounders and there I experienced three big disadvantages:
1. All big (and finally successful) ideas and ventures were born by sitting together, day for day. By being forced to stay together in one environment. And we haven't born those great ideas when we had meetings about our products or were specifying some API, no, it was always when we were jabbering around doing silly things. You won't get breaking ideas on Skype or Google Hangout, believe me. Maybe a group of people needs sometimes a kind of antogonist or some constraints to get even more creative and if it's just some "we have to share our workday together."
2. Just working alone and from time to time a face2face meeting won't establish a relationship which you definitely need to overcome conflict situations. You can't build real relationships at some artificial situations like meetings or team off-sites while usually working all the time alone. Once you have a severe conflict and you have missed to build a relationship before odds are small that you get things working again (or even a normal conversation). A lot of people are the type "forever gone", leaving the non finished code base untouched forever.
3. You have to be positive and think that everybody will contribute in the same manner and quantity as you but some are not able to do this because they are heavy procrastinators when left alone or just not persons of integrity. If you have somebody who is ambitious and is in control of his time and energy, great! Jackpot! But the probability that you end up with a procrastinator, somebody who never finishes something or somebody who quickly looses motivation (or is just depressive) is not so low as you might think and you hear crap and other excuses every update meeting like 'oh I couldn't do this because I had to reinstall osx and xcode blabla and the gem sucks anyway' or whatever. Some freelancers invoice the same time many times to many clients, just remember this guy recently outsourcing his work to some people in China. You never know who you work with and what the person is really doing if you do not know them too well. I know that freelancer could also do this shit onsite (you cannot watch their screen 24/7 and check if it's really your source they are working on) but being together in one office lets the person focus more on your work and your environment and they are not distracted by other potential projects or ideas. And integrity/work morality increase.
So, it's hard to say if remote work is good or bad. But to sum up, I feel that when working as freelancer for a client then try to do this remotely. As a dev I would try this, as a client of course not. But if you want to start something great with friends or just met new cofounders you have to be together for some time.
(Author, here) Regarding #1 and #2, I have to say that one of the most surprising things about Google Hangouts is that they've really make it easy to... hang out! It's pretty standard on Fridays (or during the week) to kick back for an hour or two and just talk in the hangout. A lot of people just keep it open sort of half-listening while they work, and if they need to do something that requires a lot of concentration, they just drop out. In fact, I have it open right now and all I hear is a bit of breathing and typing...
You have to think about it differently than "Oh, we go here for meetings". It's more like a watercooler -- pop in every now and then and see what's going on.
I'm glad to hear I'm not the only one doing this. A colleague and I run a hangout most of every day, and it really makes it feel a lot like being in the same room. (I had to ask the other day -- "Is that your doorbell or my doorbell?) We can quickly ask one-off questions, have impromptu show-and-tell sessions, and of course engage in random brainstorming and "water cooler" talk. It's also easy to tell if the other person is deep in the zone before interrupting.
I've been using a hangout-like tool called Sococo Teamspace (I wrote part of it). It combines video, audio, screen sharing and chat, and you keep it open all day. It has the advantage that you can see who's in all the company-related spaces, who's sharing with whom right now. You can see if the standup is starting by who's in the standup space. You can chat with Bob who's late because he's talking with Tom in his office, by P2P chatting "Hey? Coming to standup?" without interrupting.
The real juice is removing the friction to communicating. You don't want to be scheduling conference calls or chatfests. You want to be able to click see if Bob's available, click into his space and say "Hey Bob, got a minute?"
> Just working alone and from time to time a face2face meeting won't establish a relationship
I disagree with that. We had the first real in-person meetup about half a year after I joined the company. Up to that point, I knew everyone else pretty much only through text chat (Google Hangouts didn't exist yet).
But when I met everyone in person, it felt like we already knew each other quite well. It may not always be the case that your online and real-life personalities are aligned enough to get to know a person via chat, but in this case it definitely was.
A friend of mine has a theory that if a job can be done remotely from a few miles away, it can be done remotely from outsourcing-country-du-jour, so remote workers are first in line for outsourcing.
I've always worked remotely. The lifeblood of every company I've worked at or know that has remote team members is chat. IRC in my experience, though I hear google hangouts are becoming popular now too. When people "get to work", they say Hi to everyone in their team's channel. They say when they are going to/return from lunch to create virtual presence.
There should be at least one "water cooler" room where people are free to share youtube links or BS about non-work stuff. In short, the chat system becomes the virtual office. The team room becomes the virtual shared room where anyone can jump in on a conversation that interests them, or start one up casually.
The company MUST have a day to day internet communications based culture for a remote team member to be successful. If a team has a key remote member from the start it's easier. All remote teams are of course the easiest.
It's hard to add a remote member to a team that is used to being in the same offices. A lot of people will resist changing the entire culture for one "new dev". Office members will talk about a design problem at the physical water cooler instead of the virtual one. The on site team will go for beers together after instead of having a couple on a google hangout/skype video chat. The remote member will feel more like a contract dev assigned work than a creative member of the team. This is no good.
Where I've seen adding a remote member done successfully, requires management and team buy in of remote working. The manager/team lead should work a few days a week, or even a week a month, remotely. So should the other team members. After the team lead sees what it's like to be the lone person on speaker phone while everyone else is in the meeting room, you understand why if a remote member is in the meeting, everyone should be using skype/google hangout for it. The offices should become more of a shared coworking space that happens to have your company name on the door.
I myself prefer to work remotely. It's not for everybody or every company though. For a startup I think a remote culture from the beginning makes a lot of sense. Unless you require it to show off to investors/clients, skip the office. Have the cofounders work from home. Meet up atleast once every 3 months in real life for beverages and discussion. Talk on chat, every day. That's my thoughts.
One last thing worth mentioning, chat logs are great for when the new guy wants to understand a design decision. Why did we use $nosql instead of $nosql2? Here, read the logs from 6 months ago. For operations events (downtime etc) the timestamped chat logs are great for after action reviews. Can you brainstorm better in a physical room or a chat room? I've found the ability text chat gives you to allow everyone to talk at once, without talking over anyone, allows for discussion to proceed at a more rapid pace and more paths followed. This can be of course good and bad, such is life. :)
It is probably exactly the other way around. All big ideas were born NOT sitting together. If Linus were sitting in a traditional office, the linux kernel would no longer exist by now.
I wish I knew how to get hired remotely. I'm an experienced programmer, but I happen to also be a security paranoid, so not only I have not bothered building an online persona, I have also removed every trace of myself on the internet. I can prove my experience, but not to an HR guy. I also think I have good written English, and yet I haven't even had a response to any emails I've sent for remote work in other countries (I don't want to work for my country, for several reasons). Any thoughts?
You have your own answer: Someone who's invisible on the Internet, with unproven skills to the first tier of hiring, applying for remote work. No one in their right mind would hire you because you're impossible to vet. Any manager seeing your email would likely think you're an outsourcing firm in Bangalore trying to present as a lone wolf.
You want to get hired for remote dev? Build a strong online profile by working visibly with a prominent project, and network through there to get someone who's worked with you to vouch for you.
Pick a company like reddit, that provides a service using open source software, and submit a patch to a problem they care about. That would get the attention of the programming staff without going through HR.
One company to date has said that not-relocating my entire life is OK with them. The rest can be summed up with the reply that ended an email exchange with an SV angel:
> sorry to hear that, and let me know if you ever decide to head west, young man :-)
Alas I'm a person before I'm a programmer. And I always will be. And I have a family and friends and a home in New Hampshire that do not fit on airplanes so neatly.
Even apart from the tangibles, I cannot fly the feelings. I cannot fly the sights and smell of my hometown to the Bay Area. I cannot fly the white mountains, so isolated from the civilized world and yet they feel so familiar to stand atop the notch and look around, as if I've been there a thousand times, as if I've always been there.
Maybe that's dopey. I don't know. There are streets to know intimately and sights and mountains and sunsets in other parts of the world. But I feel like I belong here. Life is peaceful, I live slowly, I walk everywhere. I can be in love with the world on a time-scale, a thing at least partially set by surroundings, that works for me.
[1] http://simonsarris.com/blog/626-why-i-love-recruiters