Two weeks ago, we announced the public launch of Stack Overflow in Portuguese, our first-ever non-English Stack Overflow community. Which raises one very obvious question: Have we lost our minds? Wasn't the whole point of Stack Overflow to aggregate as much developer knowledge as possible in one place? To get all the potential solutions together, and provide one canonical set of answers?
Yup. When we set out to "collectively increase the sum total of good programming knowledge in the world," a big part of the plan was de-fragmenting information previously spread across myriad books, sites, and your brains. It's why we mark things as duplicates - we want all the precious gems of knowledge stored in the same cave of wonders. So know this: we are at least as worried about fragmentation as you are. And we have a plan: Eventually, all of you are going to have to learn Portuguese. Okay, not really. But, given that one of our core goals was knowledge aggregation, it does seem just a little bit crazypants to start launching sites in new languages, assuming that one very important fact is true:
Assumption: All of the serious developers in the world are highly proficient in English.
Which... actually sounds plausible. But it's wrong.
- Not every developer in the world speaks English. Just reading the comments from our announcement, you'll see multiple readers sharing that they or their colleagues (and one dad) couldn't participate on SO due to language constraints. But data beat anecdotes. We don't have recent numbers for Brazil and Portugal, but we do for China, and they illustrate the same point: So, if the data tell us that we're getting roughly 80% less activity from Asia than we should in the absence of language constraints, why does it feel so obvious that all serious programmers speak English? This may help: Quick - name any famous developer who doesn't write well in English. I couldn't. I can name over a dozen famous English-speaking coders. But even if you frequent all the hacker sites and conferences, how many devs have you met who aren't solid in English? Roughly none, right? There's just one problem. Try this: Without Googling, name any famous developer from Japan. Or China. Or Russia. Again, I couldn't. Well, I came up with Shigeru Miyamoto. But he's apparently a designer. I couldn't name even one. Not like I can name Carmack or Stallman, or Hopper, or even "DHH." (Does DHH have an actual name? I personally imagine him as a very handsome, talented, fast-driving set of initials. But I digress.) Is it plausible that there aren't *any* devs good enough to be famous from those countries? Nope. Here's what's happening: The startling truth is this: I also assumed that since developers have to learn English-like syntax, they must speak English. Which is a bit like assuming that because I can order Uni, Hamachi, and Aji by their Japanese names, I could probably toss back some sake with Morimoto and discuss knife techniques in Japanese. Even when programming languages use words like "if" or "function," they're just terms to memorize, and don't always even mean the same thing in English that they do in programming.
- 10% of the world's programmers are in China
- 1.4% of our visits come from China
- Only 4.8% of our visits come from China, Japan and Korea combined
It's easy to assume that there aren't any devs who can't speak English because I never see any. But I never see any because I'm hanging around places where devs go to talk to each other in English.
On the internet, If you don't speak English, you're completely invisible to me.
- It's almost impossible to feel like part of a community if you're not highly proficient in the language. Even non-native speakers who are fluent enough to read posts in their second or third languages often aren't comfortable enough to write in them. Don't get me wrong - some of our best users aren't native English speakers, but they're in that rare group who have achieved a far higher mastery of a language than their peers. When I hear, I think: The truth is, by requiring fluency in English, we're shutting out of a lot of developers who may know enough English to read it but not enough to feel comfortable participating.
I imagine myself at a professional meetup where everyone is speaking French (which I studied through college). How many jokes would I tell? How many would I even understand? Sure, I can function, and understand all the words, but I don't feel like I belong to the group.
"Well, I didn't need a site like this - English is my third language, and I'm in the top 1% on Stack Overflow!"
"Yes, that makes sense. You are insanely good at two difficult, language-based things. Most people will find both of them to be a _lot_ more challenging than you did."
- Requiring that all aspiring devs "just go learn English" first isn't who we want to be. Even if I believed that every programmer must eventually master English, it still wouldn't make any sense to make them do it first. I believe that everyone - everyone - who can really fall in love with programming should get a chance to. So pre-filtering for the ones willing to learn a foreign freaking language before they first sit down with a code editor to see if it lights some spark in them just feels wrong.Think of the children. The children!! Okay, last quiz, just for the native English speakers: How old were you when you first realized you could type things on a keyboard and control machines? Great. Now, at that age, were you proficient enough in another language to have learned to code without any English? When I tell someone I work at Stack Exchange, my absolute favorite response is: We want that for every young programmer. Not just the ones lucky enough to be born somewhere that English gets taught in grammar school.
"I basically learned to code from posts I found on Stack Overflow"
Okay, that all makes some sense. But why Portuguese? To be clear, we still don't think there needs to be a Stack Overflow in every language. We do want as much centralization as possible, and we know that devs who have mastered English will mostly keep going to the English site, since it has the most critical mass. Just like we want them to. So, you won't need to learn new languages to find good answers - we expect almost every question asked on the Portuguese site to also be asked (and answered) on the English site. We're really only considering launching sites in languages that:
- Have large, strong communities of high-talent developers, where
- A meaningful percent of them aren't comfortable enough to participate in an English-only community
That probably limits the list of potential candidates to Mandarin, Japanese, Portuguese, Russian, Turkish, and Spanish. From there, Portuguese was a no-brainer. The developer community in Brazil is awesome, and growing fast. And we wanted to start with a language with a similar alphabet, to minimize the localization work. And it's worth a shot. We've learned that it's easier to just watch the future than to try to predict it. So we're big on just trying stuff out (assuming it can't break our other stuff). And we're huge on getting stuff crazy-wrong, refusing to admit it, and instead doubling down on our wrong-minded idea, while nodding crazily er... admitting we made a mistake, and reversing course. So, given the number of user requests, we figured, "why not give it a it a try?" We're committed to supporting one or two languages and seeing how they develop before we push any further. And so far, it's an incredible success. Despite an audience limited to portuguese-speaking devs, the site's activity in its first week was higher than all but 4 out of 120 sites we've launched to date, including the original trilogy. More importantly, people who couldn't ask questions are asking them, and getting great answers. When in doubt, we want to err on the side of helping more people. If just one little girl in Brazil sticks with programming because an answer on this site helped her finish her first project, well... that's not good enough! I want to help thousands of them. And the boys, too. Still, it's a good start. Are you an aspiring programming looking for your first break? Stack Overflow Jobs has entry-level positions from all over the world.