Want to attract top tech talent? Offer telecommuting
management.fortune.cnn.com
management.fortune.cnn.com
And got 3 "office days" worth of work done.
And I haven't even brushed my teeth yet. :-)
You know what telecommuters say, "Once you've deployed a killer app in your pajamas, you can never go back."
I've been working as a full-time programmer from home for about a year and a half now, and it's beginning to get a bit weird. Aside from not having physical coworkers, I don't leave work, go home and do something else, because work is always all around me. There's this never-ending pattern of 9-5 quickly becoming 2 PM - 8 AM, until I finally pull an all nighter and it resets.
It doesn't help that I'm 100% passionate about what I do...!
I was the last survivor of a 30 person development office. That in itself was eerie.
At work we spend 80% of the day pairing over voip and SSH. It's ironic because I moved from California to Seattle because I got tired of telecommuting all by my lonesome from down there, but these days with pairing it doesn't bother me at all.
Specifically, are you sharing a screen session with VIM in a terminal or what?
Do you rotate pairs or is it always the same person? How would you compare your remote pairing setup with live, in-person pairing?
I haven't done much in-person pairing, but I think the main difference is not having to share a keyboard. Each person can use a system they're comfortable with; no fuss about dvorak vs qwerty, Kinesis vs Natural 4000, standing desk vs sitting, or Ubuntu vs Macosecks. It does mean you need to use auditory cues to indicate who is in control of a given session. The biggest drawback is probably that you can't share a web browser over SSH, but since we are doing backend coding it doesn't affect us.
For me it's been a huge win. We do also have week-long meetings a few times a year to bring the whole team together in-person to promote the team's cohesion. But working from home is great; as long as I'm able to switch things up occasionally by working from a coffee shop a couple times a week, I'm happy.
Obviously, some of the things you mentioned with in-person pairing can be alleviated. At my current client, our setup includes multiple keyboards and mice. A friend of mine uses his own keyboard with a hardware switch to go between dvorak and qwerty.
You mention not being able to share a browser which makes me think of the times where it would have been convenient to look something up for a moment while my pair experimented (two pronged problem solving approach... :).
Also, what kind of pairing patterns do you use in this setup? Ping Pong TDD, driver/navigator, etc... ?
Definitely. Occasionally we'll read docs in w3m, but often it's good to go async on looking up some boring details.
What we do is probably more driver/navigator since whomever is hosting usually has better latency. The remote guy can still get around just fine, but it's just barely noticeable enough to give an edge to the host. Since we work in a language that makes it easy to do strict FP, (Clojure) test-first is not as important as it would be in an imperative language, though we do have pretty good coverage.
I meet a friend to go climbing two nights a week, which pretty much forces me to stop working at a certain time two days a week. Having those two days anchored seems to help stop the other days drifting into other time zones.
Initially my sleep cycle (and therefore working hours) shifted by a couple of hours, so I'd get out of bed about 11am, and start work somewhere around 12, which effectively meant I had an hour before I stopped for lunch at 1, and then ended up working until 9 in the evening.
If I were single I could probably be quite happy with that, but it meant I only really got a couple of hours with my wife before she went to bed. That alone gave me the motivation to get back into the habit of starting work at 9, and finishing between 5 and 7.
I'll also second the comment by the person who said that it helps to have something planned for the evening, if only to force you into stopping work by that time.
Also I've found that communication is better. In an office I find people often assume that proximity equates communication, but with distance you know you have to make an effort.
Telecommuting requires the entire team or ideally the entire company be set up to work like that - just having one guy out in a different state or country on his own doesn't work very well in most cases. I understand that. What I don't get is why more companies aren't structuring themselves to take advantage of remote workers.
If you have strong procedures in place to deal with remote/offsite workers (fulltime or not), you can more easily integrate short term labor when you need it - you'll have the shared workspaces, file transfers, documentation, version control, etc, already set up and ready to let new people in as needed.
This seems like this would be a competitive advantage that more companies should be looking at. Maybe they will be in the coming years as the impact of underwater mortgages and geography-locked workers starts to impact the broader tech labor market.
Most startups/tech companies don't necessary have that.
By sticking around in a depressed area your are just depressing your earnings.
(It's something different, if you have to come up with cash to pay off your mortgage; instead of just being able to keep paying the normal rates after you sold your house.)
Though I do see that it is a problem, if you have to come up with the margin call in cash when you sell the house.
Lots of companies _are_ structuring to take advantage or remote workers. It's called outsourcing. After all, why pay high rates for a remote-US worker when you can pay low-rates for a remote Chinese or Indian worker.
Sure, you're smart, and bright, and a hard worker, but there are a billion Indians, and more Chinese - I'm sure we can find _someone_ smart and keen AND cheap...
Telecomputing and outsourcing are the same thing. If you promote one, then you promote the other.
What workers don't realize is that there is a massive advantage in going to the office. It's the only thing separating you from that other guy. Take that advantage away at your own peril, but don't come crying to me later when your job has moved 10 000 miles away.
Right now if you look at e.g. India, there are lots of outsourcing companies but workers don't stay long at these places. They get in, get experience and then move on somewhere they can make money. Usually somewhere in the west.
If telecommuting were to take hold, yes that would mean I would be competing with people from e.g. India. But guess what: I already am. The biggest difference would be that people from India wouldn't have to move to the west for years, build up their income and then move back. They could stay in India if they wanted.
http://www.amazon.com/Job-Went-India-Pragmatic-Programmers/d...
I don't give a shit about your corporate culture or your ping pong table or your office politics or your ego battles, I only care about solving problems and producing solid solutions. Telecommuting lets focus on doing just that while leaving all the other nonsense behind.
I do not underestimate the value of having a team in the same location. It does affect morale and company culture. But with the right people and the right technology those issues are quickly going to wind up in the rearview mirror. When I look at a company, I want to see if they are set up to do remote work, or are they landlocked?
Nice term.
I love this term. Maybe I'll use it on my resume.
A particularly good selling point for getting the more experienced developers with family. Come work for us in friendly brattleboro Vermont! (I've been there, it's like Gilmore girls in real life). Bonus if you're within train distance of the city you can get the best of all worlds.
I can not, for the life of me, understand why that is such a sticking point with so many people. Fortunately I have enough people who are willing to work with me anyway that I can forget about the ones who don't, but it seems mind-numbingly obvious to me that if you're desperate for the skills I have, you should be willing to work with a requirement that doesn't cost you anything.
As near as I can fathom, it's a psychological thing. Remote people don't seem like they're part of your "empire" as you look out across the office and see all the busy beavers hunched over their computers.
Aside from some good anecdotal pieces here, research shows that communications are the critical factor of successful telecommuting. Trust is based on communications, and you can't work effectively in an organization without trust.
Communication is essencial and harder to manage if just one member is virtual. So, it may not be worthwhile to manage just that one member differently, hence the requirment for "on-site" programming.
Face-to-face communication is enormously disruptive to engineers, to the extent that -- even when I worked on-site -- I would spend 90% of my time communicating with other engineers over IM. At one company, I worked across the desk from another engineer, such that I could reach out and touch him. Yet we'd say good morning to each other, and we'd go to lunch together frequently, but the entire rest of the time we'd communicate via IM.
Engineers need to talk with the management and clients for three reasons: 1) To get the specification 2) to clarify the specification during development and 3) to get feedback during testing/qa. The only component of that which needs to happen during development is #2 and seeking clarification is engineer-driven, so if the engineer doesn't have a problem with picking up the phone or sending an email or scheduling a meeting (activities I do constantly with clients) then it's not a significant barrier.
One fourth type of communication between management and engineers is what I like to call "comfort talk": management hovering around engineers asking for "status updates," or small-talking about an unrelated project, or asking for an explanation of some technical point or the other, or fishing for some decision that needs to be made so that he can make it himself.
I call this "comfort talk" because most of it is useless but it makes the manager feel involved in the project. They don't want to do it over IM because IM doesn't give that same comfy feeling, and they can do it by phone, but there's a mental barrier to picking up a phone that makes them reconsider if it's important. It's much easier to roam over to an engineer and hover behind him until his concentration breaks.
Of course "comfort talk" is (almost never) beneficial to the engineer or his productivity. In fact it's the enemy of productivity. I still have to put up with a good deal of it by phone when working remotely, but far far less than I would in person (due to the mental barrier). The reduction in this "communication" is a godsend to me but makes the relationship feel less comfy for the manager, so once again we’re talking about psychological issues on the part of management.
I'm sick and tired of companies being super picky because I don't know their technology stack or maybe just one element, they don't even offer a technical test these days.
I wont learn Cassandra or Scala because they are popular on super-webscale sites, I did, though, learn Haskell, Node, MongoDB, Redis, Python, Ruby, not because they teach that in college. I think that tells you I can learn other technologies.
But I get a feeling - in many interviews I've had in the last couple of month - they get disappointed when I tell them I don't know Scala, Cassandra, Hadoop...
Most good programmers I know (they're not genius level, nor most of the people here) are willing to relocate wherever you are, but they might not know the super-awesome-webscale technologies you use because they work for actual businesses that charge customers and don't need a billion uniques a month to be profitable.
Instead of bitching about the lack of talent (and there are many programmers like me) be willing to train people on your weird-ass technology stack.
I know Scala, Cassandra and Hadoop, execute across all of the SDLC, as well as just flat out code, and available I might add. Telecommute only.
I love learning new things, but to be honest I don't find a good use case for e.g. Hadoop, at least not in my personal projects. Nor they are attractive to me. And it's not because I'm not into non-mainstream tech, because I am into R, Haskell, Redis (yes I know some of you might consider them mainstream).
Lets say you don't have a super-model-girlfriend but you want to know everything about them... Some people like to do that I don't.
I have a suspicion that there's enough people in the SF area (and a couple of the the other "big" markets) that will actively fight against telecommuting, specifically because it will lower wages in those areas.
As someone else posted, yes, I understand the value of a team being in the same room. But that value comes at a premium price, and it's one which may not always be worth paying. However, given the boom/busy/buyout cycle in the bay area (as an example), enough of the same workers can move from company to company as the companies are merged, bought out, or close, that this keeps the talent supply close enough to what is needed to make it harder to embrace telecommuting. You just need a few more people to fill in a few gaps, right? They need to be on site, or they're not a 'team player', or just not serious about their career in tech if they don't want to move to the valley! (have heard this before).
If the majority of companies out in SF set themselves up to embrace telecommuting, that would mean it would be easier to fill that next position with someone from Idaho, Kansas or Utah. That would mean the company could pay a lower wage. Why would the culture of startup workers want to embrace something that will end up driving down their salaries?
True, but they can whisper into the right ears every day, 9 - 5. And it's quite easy to negatively impact a coworker's productivity, if you so wish.
From an investors standpoint, of course they'd like to spend less, but many no doubt get a thrill out of bragging about how they're able to attract the top-paid talent, stealing person X away from company Y, etc. Few investors would likely be bragging about how they've achieved 20% cost savings by introducing a culture of remote US workers.
Similar to most dept managers, if you show you can get the same results with less money, you'll get less money in your budget next year. No one likes to do that, so while there's incentives to save money, there's also incentives not to save money.
I don't think this is something most people there obsess and strategize about day after day. I do suspect some of the savvier ones do understand that the easier they make it to bring in remote workers, the easier they will be to replace. When you stress the whole culture of the region as being 'the place to be', you make it harder to justify remote workers because "they're not here, they don't 'get it'".
If I boot up in the morning, spend 30 minutes trying to get into something, fail and end up back here on HN, I don't bill any time. If I did the same thing sitting in a cube, I'd get paid for it.
The end result is that the client gets a much better deal by having me off site. Works great for me too, since I can justify billing out at a higher rate that reflects the fact that they get essentially all my productive time for the week, and nothing else. Everybody wins.
As an added bonus, if I really can't get started in a morning, I can bail and go bouldering for the day and not feel guilty about it. The bizarro world salaried version of me would spend that same day sitting in a cubicle secretly playing video games on the clock.
Why? I bill for work done regardless of my location, I never thought it might be out of the ordinary.
On the point in question though, no, I won't bill time warming up the dev environment unless I actually use it for productive work. You lose the odd fraction of an hour here and there, but really if you're trying to add up things like that to get yourself paid an extra 2 hours at the end of the week you're probably just not charging enough for your time.
That said, since I spend such a small proportion of my time in a client's office, I do try to stay focused. I typically don't look at Hacker News or anything like that. I got sick of setting everything to use SOCKS proxy so I set up a VPN, but I didn't bill the client for this (30 min or so) despite my normal policy. My real billing policy is "bill fairly".
But, the benefit of my recruiting model is that I hire people remote and part-time. A lot of strong strong people are in academia, but love their academic post and don't want to move. They just want build cool stuff on the side and make some extra money.
The fact that Google + Facebook + LinkedIn + friends must own you full time, asses in seats, creates a unique hiring opportunity for me.
When I'm contacted by a job recruiter for a position that pays more, but requires moving to somewhere like Mountain View, I will rarely entertain the idea. Sure, I'll fly into the office, I'll do it quite regularly actually, but there's no way I'm picking up and moving to a city with considerably less to offer, yet which costs substantially more.
I understand the value of social capital, and working with people face to face. But how often does that really need to happen? As developers, our job is ultimately to write code, and that can happen anywhere.
Maybe if we called it 'cloud commuting', CIOs would buy in.
It's interesting to see the numbers in this article.
What's remarkable is that, even after two years of flattish compensation, technology professionals are willing to sacrifice $7,800 on average to work from home
The article speaks as if this is a huge amount, but as a chunk of total salary, it's probably 5-15% for most tech jobs. So the question for employers is, is it worth an extra 5-15% in salary to have your team work together in person?
In many cases it is.
And that's if you manage to live a mere half-hour from work, which in any major city is seriously unlikely.
If you're good at tech, why would you take a second job as an automobile driver for chump change?
If enough employees continue to be willing to commute for a mere 5-15% more in salary, then employers will continue to, quite rationally, pay them to do so.
I left a job I had for 5 years that allowed me to telecommute for contracting where I was expected to be in the office but made about 160% of what my full time salary was. After about a year of that I returned to my previous job and much lower salary to get the benefit of telecommuting once again.
With a family, the benefits of telecommuting (at least to me) are just far to valuable.
[Posted from Santiago, Chile....]
[Posted from Lima, Peru....]
[Posted from Monterrey, Mexico....]
I like the fact that there is a place where I do work and where I live. I do not want these two places to be the same. Much for the same reason people don't put a television in the bedroom. The bedroom is for sleeping, the living room is for TV.
I find that with the remote people I need to work with, I'm working around their schedule of when they will be around. It is difficult to communicate over IM, IRC, telephone and Skype (doesn't feel a fluid as face-to-face interaction).
If everyone starts becoming remote, then what's the point of having an office? If enough companies come to the same conclusion, what's the point in owning a building (from the eyes of a real estate guy). And ultimately, what's the point of having big office parks and so on and on. That's a lot of land and lot of capital at stake if this ever actually took off.
If a company asked me to be remote, I'd tell them I'm going to start looking for other employment options.
? I think having a TV in _every_ room is most consumers' dream come true.
It'll be put to other uses. That's how capitalism works my friend. What do you think happened to all those old factories and warehouses in big cities? People live in them now.
Understand that a telecomuting job is the easiest job to offshore. At the end of the day if you never come in to the office you might as well be living in India. Cause then we'd have to pay you less. Oh wait, there's some super-keen, super bright chap in India who'll do your work for a tenth of the price? hmm let me think about that for a while.
In fact, a telecommuter is cheaper than onsite -- much lower overheads. Employees in the office mean renting office space, getting insurance, paying for utilities ... overhead which can add up to a lot of money quite quickly. If they're at home you can pay them more and still come out ahead.
I disagree. Many companies wouldn't outsource because the shift from having workers-in-house to workers-remote is a big one.
I _know_ I can get staff in India or China much cheaper than here, but there are enormous benefits (perceived or real) to the employer for having people in the office.
The point I'm making is that when a worker presents such a terrific argument for tele-computing, they're also presenting a terrific argument for out-sourcing.
Now personally I'm not a big fan of tele-commuting. We've had some remote workers in the past, and it didn't work out. Communication is the key of course, but at the end of the day, for better or worse, it simply didn't work out. Now we operate far more like a flexitime system, people come in every day, but there's a lot of flexibility with regard to hours.
But my root point here is that the same arguments for and against telecommuting are the same arguments for and against outsourcing. The one begets the other. Outsourcing is just telecommuting with "cheaper" added.
No you can't. If you could more companies would be doing it. You get what you pay for. When you get cheap outsourced labor in India you're getting people with no experience and insanely high turn over rate. If you want people from India with more experience you'll find them out west somewhere making a better salary.
The market rate is the market rate. If you suddenly switched all programmers to being remote then the guys in India would initially be getting offered so many jobs that they'd have to push their prices up in response.
You're making the classic mistake of assuming cost = what it costs me + some profit %. It doesn't, it's about perceived value and nothing else.
So let me make the argument less prone to misunderstanding. When you open the door to making a post "work remotely" you are competing with programmers in Ireland, Australia, South Africa, Israel, Holland, Germany, New Zealand and so on. All have excellent English language skills (ok, apart from the pesky Germans), excellent work ethics, and in many cases require a living wage below that found in the US.
When your job requires you go to the office, you're competing with say a million others who could do that job. You might even be the very best. But are you still the best if we expand the pool to include a billion people?
Anyway, Australians are more expensive than Americans at this point. The AUD has surged against the USD and property prices and the rents linked to them have spiralled out of control.
It sure is, which is why no one is saying that. I said the west (that's not just the US, you know?).
>you are competing with programmers in Ireland, Australia, South Africa, Israel, Holland, Germany, New Zealand and so on.
I already am. Every one of them that is willing to move where I live. The only difference is that neither they, nor I would have to move if we moved to telecommuting. This would depress the value of labor somewhat because commute hassles are figured into the current price, but I don't believe we would be looking at a long term 50% decrease.
>and in many cases require a living wage below that found in the US.
Irrelevant. Market prices are set based on perceived value of the good or service. Not what it costs to produce or anything like that.
> But are you still the best if we expand the pool to include a billion people?
No of course not, but we're not all competing for one job. If all programming jobs became telecommuting jobs then I would be competing with everyone but for every job.
Except he wont. If he's as good as you are his telecommuting rates will be close to what yours are. Think about it.
Sorry mate, but no. A developers rate factors in a number of things, including cost of living. A guy working from his home in Silicon Valley charges more than a guy sitting at home in Iowa or wherever (to make the same disposable income).
The guy in Iowa knows he can work for less, but still make more, in terms of disposable income. When it comes to foreign workers he can charge twice the going "local" rate and still cost way less than some guy living in the US.
When deciding what your price floor is, yes cost of living figures in. But what development is worth is its market price (perceived value). It doesn't depend on where the person lives.
The main thing you're actually highlighting here is that if we move to more telecommuting, developers will need to get better at understanding how market pricing actually works and that their development time is a market resource like everything else.
>The guy in Iowa knows he can work for less, but still make more, in terms of disposable income.
Sure, and if all programming jobs went telecommuting this guy would have so many more job offers he would have to push his own prices up.
At your employer's workplace, you don't have that control. You can be interrupted at any time by anything.
You don't appreciate that flexibility until you have to use headphones and music to drown out your co-workers' inane personal conversations.
I think there's something inherent in working with people around you that you can't really replicate online. Being able to go over and talk to someone and ask them a question is invaluable when compared to having to message/email someone and wait for them to respond. It took us far longer to get sprint planning done (we were also doing Scrum) over the phone because no one wanted to talk, and that's easier to shrug off when you're at home. There's some level of team building that's missing when you telecommute - you don't go out for lunch with people, or have any sort of real social interaction.
Honestly I think it's up to the team/company to help work through those issues. We set up a chat system so we could talk during the day and that did seem to help for awhile, though.
The real need to get out is just a need to spend some time in the sunshine, or walking.. funny little things that happen on accident when you're commuting :)
It's definitely an issue, and one that can be difficult to overcome. Since I'm splitting my time between my full time job, and working on Appleseed almost full time in the off hours, the last year has been short on social interaction, and I've felt the effects. That Oatmeal comic really hit home a few months ago when I went to a party a few months ago and found myself feeling very socially awkward. Not nervous, just a little bit clueless about what to do and how to do it.
I'm a very social person, so it was a little bit jarring how quickly those skills could atrophy.
But there are remedies. Scheduling social time is important, and not seeing as "wasted" time, but an actually necessary task for your mental health. Working in coffee shops when you need to, going for walks when taking breaks, etc. And going to a co-working space once in a while doesn't hurt.
In this, as in all things, your mileage will certainly vary. If you're a type-A people person, you should probably stick with a social context. Although (as elsewhere noted) you'd be surprised how much social interaction you can have online at home these days.
Having been at an all-telecommute shop i can say that we ended up doing far more work than most teams. 10pm email conversations with the CEO were normal.
I found it far easier to do that, than to veg out in the office when I needed a break to go out, see the sky, walk around, breathe, etc.
Also, this was fairly early on, sphere was a new company and we were having growing pains. And its not like it was a nighlty thing, more along the lines of often enough to not be weird, but it wasn't often.
Also, before we were quasi-detelecommuted (meaning hires in NYC that went to the office) when something broke, everyone would pitch into fix regardless of hour. After the original peeps (well, most of us) left, the replacements (in the office) had an office mentality. That is, anything that happened after hours wasn't their problem.
Maybe that works better for them, but not for me. Doing things my way got more of my awake/alert time for actually doing things, and the flexibility it imparted helped keep me sane. Offices and rigid schedules drive me batshit insane.
In my case, though, I solved this by getting out to twitter/tech meetups and other activies (e.g. I'm speaking at a conference in Amsterdam in June). This occasional socialization is enough for me, though your mileage may vary. Also, it might help that I work in a very social open-source field where I can have continuous contact with other developers and community members.
I must admit, I would hate to go back to regular commuting. In my previous life I only had a 40 minute total commute but even 40 minutes is really valuable nowadays!
Of those that want to telecommute and have a steady job, very few can actually handle the responsibility and the lack of stimulus from co-workers for longer periods of time. Flexible hours, working from home on a regular basis, sure, no problem, but actual full time telecommuting requires a lot of commitment, discipline and communication skills.
However, co-locating has its own benefits, and I suppose thats why he does not hire remote workers (for permanent positions). We have hired remote contractors in the past, and they worked fine to good, but it required lot of effort on collaborating.
I would have guessed that tech unemployment would be lower than the national average, but 4% is really low.
Basically, it uses men who were eligible for the Vietnam draft (who enrolled in college in greater numbers than they otherwise would have, to avoid military service) to demonstrate that success from college graduates is more than a "these people are the ones who were already going to succeed" thing.
In programming, we'll always have (in any month) some % of workers moving from one job to another (either because they quit, the company they worked for went out of business, or they were laid off - because the company performed badly or their own poor or poorly perceived performance.)
And, in programming, there will always be some set of people who find themselves out of job because the company they were working for no longer needs their Delphi or COBOL or other outdated skill (not to say there are not jobs for those Delphi or COBOL programmers, but there are less and less of them, on average.) Those programmers have to get re-trained, etc.
These two groups make up that 4% - which is around the natural unemployment rate for the economy as a whole on average over the last 70 years (it's around 4-5).
If the unemployment rate was above this (basically at the national avg of close to 9) for programmers, then the difference would be cyclical - missing jobs based on the recession. Because it is so low, I;m wondering if it's we can conclude that programming (in today's economy, at least) is recession-proof.
Inflation is 3-4%.
I think paying well is a good idea, but it's not a complete strategy and I don't think it actually is as likely to bring the lifestyle satisfaction that telecommuting can for many people.
Whereas if the employer pays for these things, they may have to levy a Fringe Benefits Tax on the value of the payments at the top marginal tax rate.
In total dollars it is sometimes cheaper to bump the salary and let the employee actually do the taxman dance.
Of course, I am not a lawyer, not a tax accountant and I don't work for the ATO. Seek advice, YMMV etc.
Why not quit after the first month then?
I know im a bit late to the game.
I have been looking for a telecommuting job for the past 6 months with no such luck. I am a solid programmer and I get the job done. I hobby code at home and have an awesome work ethic. I have several years experience and have been everything for GIS software to coding directly on the GPU.
I have worked on all three types of mobile devices for my current job, and have a pretty intense background of C#.
If anyone has a job that they would love to fill with a telecommuter. Please look my direction.
my blog at spoiledtechie.com my email spoiledtechie with gmail.
Thanks for the look see!
I know we talked about this already once before, but my team is looking for remote C# developers.
Jacob Cheezburger Inc.
Since you want to be a remote worker, what do you bring to the table that a remote worker in say Mexico doesn't? Or India? Or China? 'Cause sure as hell they'd be a lot cheaper...
And while quantity doesn't equal quality, I'm certainly not so egotistic as to suppose there isn't a single Indian smart enough and keen enough to do whatever I can do for a fraction of the cost.
So why doesn't my boss hire him? Cause I'm in the office when something needs to get done. Because I'm the one who has a relationship with the customers. Because I make the people around me more productive as I pass on my knowledge. Oh, and perhaps because I am the boss.
For me, it's great when I need to concentrate and bang out the code. No distractions, and I can poll IMs instead of needing a context switch when someone drops by. If I'm stuck on a problem I'll go for a walk, cook food, or take the laptop out to a coffee shop to work. I enjoy the flexibility.
Downsides for me: I do miss some of the random office chatter -- finding out cool problems coworkers have solved and generally learning by osmosis. And I have yet to find a great replacement for 3-4 people standing at a wall of whiteboards. IMs, skype and meeting highlights solve some problems. Our group is 2/3 remote spanning 8 time zones, so we're used to working a bit harder on communication.
As for social factors, it was hard at first. I'd find myself not leaving the apartment for weeks, which was less than good... I'm making an effort to get out of the house daily, whether hitting the gym, buying groceries, or just strolling around. This is getting easier, especially as spring seems to finally be hitting Boston.
The biggest non-technical advantage for me is not needing a car. I detested commuting. Instead of spending an extra hour or two driving I can take breaks (or even naps) in the day and have the same "door-to-door" time. Financially, it's also a winner. I don't even know how much gas costs here. There are 4 zipcars within a few blocks if I need them.
Work-life separation is trickier. I'd love to have an apartment with an extra room for an office, but that would likely cancel out any vehicle savings. Getting a separate desk to split work and personal computing helped a ton here.
Just cruise to their corporate blog. They posted the details a few days ago.
Here's the link - http://37signals.com/svn/posts/2838-were-relocating-everyone...
Look at the date - April 1st.
Context.Context. Context.
Why working at home is both awesome and horrible - http://theoatmeal.com/comics/working_home
http://news.ycombinator.com/item?id=2202187
Had some interesting comments...