Great company to work for, especially if you want to work remotely
Pros
When everyone on staff works remotely, communication is key. Communication between Sales, Support, and Developers is very good here. There are set "office hours" when you are expected to work (and be available via Skype). This makes it very easy to get in touch with co-workers when needed. Staff also have regular meetings with their managers. There is flexibility if you need to adjust your hours temporarily for an appointment, and generous PTO. When you come on board, you are given all the resources you need to become familiar with the software and company.
Cons
There is the risk of miscommunication when you're not talking to someone face-to-face, but that can be mostly remedied with a phone call. (I imagine that's true of all remote-work situations.) They have procedures in place to overcome that remote-work barrier, and are always open for suggestions.