The Pragmatic Programmer gives a very popular advice: learn a new language every year. The main reason behind this advice is that when you learn a new language, you learn a new way to think.
And in the book Pragmatic Thinking and Learning, it shows the levels of competence from Novice to Expert.
Novice: Has little experience with the skill under examination; must follow the rules to be effective.
Advanced Beginner: Has no conceptual understanding of the problem domain, but can start to break away from scripted behavior.
Competent: Has the big picture and can start troubleshooting
Proficient: Can predict what's likely to happen and can reflect on practices to self-correct.
Expert: Has such a thorough understanding that she works from intuition rather than rules.
My questions are
1) How deep do you learn that new language ? Do you try to become Competent ? The reason I ask this is because normally it takes more than a year to be Proficient or to be an Expert in a new language along with the libraries, frameworks, tools.
2) And after you've learned that new language ? Do you keep up with the changes ? Is there time to keep up ?
For example :
- Year 1 : Learn Language 1
- Year 2 : Learn Language 2, Keep up with Language 1
- Year 3 : Learn Language 3, Keep up with Language 1 & 2
- Year 4 : Learn Language 4, Keep up with Language 1 & 2 & 3
- and so on