With regards to timezones, there are a bunch of software companies which are completely remote and global which operate fine. If employees have a fair amount of autonomy and/or work with their local teams, and have sync calls during mutually suitable time slots, there is no real impediment to operating a functional company.