It has become increasingly common for technology companies to run as Fully Distributed teams. That is, teams that collaborate primarily over the web rather than using informal, face-to-face communication as the main means of collaborating.
This has only become viable recently due to a mix of factors, including:
Thanks to these factors, we can now run Fully Distributed teams without a loss in general productivity for many (though not all) roles.
In my mind, there are three models for scaling number of employees in a growing company in the wild today. These are: