Skip to content

How do you manage to learn several languages?

New Course Coming Soon:

Get Really Good at Git

When I sent the first email newsletter where I announced the new SwiftUI series, I got this question: “How do you manage to learn several languages?”

Good question!

In the past I learned Pascal, C, Java, PHP, JavaScript, Objective-C, Go, Python, Swift. I think I listed all the languages I used.

Not all languages are created equal. Some are more equal than others (cit.)

In particular I think all the above languages are very similar. Once you learn one, it’s very simple to go to another one. Variables, functions, loops, objects.

Sure, different languages have unique quirks, like Go’s coroutines or C being very low level. But the underlying fundamentals are the same.

Some languages are very, very different. Take Haskell or Elixir or Lisp. I’d like to learn them one day, but so far I haven’t had the chance to do it.

And nowadays I try to focus on beginner-friendly languages that are popular, for a good reason. The reason is that you’re not going to start your career with Haskell. When you go learn that, you’re already an expert programmer and you don’t need me to teach something to you.

Anyway, I’m digressing.

”How do you manage to learn several languages?”

I pick one new language and I focus on it for a long period of time.

I build things using it.

I keep practicing with a beginner’s mind, curious and open to how the language is supposed to work.

Some languages are boring. Some are very exciting. It all depends on what you need to do. If you dream about machine learning, Python might be incredibly exciting to you. If your dream is to build an iOS app that’s used by millions of people around the world, Swift is your go-to language.

I think you don’t just learn a single programming language in your career. Except in rare cases, things keep changing.

There’s no way I’ll keep using JavaScript 20 years from now. JavaScript will either be completely different from now (like when you compare current JavaScript with 10 years ago JavaScript), or it will be an ancient language.

That’s why I don’t label myself a “JavaScript developer” or anything like that. I’m a developer, that’s all.

Languages are just tools.

And learning a new language is not a destination. It’s the start of an adventure.

Are you intimidated by Git? Can’t figure out merge vs rebase? Are you afraid of screwing up something any time you have to do something in Git? Do you rely on ChatGPT or random people’s answer on StackOverflow to fix your problems? Your coworkers are tired of explaining Git to you all the time? Git is something we all need to use, but few of us really master it. I created this course to improve your Git (and GitHub) knowledge at a radical level. A course that helps you feel less frustrated with Git. Launching Summer 2024. Join the waiting list!

Here is how can I help you: