Coding Horror: The Ultimate Code Kata filled with some really good references even though the post seems to be targeted at programming, the references are much more broad than that. In summary, he admonishes his readers to ‘effortful study’ of their domain.
This can mean many things, but let me summarize what it I’ve learned so far in life. It’s not just enough to do something to be really good at. You have to actually be a student of that domain. Know the history, study those that are good, learn from those that went down in flames. Know the theories and how they interact and oppose each other. You have to try new things, you should be confused much, fail often, and back track repeatedly. Quitting is not an option.
It all goes back to being proactive in that field rather than just coast.
Little grasshopper, are you looking for ways to become the ninja in your field? Here are some ways to get there.
Don’t be in a hurry. Read Teach Yourself Programming in Ten Years. It applies to programming, but in short, it also applies to all areas of profession. This is hard for those in their early twenties to swallow. I remember being gung ho about several things in my twenties and wanted to be the expert in those fields NOW. It doesn’t work that way. This is a marathon, not a sprint.
Set aside time each week for personal improvement. Google made this practice famous, but everyone can practice it in their field. What should you improve on?
Jump out of your field completely. Study some other area helps to create parallels between two fields. It gets you out of the forest of your expertise and you can then see the trees.