DEV Community

loading...

What's software development like as a non-native English speaker?

shalvah profile image Shalvah Originally published at blog.shalvah.me Updated on ・1 min read

I've thought about this before, but recently I got triggered to write this, thanks to this image:

(From this post)

You'll notice that the output of npx is in French (I'm guessing that's @gmartigny 's system language). But the output of lyo is in English. My deduction is that NPM uses internationalised strings, while lyo uses hard-coded English.

I'm not blaming Lyo. Internationalisation is non-rivial work (which languages to support, machine translations vs paying translators, ensuring UI components don't look weird on some languages,...). Personally, I've never worked on an app that supported languages other than English.

So much of the software world uses English as a lingua franca (programming language keywords, documentation, package commands, and the like), to the point where developers who aren't fluent in English still release packages in English.

However, I'm curious. What's it like for developers whose primary language is not English (or who are not fluent in English)?

What's it like to come to a GitHub readme and have to use Google Translate to figure out how to use the package?🤔🤔

The irony that this post is in English is not lost on me.😆

Discussion (32)

pic
Editor guide
Collapse
stojakovic99 profile image
Nikola Stojaković • Edited

My native language is Serbian but I'm very comfortable with English as I'm constantly surrounded by it, I write on Quora occasionally and whole communication (except for chat) in my company is in English. The only thing I can't do is writing very complex sentences in English with various tenses. For that I need to improve my grammar.

Collapse
bluebell_lester profile image
Bluebell Lester

When I was younger and knew no English, words like "console", "string", "if... else" etc seemed like special magic words and you just learn what they do. When I learned English, I thought: huh, so everything a program does is spelled out in plain English.

Collapse
shalvah profile image
Shalvah Author

Hehe. I guess the idea of "magic" words is really useful. Kinda like how we might not know the meaning of many Unix commands, but we use them.

Collapse
thomasjunkos profile image
Thomas Junkツ • Edited

It is hard for me to imagine how it is as a non-native english speaker. I am a non-native english speaker - and my english is not the best, I would say. But on the other hand: if I remember my first contact with computers was in the 80ies. And it was all about english language: starting with the BASIC dialect to all the "cracker" intros, games etc. So english was early on part of my (childhood) life - even before I actually learned the language at school.

But I can completely understand how you feel.
We are now in an age, where there is a big nation of developers making really cool things in a language, I don't understand:

antv.alipay.com/zh-cn/g2/3.x/index...

and

antv.alipay.com/zh-cn/g2/3.x/tutor...

That gives me the impression of what this is about.

»This library looks cool. Let's have a look ...« ... »Whaaat the ... « o_O

Perhaps chinese will be the new english of the future.

Collapse
shalvah profile image
Shalvah Author

Haha. That link you shared. Tbh, I don't think I would use a library that was in a different language. I'd be scared of running into a bug and not being able to get any help due to the language barrier.

Collapse
nflamel profile image
Fran C.

My native language is Spanish and although I understand English pretty well there's some other thing that makes my life easier... Switching my keyboard layout to American English. Shortcuts and coding characters are easier to type like this.

Collapse
nicolasguzca profile image
Nick

Same here! I hate Spanish iso keyboard for coding, I always switch it to American English!

Collapse
lightalloy profile image
Anna Buianova

It's hard for me to imagine what it's like to write code in your native language. I imagine using keywords, methods and variable names, shell commands in my native language -- it would be weird!

I was lucky, and when I've started programming I had good enough level of English.
As for the other people, usually, developers inevitably learn at least some English by reading the documentation and consuming other it-related content.
However, grammar mistakes in the code, weird comments or commit messages are not rare.

Collapse
equiman profile image
Camilo Martinez • Edited

No doubts, English is universal language, even more on IT industries. It's mandatory learn it and write your software on this language if you want visibility and help.

1 and a half year ago, I decided change my mind to think mayor part of time in English. It's hard because my native language is Spanish.

I achieved:

  • Take professional courses on English
  • Listen News on English, but this more my a lot. Then now I listen podcast about tech/develop
  • Create an API on English and his documentation.
  • Buy and read programming books on English.
  • Change to English all my devices (Computer, Phone, TV and even use ATM on english)
  • Make all my search on Google in English
  • See movies and TV series
  • And lastly I'm writing my post on dev.to on English.
  • My last challenge was #ngColombia, this year all conference had been made on English.

Now my listen and write skills are better. But speak it's hard because there is no much places to practice English talking about development on my city. And can't take project from USA because need fluent speakers.

So, it will be good idea if some native English can make some kind of speaking forum or Hangout to talk about tech news, projects, language etc... and help us to improve those skills, I have no fear to receive feedback and have corrections with others. My mistaken can teach other what not to do ;). In exchange I can do the same with people that need practice on Spanish.

As you can see it's a long and difficult road to walk. Some times I feel like a child making baby steep. An yes, some time learn some times need the Google Translate help, but I learned not take it literally.

My main target on mind is to get better English skills and work in less than a year on project from USA.

Collapse
gmartigny profile image
Guillaume Martigny

After years of watching video and reading articles in English, I kind of became fluent.
But for new learner, I guess it's one more challenge to overcome.

I love the idea of an international language. French is my language, but I don't really care for it. I way more enjoy being able to share with people around the world. 👋

On the subject of i18n, it's a real chore. I work on multi languages UI and it's a lot of work: different keyboards, different word length, different text direction, different date and currency format...

Collapse
shalvah profile image
Shalvah Author

Damn. I only scratched the surface. Seems like we might need to create a role called "Internationalisation Engineer".🤣

An international language sounds nice, and I guess English is the closest to that in dev. I consider myself lucky to have been raised speaking English.

It's cool that at least there's a fairly "universal" language we can share things in.

Collapse
retrazil profile image
Retra Zil

I was okay at English before I started learning programming, in highschool. Our highschool teacher explained us basic programming constructs over the year, in C++. Despite the fact that I had been learning English since elementary school, some programming words just didn't sound that intuitive to me. E. G., switch (switch for me was on or off), variable ( I was taken aback when I first heard it. Our teacher explained that this is very similar to the 'x' we use in math, which made more sense), array pop (I had never seen pop used this way before), stack (I knew what the word meant but I couldn't imagine a stack of plates until our teacher gave an example).

Also add to the fact that, English pronunciations are not exactly intuitive. You can't figure how a word is pronounced from the characters. I remember friends pronouncing "char" as "car". I still know people who pronounce "cache" as "catch-é".

Collapse
shalvah profile image
Shalvah Author

Wow. Thanks for sharing. Glad you were able to push on.

Yeah, English pronunciations can be weird. I'm still trying to figure out why "Leicester" is propounded "Lester".🤣

Collapse
thorstenhirsch profile image
Thorsten Hirsch • Edited

Most technical terms are not translated into other languages, we just use the english terms, e.g.:

  • variable
  • string
  • array
  • hash
  • tree
  • stack
  • queue

So as long as everybody understands that english is the universal language for developers (and maybe also administrators) everything's fine.

But companies like IBM translate all their software under the banner of "accessibility" into all languages. Your IDE, domain specific terms, even the error messages. This is such a bullshit! They think they lower the barrier for new developers, because they would easier understand things in their native language, but the opposite is true! Technical terms get lost, nobody understands what "Warteschlangen" (German) means, when talking about queues.

IMHO having english as your "technology language" (not only programming language, but also comments, commit messages, pull-requests, ...) and a different native language for everything else might actually make your life as a developer easier.

Collapse
juanfrank77 profile image
Juan F Gonzalez

My primary language is Spanish however, since an early age I've been delving into English (because I loved the language ever since I was in High-School) so it came to a point where I assumed that programming in English was the natural thing and it came to bother me a lot when I see others mixing Spanish words with English reserved words of a language.

Collapse
tyu1996 profile image
Brian Ting

My mother tongue is Mandarin. As both English and Mandarin are the languages from different world, often when I read the documentations I have some degree of difficulties on understanding a long sentence, especially when the author can write a very "native" English.

For my case, the difficulties of reading often come from grammar first, as the word order sometimes is different between both languages, and the use of prefixes and suffixes in English does not exist in Mandarin. The use of prefixes and suffixes can bring to my second issue, which is vocabulary. Usually when I meet an unfamiliar word, I will figure out its root word first, then guessing the actual meaning the author wants to express. Google translate won't help much on the second issue.

Collapse
shalvah profile image
Shalvah Author

Wow. Thanks for sharing. It's so enlightening hearing about how people all over the world experience the things we take for granted.

Collapse
elmuerte profile image
Michiel Hendriks

I've always written code in English, never even considered using Dutch. This was over 25 years ago, before I even had internet access.
It simply looks wrong when keywords are in English and other things in a different language.
The fact than English is learned as a second language to children in primary schools in the Netherlands might also have something to do with it.

Collapse
jinistenfors profile image
Jini Stenfors

Spanish, French, Swedish... at least you are using alphabets. think about the programmers dealing with DBCS such as Korean, Chinese & Japanese. I learned programming in Korea and worked there for few years. it's extra fun just count the characters in the string. 😊 yes, now a days, english is mandatory to stay in dev world I think.

Collapse
dlion profile image
Domenico Luciani

As Italian english is not my native language but I think nowadays english is a must if you want to be a software developer.
I think that learn english pretty well helps a lot about learning new things in computer science, the major of them are written in english too ~

Collapse
shalvah profile image
Shalvah Author

That's true. English is the lingua Franca of computer science.

I really applaud you folks who learn another language apart from your native one. It's not easy.👏

Collapse
thallesaraujo profile image
Thalles Henrique • Edited

My native language is the Brazilian Portuguese, and at start of my college, my English was so crappy. To write a full comment like this, I had to always go to Translate. But it had to change...
My college have a scientific initiation project, with researches that, in the case of the course of Systems Analysis and Development, could be a software development project or a systematic review mapping. While in the first you can just know Portuguese (which many of my colleagues do), in the second... Definitely no. We had to read several articles on ACM, Scopus and other research bases and all of articles in my project was in English. After that, if I'm not so fluent, I guess at least I could maintain a minimal understandable conversation.

Collapse
shalvah profile image
Shalvah Author

Wow, that's interesting.

Collapse
skatkov profile image
Stanislav(Stas) Katkov • Edited

At first I tried using software with my native translations, but a lot of terms didn't made much sense. So I opted out to everything English, not a single app I have uses my native language.

It was hard at first, but eventually I got used to English. I got so used to it, that I have challenges discussing IT related topics in my native language.

Collapse
kayis profile image
K

Languages were my worst subjects in school. Almost dropped out because of my bad English once.

Somehow wanting to become a dev forced me to become better in English.

Collapse
shalvah profile image
Shalvah Author

That's cool (and a bit sad😥). Glad it worked out well.

Collapse
isalevine profile image
Isa Levine

just wanted to say i really appreciate being exposed to this discussion!

Collapse
vdedodev profile image
Vincent Dedo

Even in English, I find readmes to make almost no sense and have little value.

Collapse
shalvah profile image
Collapse
nebojsac profile image
Nick Cinger

The first thing people tell you about learning programming is "You have to learn English first, or you won't get anywhere".

It's accepted as a fact of the trade here in Serbia.

Collapse
lau0002 profile image
Lo2

For sure the non english speaker will be more productive in their native language because it is easier to think in their mother tongue.

Collapse
wayou profile image
Wayou Liu

As a none English speaker, sometimes I wonder the different that do native speakers have trouble to distinguish code from comments.