How to learn new language (or other thing)

Intro

In IT industry we have to learn quite intensive new things. Everything changes, but in out industry it happens much faster. Today’s buzzword is forgotten tomorrow. How do we approach that?

I had a Lightning Talk at 93th WrocNET meeting about learning. This blog post is a follow up 🙂

My way to approach learning things

I developed a tiny framework based on my experience in programming stuff. Here it is:

  • Learn the motivation behind certain language
  • Learn the syntax
  • Learn the build-in framework
  • Learn the eco-system
  • Learn best practices
  • Read good code
  • Make a pet project
  • Meet the community
  • Teach others

Below I will describe shortly each item, but you should have some overall understanding already.

Learn the motivation behind certain language

I always start with “why?” Why is this particular language so special? I people do recommend it? Usually getting answers to those questions will show you where the language fit best. This is what you should expect from it 🙂

Learn the syntax

After you know “why?” or you saw somebody using language X you have to start with learning syntax. Syntax is like sand. Before building a castle you need to know how to make bricks. Here I usually read a tutorial provided by the authors or main-contributors.

Learn the build-in framework

This is very important to learn what particular language provide out of the box. Maybe serialization or encryption. Do not reinvent the wheel!. Rather use what is already provided.

Learn the eco-system

I find my self quite often in situations where I waste time adjusting my tools to new stuff. Regarding languages I try to use same editors, build pipelines etc. The interesting part is that all worth seeing languages have recommended tooling. The work is just to find what is blog post describing it. Pretty much goes for external libraries, test and deployment tools.

Learn best practices

Next are the best practices. This will give you some blueprints how are thing done “here”. What language patterns are preferred and why. How to do versioning. How to write useful comments and tests. ETC 🙂

Read good code

After you have some understanding about the syntax, framework and best practices it’s time to read some great poetry in your new language. Absorb it all the time. I will summaries it: Learn from the best or die like the rest.

Make a pet project

This one is easy. Theory happens at the university, practice happens in production. In order to master anything you need to practice. Make 5-10 pet projects. Learn new concepts in the language. Play with it…. and share the results 🙂

Meet the community

Community is very often under valuated. Many of us are introverts. We do not socialize 🙂 And due to that we miss a lot… Meeting other developers using same language can give you non verbal information. You will not read about that in blogs or mailing lists. You have to attend and smell it.

Teach others

You are blue belt now. To master the language even further you should share your skills with others and seek for feedback. In addition teaching others enables you to see their mistakes – maybe you make same mistakes without noticing it ?

As you are reading this you should have a strategy in your head how to learn things 🙂

Follow me:

Leave a Reply

Your email address will not be published. Required fields are marked *