This post is a build on discourse found at Jeff Atwood’s blog post. In his post Jeff does not directly discuss the recently launched Chinese clone of StackOverflow. However, his article is timely in regards to the most salient point of why such a clone exists. I participated in lengthy discourse at Hacker News on the topic of this clone. Most of the HN discussion centered around the ethics of the clone itself. I will focus on the necessity and certainty that yields such Chinese language communities.
The key question presented by Jeff is “Shouldn’t every software developer understand English?”
I’ll start by directly answering this question: Yes, they should. If you wait for docs on languages, tools, and libraries to be translated to you native tongue, you will be a “trailing edge” programmer.
But there is more to the issue. One might try to stretch this simple question to imply that English should be the default language for all discussion within programmer communities. If your goal is to create a global online community, such as StackOverflow, forcing it to be a single community only in English will leave plenty of room for other communities to emerge. This is not a problem that needs to be fixed. It simply needs to be understood.
My perspective is from living in Shanghai the last 9 years. I am a “white” American. I had no experience with China prior to my first trip there in Summer of 2000. After all these years, now married into a Chinese family, my Mandarin is still poor.
By Fall of 2000 I had set up an R&D lab in Shanghai with a group of the best and brightest local talent. I wasn’t there for cheap labor, I was paying more than double a good programmer’s salary. I was there because my new customers were Chinese banks and governments which required local programers to interface with their systems. Over the next 2 years, I grew a world class development team. They all spoke English as a hiring requirement. Interacting with me and my team in the U.S., their language skills only got better.
During those first few years, I worked closely with bank Chairmen and senior officials in charge of IT for the Shanghai and China governments. Whenever the issue came up of language choice for tech documentation, without exception, all officials asked me to keep docs in English only. They wanted their programmers to be forced to learn. They understood what it took to prepare their software community for a global market. English was the only answer.
If language is not unified, trying to convey features and tech requirements is nearly impossible. English has remained the choice in this regard. But that is for requirements and final product. Not for the process of getting there or for learning and basic knowledge exchange.
So I completely agree with Jeff Atwood, right? Not quite. There is more to the story. This is a story about building community.
The first BarCamp in Shanghai was put together by myself and friends from RainCity Studios in Vancouver. We lucked out and the event was fantastic. Over half the participants were local Chinese. All the presentations were in English and mostly presented by foreigners. We made a strong effort to encourage presentations and participation in “whatever language people were comfortable in” but it didn’t happen. The next year’s Shanghai BarCamp was bigger and better. This time half the presentations were by locals in Mandarin. The presentations in Mandarin had interaction from the audience; the English presentations did not.
My experience with the Shanghai on Rails group is similar. The first event, all presentation were in English even though we encouraged people to use “whatever language they felt comfortable with”. Now, most presentations are in Mandarin and its the foreigner’s job to “sink or swim” in this environment. I am very proud of this group and those that continue to build other communities such as China’s Open Source Camp.
When Chinese use their native tongue, the knowledge exchange goes faster and in more depth. It encourages greater participation by a wider audience.
You may think these experiences only apply to offline, in person interaction. It turns out it does not. A site like StackOverflow ends up being more than just discrete programmer question and answer. The discussion grows into rational behind the answers, agreement, disagreement, and derivative topics. It grows into meeting people, online and off, and developing relationships. An English-only website will not be adopted by the majority programmer community in China simply because they are not comfortable enough participating in English. Will this change? Maybe, but its changing very slowly. My money is on Mandarin staying the language of choice for Chinese programmer communities even though their English skills continue to improve.
“Advocating the adoption of English as the de-facto standard language of software development is simple pragmatism, the most virtuous of all hacker traits. If that makes me an ugly American programmer, so be it”
This is not simple pragmatism. It is the opposite of pragmatism. Jeff seems to think he can “think” his way through this. Pragmatism is not about “rational in your head”. Pragmatism is about recognizing “what is”. And what is is that Chinese programmers learn more rapidly and information exchange is more thorough when its in their native tongue.
I’m certain Jeff is a smart man. I am certain if he spent a few years in China he would understand my position as the pragmatic one. The only thing lacking is his experience in China. Anyone with an English-only website that lacks this China experience and understanding will find themselves dumbfounded when their product gets cloned.
There is vast evidence to this effect. There are hundreds if not thousands of Chinese IT knowledge exchange sites and blogs. The local Chinese did not create these sites to simply be different or to “own it themselves and get rich off ad revenue”. If you knew how hard it is in China to make money off an ad supported site, you would understand how laughable this is.
StackOverflow is a great site. I hope it continues to see success. If the folks at StackOverflow wanted to address the China market, the only way they could have successfully done so is to have cloned their own product and run it on a server inside China. They would have to fragment their own start-up.
You can pretend the world is flat all you want. Those that understand it is not will pick up where you have left off.