As a software engineer you must deal with knowledge and information overload on a day to day basis. There is domain knowledge, product knowledge, tools knowledge, knowledge about technologies, languages and platforms.
Suffice it to say, there is a lot of information to be acquired and managed to do your job, and even more if you wish to do it well.
We are not in an information age anymore, we are in the information management age. — Chris Hardwick
This can become overbearing and one possible way to deal with it is to limit your exposure to the set you own or can control and ignore the things that are outside your domain.
This might help with achieving your job goals — but rest assured it will not help you become a top tier programmer. So how does one effectively deal with this information overload? Specially when you are learning and trying to improve.
I recommend a strategy of classifying the information into a spectrum, ranging from an expert with deep knowledge for your core skills to a hacker who knows just enough for the rest.
The Expert Mindset
Become really great at your core skills. Specialize in the tools, technologies and domain you mostly work with. Identify your core strengths and go all the way in until you’ve reached a master level. Constantly read and improve your knowledge.
In my last post I share a couple of ideas on how to improve.
The Hacker Mindset
Experiment, learn and play with things that aren’t in your core set. You are not trying to become a master here, instead you just want to know enough that you can look into it when needed and hold and intelligent conversation with someone who is an expert.
The most important idea is to loose the fear of unknown. Don’t raise your hand with an “I don’t know” or “not my problem”, instead grasp the moment to prod and learn about something you were not exposed to in the past.
One very useful skill is to be able to read code that you did not write, where documentation and guidance is not available. Its not going be pleasant initially but overtime you’ll build the brain muscle to do it more quickly and efficiently. Even for languages that you barely know.
Building the Spectrum
Draw a circle around your skills, put your core strengths in the center, these need a great deal of attention, must be committed to memory and improved overtime. Things farther down don’t need that much energy, just enough so you can remind yourself again, things really out on the edges may just be left out for googling again.