* It's not for everyone. You have to be pretty motivated and driven, and also a good communicator. You additionally need some good non-work relationships. (Although, that's probably true regardless...)
* It's a lot easier when everyone uses phones/email/slack/etc. Being the 1 guy on the phone during a 30-person meeting sucks.
* Those little "water cooler chats" can and do happen on slack and phone calls. It's helped by having met the people in person before, but even that isn't a requirement. I was talking to a co-worker that I've never met in person about pokemon just yesterday...
* I usually shoot for about 10% of my time being spent on-site in 1-2 week chunks, perhaps a little more right after joining a new team. I try to go out for dinner & drinks and whatnot with team members for at least one night on a visit. This can help with those virtual "water cooler chats" later on.
* Mentoring can happen remotely as well. Mentoring and guidance is a large part of my current role, and I've never met the majority of the folks I help out.
* I do occasionally take time out of work for family things. But I also occasionally cut out family time to deal with pressing matters at work. So I think it works out in the company's favor overall.
* I've been told by more than one manager/CTO/CEO that I was fit for a leadership role but wouldn't get it because I worked remote :(
* I joined IBM a year and a half ago partially because of this: I believed that being remote wouldn't hold me back from promotion here but...
* A few months back, the Watson division got a new guy in charge. Everyone was told to either move on-site or find a new job. I managed to get a temporary exception until the end of the year but I'm still not sure which one I'm going to choose when the time comes. Maybe both (I've always wanted to see Europe... ;)