I think we learn to fulfill needs. When any IDE or framework cannot give what we want, we try to dig deeper.
Todays learning process is little hybrid. People first learn to make crud or an application with more coding, then start exploring framework, libraries and generator. Later they start to learn deeper because of the requirement. This process is OK.
I think everyone should become productive and efficient not just a coder.