The Programmers Guide to Learning New (Spoken) Languages — How I Managed to Actually Speak French

Guy Zylberberg
6 min readSep 5, 2022
A developer learning to speak a new language by reading a book, sketch — DALL•E

When I came back home from a visit to Paris a few months ago, I decided that it was time to learn French. I started by practicing on Duolingo, which is probably the same as most people trying to start learning new languages nowadays.

It was fun, but it wasn’t enough for me to gain sufficient knowledge and confidence in the language. The app did help me get started and taught me basic grammar and vocabulary, but it’s a long process. It felt as if I was never to walk out the other side being able to fully converse in French.

I had to find a new approach to improve the way I learn, and that made me recall my habits as a developer.

The Dev Way of Learning 👨🏻‍💻

As a developer, you learn new things every day. From small things such as new terminology and all the way up to new development languages or technology stacks.

It’s part of the job description.

Each person has his own method of approaching new dev languages, but I think we can all agree that you don’t just sit down and repeatedly practice the syntax of the languages. It’s a combination of some reading, some learning, and the most important part — getting your hands dirty and start writing code.

My Approach to Learning a New Language 🙇🏻‍♂️

While thinking about how I learn new things in the dev space and compiling how that fits into learning new spoken languages, a good friend of mine told me of his approach.

To learn a new language, he just starts reading Harry Potter in that language. By the end of the book, he has read and learned enough to understand it without the need to translate 🤯.

This got me thinking. As intimidating as this sounds, it isn’t very different from the way I learn new development languages. I start writing code start by doing and fill the gaps where needed.

So why can’t the same be done for spoken languages?

Learning spoken languages is much harder than learning dev languages, so I gave this subject a lot of thought and arrived at the following combination of methods that worked really well for me.

TL;DR — To learn a new spoken language you should:

  • Learn the basics of the language using Duolingo (or its alternatives).
  • Get your hands dirty and start reading a teen-level book (Harry Potter FTW). Translate words you don’t understand and make flashcards out of them for practicing (DuoCards is great for this purpose).
  • Consume content spoken in the language (via Netflix, YouTube, etc.) with closed captions.
  • Gain confidence and practice speaking the language online (using sites such as iTalki).
  • Bonus: Travel to a country where the language is spoken 🛫.

1. Learn the Basics of The Language 🦉

To start, there are some basics you will need to learn. You won’t be able to start reading a book if you don’t understand the basic structure of sentences, its grammar, or its essential vocabulary.

For this purpose, Duolingo is still the king. It will help you to start and learn the basics of the language. This should give you enough context and knowledge to move on to the next phase. Finishing the first unit in Duolingo should probably be enough to get you there.

Even after moving to the next part, you can and should continue working with Duolingo. It will help you improve your understanding of the grammar and structure of the language.

2. Get Your Hands Dirty 📖

This is the “start writing code” part. The idea here is to learn by doing and jump into the deep end of the language pool.

Choose a teen reading-level book that you’ve already read or are familiar with, and just start reading it. To make sense of what I read, my reading process is as such:

1. Read a sentence from the book

2. (If needed) Translate the words you don’t understand

3. Translate the full sentence using Google Lens/Translate to make sure you understood the sentence correctly

Easy enough, right?

Now, I’m not going to lie… this is going to be very hard at first and will require some perseverance, but — practice makes perfect.

As for the question of what book to read, IMO Harry Potter works really well here. It’s at the right reading level, it’s easy to become familiar with even if you haven’t read it before (just watch the movies you cheat), and most importantly — it’s a fun and light read!

Practice What You Learn 🃏

You will have to translate A LOT of words while reading and there’s no way you’ll remember them all. This is where the practice part of this phase comes into play.

The idea is to create flashcards of the words as you’re translating them. This is so you can practice them and improve your vocabulary after you put the book down.

For this purpose, I used an app called DuoCards. It allows you to input words you don’t understand, it translates them, and creates flashcards you can use for practice. This way you can look up the words in the app while reading, and automatically create flashcards out of them which you can (and should) practice later.

My personal experience with this was awesome. When I started reading, each page took me close to 60 minutes to read. By page 7 it was closer to 15 minutes, and by the end of the first chapter about 5 minutes!

The first chapter will be the hardest, but you’ll be amazed by how fast you can pick up the language. Pretty quickly you’ll need to translate fewer words and start understanding sentences even if you don’t fully understand each word. Getting to that stage is very satisfying!

2.5 Consume Spoken Content 📺

Once you reach a level where you don’t need to translate every word you read in the book, you can add this more engaging part to your routine.

Start training your ear to comprehend the language by consuming content where the language is spoken natively. That can be movies, TV shows, or even podcasts. Dealer’s choice!

Here are just some examples of where that can be found:

Strive to watch everything with closed captions (meaning in the same language that is spoken). It will help you better understand it.

In my case, I started by watching the French TV show Au service de la France on Netflix. It was really entertaining, and I understood more than I expected.

3. Gain Confidence Speaking 🗣️

Being able to comprehend a written language and speak it are two completely different things. This is where the last part fits in. Being able to actually speak the language and gain confidence in doing so.

As for the other steps, the best way to go is to start doing start practicing speaking the language.

For this purpose, I found iTalki to work very well. It connects you with teachers and native speakers you can take a 1:1 session with, being for a lesson or to just freely converse with. It’s easy to use and you can find great teachers for quite cheap (less than 15$ for a 60 minute session).

More useful tools:

  • Free4Talk — Free online communities for practicing speaking languages.
  • HelloTalk — Converse with people who speak the language natively for free, works mostly via chat.

Summary 🌍

Learning a new spoken language is difficult, and the best way to go about it is by getting your hands dirty. The same as with learning things as developers.

I’m still nowhere near fluent in French, but this approach really helped me advance my language skills quickly and gain confidence in speaking French.

I hope you found my approach useful to improve your learning, or at least learned about some new methods and tools for the process.

Feel free to write your thoughts and impressions in the comments section!

P.S. — Many thanks to my good friend Nadav Blumer who is the one who told me to read Harry Potter in foreign languages and got me started on this journey!

--

--