Note: Thanks to the author of this post for inspiring me to share my thoughts


Knowledge workers spend 40% of their time looking up available information

via Wikipedia

Remember this quote, if you are new to software development, and nervously step through the door for your first interview. In fact, regardless of whether at a junior, intermediate, or a senior level, programmers do various forms of online research, and often, for some of the most trivial things you can think about. Yes, I am talking about Googling certain work-related details. Programmers do it all the time, and in fact, many are encouraged to do so, to keep their brains fresh for the more important things. I would be more concerns about working in companies, where this type of behavior is prohibited (and if any, sincerely hope that they get out of business soon). As for what your brain should be concerned with if you are a junior, intermediate, or a senior developer, read this brilliant piece that came out recently.

There is a huge misconception among starters that programming is all about memorizing certain cryptic names, and using them at the right time. When I started some twelve years ago, I used to memorize various things using flash cards. With time, the number of new things to add to the stack became unbearably large. On top of that, most of the old stuff quickly became outdated, so I had to refresh my card stack almost every day. As I gained more and more experience, I realised that the world of software development is imperfect, the same way we human beings are, and that’s OK. Code and syntax change with the weather. What remains are the principles.

When you learn a new thing, be it a language, library, framework, an architecture type, etc, do no try to memorize the details, but rather, concentrate on why the thing exists. What are the problems it was made to solve? What makes it different form the rest? What are its unique characteristics?

The more you work with a certain thing, the more your short term memory will start keeping certain details about its syntax. The minute you take a large break from doing it though, you are sure to forget the details as quickly as you remembered them. This is absolutely OK, and happens to everyone, so learn to accept it. Knowing the principles, and remembering the context of when you were using the thing last, will get you back on track with just a little bit of Google research.