There is an interesting article at Stack Overflow, titled: How we Talk About Diversity at Stack Overflow. To cut a long story short, the diversity problem does not exist in virtual teams. You only reveal as much about your race, gender, or age as you want yourself. Since financial transactions tend to be done in bitcoin, there is not even any need to reveal your real name. So, how could there ever be a discrimination problem?
I only work in virtual teams. There is a long list of reasons for that, of which the most important one is not even this one. Of course, like most people, I still like to socialize. That is why I often work out of a café. That allows me to chat with other digital nomads. I work on my projects in my virtual teams, and they work on theirs, while we drink coffees together and chat about whatever we like.
I have been working in virtual teams for the last ten years. In the meanwhile, I have also disbanded two old virtual teams. One virtual service team had been operating for eight years, which made a respectable revenue, but at the end of the trip, was no longer making much money. So, I shut it down. In the second virtual product team, which lasted for four years, the time to support the product could no longer be justified by the revenue that it was making. At the moment, I work in two other virtual platform teams, one of which is yielding certainly more spectacular amounts of money than the older ones.
Physical office-based teams should offer substantially more money than virtual teams for the fact that you lose a great part of your freedom. They don’t. They offer substantially less money. This is often because they work on less interesting problems. You can never make serious money by working on something that does not matter.
To developers in third-world countries, the difference is even more tangible. Local, physical office-based companies offer low salaries, similar to what they would pay locally to non-developers. At virtual teams, they often get international-level salaries. The difference can easily be a factor ten. However, their work will also have to be of equal quality. Otherwise, they will have to join the leftovers on the local market and work for a pittance.
Free and open-source software has always been built in virtual teams. It has clearly defeated the proprietary alternatives in battle. In my impression, few proprietary alternatives will survive on the long run. There is a good reason for that.
The fact that you cannot physically meet, can be been turned into numerous advantages. First of all, it creates a proof-of-work barrier in recruitment. Someone who is not fluent enough in written English, will not be able to join. That is a good thing. It only increases the quality of things. Second, communications are streamlined through mechanisms that improve the quality of the software, but that are not necessarily easy to use. That excludes another set of developers. The results of the work are also very visible. It is easy to review someone’s commits and see what he has been doing. It is way more difficult to hide in a virtual team than in an office. The management can only look at your work and not at your attendance. Therefore, they will effectively look at your work.
Yahoo could indeed not make it work. It had nothing to do with virtual teams but with the fact that only programmers are capable of recruiting other programmers. A non-programmer is not. He just has to be lucky, and he usually isn’t. Yahoo cannot manage virtual teams of programmers, but they cannot manage office-based ones either. The top is too divorced from technology for that, and it is turtles all the way down.
Working in a virtual team is a bit like working with regular expressions. If you master them, they are very powerful. However, they are not necessarily easy to understand. It is a complex tool, but it also solves complex problems. The fact that someone cannot master them, it is an excellent proof-of-work barrier. It is important for a virtual team to be merciless on that kind of things. You need to be a programmer to know which other programmers to fire.
That is why things like Visual Studio are not a good idea. You could end up recruiting people who are not capable of dealing with a makefile, while makefiles are not even that hard. Furthermore, Visual Studio can obviously not do the same as what you could do by modifying a makefile. In other words, when push comes to shove, they will not be able to solve the problem. They will come with an inferior workaround instead.
If we look at another example, multisignature transaction processing in bitcoin at the level of the bitcoin scripting language is probably harder to learn than using makefiles. Consequently, you must watch out not to put the wrong kind of team on software that requires it. But then again, it is also a rapidly growing business in which there is excellent money. It has way more potential than the so-called “blockchain” that the “fintech” crowd seems to be so smitten by. It is just that not everybody can do it. But then again, that is probably one of the reasons why there is so much money in it.
One realistic way of solving the diversity problem for yourself, is to pick a subject where nobody gives a flying fuck about race, age or gender, or where exactly you live, because if you are truly capable of working in that subject, you are a scarce commodity.
Besides that, there is nothing that determines your payout as much as the order in which you have joined a business. Employee number 4 may very well become stinking rich, while number 358 will never see any life-changing difference. It is the same in a virtual team. If the team is already too large, pick another one. As long as you know the right subject, there is absolutely no shortage of teams to join, while diversity will never be an issue.