I own a small web-based company with six employees (plus myself), all of whom work remotely. When I hired our first employee back in 2009, we both worked remotely because there were only two of us. I always assumed that eventually we'd have to get an office, but I had no desire to do so, so wanted to put it off as long as possible. I don't recall exactly when, but at some point between then and now I realized that it was actually possible to run a business (at least one where the product is a website) entirely remotely. Obviously that's old news now, but it was quite a revelation at the time.

Anyway, from this experience I have a few thoughts. What type of company works well? My (obviously biased) perspective is that the best companies for remote work are the ones that are all-remote. While there are certainly exceptions, I've seen plenty of cases where companies allow remote work, but remote employees end up being second class citizens, perpetually out of the loop. If the company is all remote, that won't be an issue. That said, even a mixed team could be effective (with a bit more effort) if they have an excellent set of tools and processes.

Slack is huge, and has made our work much easier than it was before. I know there are other group chat clients that purport to do the same thing, but I haven't found any that do it as seamlessly as Slack. Similarly you want to see that they have good project tracking software (we use Pivotal Tracker, but there are a number of quality options), and that they have clear guidelines in place for how to use it. Some project tracking software is more opinionated, some less, but even with Pivotal being one of the more opinionated options, we have done quite a bit of experimentation and optimization over the years to make our process as effective as possible. Any team that does remote work well will have experimented with their processes for keeping everyone in sync, and they should be able to define the results of that work.

You can also learn a lot from the interview process. The most important element of an effective remote team is effective communication. Since that's what interviews are all about, it gives you a great insight into how they do things. If communication is poor during the interview - if they have you doing silly things like writing algorithms over the phone for instance - it's probably a warning sign. On the other hand, I'm not saying this is the only effective way to interview, but what we've found works well is to give candidates a few 'assignment' problems to work on, on their own time. We set up a repository for these and have them submit pull requests with their solutions. Then we review their code and make comments for discussion, just as we do when a feature is completed by a member of our team. The assignments are as minimal as possible so as not to waste time, while still giving a decent insight into how the person works. (A much better insight than a traditional interview.) Again, this isn't novel, nor is it the only way to do things, but I think it does demonstrate to prospective hires that we've thought this stuff through, and are committed to building an excellent team. I would hope to see something comparable from any hiring team, but I believe it is especially important for remote teams because good communication and effective processes are that much more important without the face to face crutch to fall back on.

Anyway, congrats on heading in this direction, and putting thought into the kind of company you'd like to work for. Remote work can be fantastic; These days I would never want to work any other way.