[If you don't know me, let me share some background information about myself before you read any further. I am a Finn, who lives in Finland, a welfare country that has 3 official languages (Finnish, Swedish and Sami). My native language is Finnish, but I know English (started studying this on third grade, at age 9, as a compulsory foreign language), Swedish (compulsory to learn at least one other official language of this country, started studying at seventh grade, at age 13), and French (started studying on eighth grade, at age 14, as a voluntary foreign language). Also, since the seventh grade, I went to a "language shower" school were we learned more English than is taught in a normal school - we had half of our subjects taught by native English speakers (by a British and an American). This made me very comfortable with speaking, writing and thinking in English from a relatively young age. I am also a neurotypical, linguistically talented, intelligent person, to whom studying at school has always been easy. So, when it comes to this topic of languages and learning, I am very privileged. Now, we can proceed.]
Given my background, it is not surprising that only in the two recent years, when the topics of diversity, equality and inclusion have become more important and visible in my life, I had not thought about how beneficial and necessary it would be to learn programming in your native language. When I had to study programming in high school, the first and only book I read about this topic in Finnish, was the "Basics of programming in Java" by Arto Wikla. After that, if I wanted to know or learn something, all the results in Google were in English. I think I did some kind of "programming vocabulary" in Finnish and in English in my notebook, learned those terms and then just proceeded deeper into this subject by talking and thinking it in English.
However, during these couple of years, when I've talked with my sibling, who has HFA and is studying programming, and my blind friend, who is also studying but also works part time as a developer, they've told me that both of them would have really, really, really benefitted from having the basic course materials in their native language (Finnish). It would have saved so much time and energy from people who have to use such a huge part of their energy to fight the everyday discrimination they face in their lives. [Clarification: I am not saying that we shouldn't have the materials also in English. I am hoping that we would provide them at least in ALL the official teaching languages: the native languages and English.]
And this has gotten me thinking: WHY?
For some reason, it other domains or professions, this topic of language is not even on the table. Of course you study other subjects on higher education in your own lingo! For example, medicine, law, physics and math books are all translated! Same goes for many hobbies, whether it's baking, handicrafts, sports or taking care of pets, there are books, blogs and forums filled with tutorials, vocabulary and discussion in many other languages than English. Duh! (Of course, the advanced courses or topics might have books only in English, but, I'm not agruing here that all the materials should be translated, just the basics.)
But I've noticed that it comes to programming, there isn't much talk or discussion about this. It's not a taboo of any sort - it's something that everybody has obviously thought about, but the majority of developers I have talked to, seem to shoot this discussion down and sweep it under the rug in a matter of seconds.
I can't help but wonder: why is that? Are they all just so privileged and well-educated, that reading and learning in English is easy-peasy for them? Or is it that they honestly don't think, that this would benefit others?
In the case of Finnish, I am aware that this language has such a small market, that you wouldn't make a huge profit by translating and publishing basic programming books in Finnish, but even the universities here seem to be choosing to use English materials, and not translate any materials, even the ones that they have written or put together themselves.
Some of the developers I've talked to, have produced some counter arguments to support their opinions. Here are two most common ones that I have encountered, and I don't think that they are very good.
I think that we all agree that in the IT industry globally, we have a huge shortage of workforce. Especially of seniors, but also of juniors and intermediates. Especially of developers, but also of designers, product owners, testers and scrum masters... you name it! So, we all should be making things easier for everyone to access this industry, help people on their career and develop themselves, right?
We developers are also people who like to optimize things. Optimizing CI/CD pipelines to get faster deployment? Sure! Minimizing build time and package sizes? Absolutely! Changing keyboard layout to type faster? Duh!
But isn't translating basic programming materials and this way reducing beginners learning time also optimizing? I think it is. So why don't people see it this way?
This "it's a waste of resources" argument sounds much more like an excuse that has a root cause of "to me it looks like a lot of work, and I don't see much benefit in it". In a similar fashion, learning a new keyboard layout seems a lot of work to me (how many weeks did you say it takes to get familiar, again?). I haven't ever tried it, but since many people seem to be doing it, who I am to argue that "it's a waste of time and energy"? Almost the same goes for optimizing pipelines, build time or package sizes: those I haven't done much, but I do see the point in them.
But hey, there are also developers who think that having proper documentation that tells you how to get started with this repo, stack and project is "a waste of time", so maybe this "what to optimize" is actually a discussion of "what I think we should optimize". Which is fine too, but I wish we would then say "this is my opinion", and hide behind these "this in generally considered a waste of time"-type of arguments.
True. But learning common concepts and familiar topics in a foreign language is faster than learning uncommon concepts and unfamiliar topics in a foreign language. To learn the vocabulary AND the subject matter at same time (and usually within a limited timeframe, because let's be honest - whether it's at work, on a course or on a bootcamp, time is always limited), takes a large amount mental energy and resources.
I would rather learn the subject matter first, in the easiest circumstances possible, and then learn its vocabulary in a foreign language. How about you? Oh, I get that some people might want to challenge themselves more by having the material in a different language. Sure! But that's their choice to make.
Even if some people like to have "more challenges" in their learning - I've checked my privilege above, I suggest you do the same before reading this - not everybody not everybody has this privilege of extra mental energy.
To give you a few examples:
People who are discriminated against by any characteristics (whether it's their gender, sexual orientation, skin color or disability) have to use a lot of energy to fight that discrimination. They don't have that "extra energy" for "more challenges".
People with dyslexia or other disability that affects their learning, don't have that "extra energy" for "more challenges".
People with ADD, ADHD or any other attention related disability, don't have that "extra energy" for "more challenges".
And supporting my previous point of optimising and getting more workforce into this industry: if we want to have a diverse set of people working in IT and get them studying faster and more efficiently, and then to work, one big leap that would help in this for everybody, is having the materials that teach the basics of programming in people's native language.