I believe that there are two ways to get good at anything, "push" and "pull". Push: You learn from books, classes, mentors, and studying examples, then apply what you have learned. Pull: You have a problem that you must solve, then you learn what you need, any way you can, to build the solution. I suppose there are pros and cons of each method, and I imagine that many people here have used some of both. For the recor…
I call this "lazy evaluation", and it's my strongest learning style also.
When I set out to write a software synthesizer, for instance, I was reading papers and learning signal-processing stuff I wouldn't have otherwise bothered with.