One of the greatest lessons I have learned over the last few years was to “Learn to know what I don’t know”.
This seems like an impossibility on the surface, but digging into the details I found that it didn’t mean to learn everything at once. The important piece is to know what is out there in general. It’s important to immerse yourself in your community and keep your ears open. Listen to what people are talking about, so that in the future, those little snippets may help you.
I’ve attended many user group presentations, and while I don’t always get it completely, afterwards I at least have a clue. I attended a presentation about Continuous Integration once. The presentation was over my head at the time, and I wasn’t in a place to put that topic into practice. A few months later, I knew I was ready to make a change and I remembered the basic principles of continuous integration. Because I knew about it, I was able to do the research to truly learn about it and put it into practice.
Without having heard that presentation, I may still have been in the dark and would not have been able to implement that simple piece of tech.