When you first pick up a language (like c++) from 11 textbooks, you form a view of what topics (know-how/insights) are important, and worth spending time on.
However, once in the field you will get a different view. Over the years, I realized
++ remote debugger is critical
++ lots of C techniques are widely used on Wall St.
++ MSVS is a dominant tool, so is GNU toolkit.
— most whiteboard coding will use C constructs + vector/string, not fancy c++ features
— portability isn’t a issue.
— template techniques are powerful but seldom used on Wall St
— boost shared_ptr is widely used, but not other boost libraries
— strings — many teams have their in-house development, so the std string is less imp
So over 50 years (if I were to work that long), i’m going to discover all the important topics. Now question is how to quickly discover them, so as to focus on the most valuable.
Answer — I feel a beginner is better off changing project frequently. The more diverse projects you take on, the faster you discover those important “topics”.
The rolling stone gathers no moss? Well, i feel this is not the case for the beginner dynamic traveling consultant:)