One big challenge in a Virtual Company with people working from all around the world is setting the Salaries.
One approach which MySQL used when I worked there and which Zak and Monty propose in their Open Companies idea is to base salaries on the local market where employee lives.
I never liked this approach myself, in particular because I was for long time on the “suffering side” – working for MySQL from Russia and paid fraction of what people doing exactly same job, serving the same customers were paid in Europe and USA. I think this thinking is the remainer of “office culture” for international companies when different subsiduaries in different countries have their own salary guidelines.
This approach also poses other interesting challenges. For example I knew about number of people in MySQL who would like to immigrate to the country with better quality of life but MySQL would not support them because this meant paying more without getting any more value. I also know cases of the opposite kind with people moving back to the countries with lower cost of life… and having their high salaries kept (there seems to be the big no-no about reducing salaries in the Corporate America) which makes it even more unfair compared to the guys which just did not move anywhere. I should mention though, I was an exception myself with being able to move to US while working for MySQL and get an appropriate raise, though I also arguably could bring more value while being in US – being able to do onsite consulting etc.
As you might quess at Percona we have the same challenge, though we approach it differently. We define fixed budget and position requirements and look for people around the world. For some positions, for example dealing with customer accounts perfect spoken english and working in US business hours is actually requirement so we have to hire US guys and pay salary by US standards. For a lot of other things, like internal systems development there are no location specific requirements and so we can keep our budget for these positions uniformly low, which makes people mostly from eastern europe to apply. In fact we do not even advertise these in US as these would just look funny. Finally for Consultants (the ones who really do all the customer work) we use revenue sharing system which is the same independently from where they are located. True there is some benefit being in US – being able to work in a business hours for US customers and being able to do onsite consulting but there is also the cost of higher living expenses. We also try to focus on the “position cost” which due to different tax structure in different countries and state may significantly differ from what “gross salary” is. This goes in line with exactly same thinking – for virtual job (which can be done from whatever location in the world) it is final cost which matters.
I also like to describe it the following way – the world is a big town these days, especially for virtual company ? Will you pay higher salary to someone who likes to have a posh house in expensive place compared to someone who choses to have long commutes to keep his expenses low ? I do not think so. And what we have is just applying the same model on the global scale – as long as you can make to the work in time and do work of the same quality we do not care where you live and will not pay you differently. You can move arounds the country or around the world as you wish but do not expect this to affect your pay.
I think taking this approach eliminates a lot of conflicts and give a lot of freedom to our employees.
One hard related question is currency rates. These go up and down making same salaries nominated in the local currency, considerably different over time. Our current solution was to nominate salaries in US dollars, which also matches the fact most of our contracts as billed in US$. As we employ people around the world (so far everyone outside of US are contractors, even though we treat everyone as employees) we will have to come up with some other solution. May be re-evaluate salary monthly to be ballanced ? This may not sound fun (because it means salary can do down as well as up) but I think this is what we just need to accept while working on the global scale.