Learning = understanding + practicing + avoid doing the same mistakes + sharing
The best way to learn something is by applying theory into practice [but of course do positive things]. Based on my professional and academic experience, I can say learning can be done in a smart way and we learn from our own errors mostly. All jobs in this world make us build our knowledge in a specific field – whether the job is sweeping the road or fishing or farming. We keep learning.
I am in the IT field, and I learn so many things everyday such as systems’ architectural view, new way of coding, best approach to perform a task, etc… What I love the most is that I do not like to give up ! One of my ‘IT principles’ is to understand thing in a smart way – the secret is simple: focus/build smaller and smart codes/make your codes the most generic you can/your codes must be clean and tidy/perform good analysis and investigation/associate everything together/think wide/think on specific tasks/do your research/read the documentation/and never give up.
Also always share your knowledge with others, that’s another kind of learning. By sharing knowledge, you are displaying maturity in a field – that’s the way where you start to become a master in something !