Applying Program Language Learning Techniques to Learn a Foreign Language

I’m an “expert” in learning programming languages. Just counting languages that I have worked with professionally for at least 5 years, I know more than a dozen and I am 4 years into adding TypeScript to that list. But, I only speak and read one non-programming language, English, proficiently.

Learning traditional languages has not been easy for me. I learned French in school just enough to pass my statewide tests and didn’t retain enough for practical use. I tried DuoLingo for Spanish a few years ago, but felt like I got caught in a rut of naming farm animals.

But now I am planning on going to Germany for vacation this year, and I would like to know more than I do now. I know a little tourist-level German from having to travel there for work regularly in the early 2000’s. Not enough for even a simple interaction, though

Since nothing I have done has ever worked, I want to do something different this time—perhaps building on my programming language learning experience. The easy thing to see is that put serious time and energy behind learning a traditional language. I don’t have that problem with learning programming languages. I usually spend several hours a day using them when I want to learn them. Also, I have external motivation: when I got a .NET job with 0 .NET experience, I needed to learn C# fast, but I was paid to do it.

My motivation will be to have fun experiences when I am in Germany. Most of the time I will be able to use my phone to translate written text (e.g. a menu). If I need to know something quickly, it will likely be because something is being spoken to me. I might want to interact a little better with people in hotels, restaurants, and other tourist attractions (where taking out my phone would be awkward). This means more of a focus on listening exercises.

Finally, when I learn a programming language, I usually start to make something practical early into it. I can do this because I can program already, but for novices, I recommend starting with whatever canonical language book was written by the designer and to generate focused exercises that use only what you know. I’m a novice, so that’s the approach that I think I should take.

So, here’s the skeleton of my plan

  1. Allocate serious time to it.
  2. Convert some of my random YouTube and podcast consumption to German audio content.
  3. Find or generate exercises beyond DuoLingo so that I can practice remembering more vocabulary.