In IT industry we have to learn quite intensive new things. Everything changes, but in our industry, it happens much faster. Today's buzzword is forgotten tomorrow. How do we approach that? 's annoying and silly to waste time on somethings like that.
I had a Lightning Talk at 93th WrocNET meeting about learning. This blog post is a follow-up :)
I developed a tiny framework based on my experience in programming stuff. Here it is:
Below I will describe shortly each item, but you should have some overall understanding already.
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 fits best. This is what you should expect from it :)
After you know "why?" or you saw somebody using language X you have to start with learning syntax. The 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.
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.
I find my self quite often in situations where I waste time adjusting my tools to new stuff. Regarding languages, I try to use the same editors, build pipelines etc. The interesting part is that all worth seeing languages have recommended tooling. The work is just to find out what is blog post describing it. Pretty much goes for external libraries, test and deployment tools.
Next are the best practices. This will give you some blueprints how are a thing done "here". What language patterns are preferred and why. How to do versioning. How to write useful comments and tests. ETC :)
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 summarise it: Learn from the best or die like the rest.
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 :)
Community is very often undervalued. Many of us are introverts. We do not socialize :) And due to that, we miss a lot... Meeting other developers using the 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.
You are a blue belt now. To master the language even further you should share your skills with others and seek feedback. In addition teaching others enable you to see their mistakes - maybe you make the same mistakes without noticing it?
As you are reading this you should have a strategy in your head how to learn things :)comments powered by Disqus