I have been working remotely for more than 20 years, initially as a developer and now as a manager. Things have changed drastically over the years, and I feel lucky to work with amazing people for so long.
Flexcode Software is my small software development shop. We mostly do web and mobile development, but we try to be flexible. We tend to follow the concept of Think before you do, so we don't rush things.
A small list of things I (think) I figured out after doing this for so long
Every person you add to the team makes it exponentially complex
Some people play nice, until they don't.
Have good legal documents
We have been bitten by that. It hurts, and that's when we grow
Hiring the right people is hard
Most people don't like what they do. I think that's because they never got close to achieve Mastery of any kind.
Give them space to do it
Evaluate what they are doing with this space
Don't be cheap on tools. Pay for what's needed to run your company.