I have a good 8 years of technical experience and for the last 1-2 years, I have been managing a team. I have decided to move back to the technical side and started preparing for it. I have started reading the basics and have read the official docs/blogs of my relevant skill set; There are many new things that I have learnt during this course.

Now, while attending interviews, I am able to answer direct questions; but when a simple concept based question/program is asked, I blank out. Later, when the interviewer explains how it works, I feel I should have known with the concepts that I already know.

I was wondering how the experts do it. How do they grasp the concepts? What is the pattern they follow to apply the concepts while programming or solving a question? What other sources(like SO) do I refer to for grasping such conceptual knowledge?

For an analogy, I personally feel like a person who knows alphabets of a language, a little vocabulary but unable to make a meaningful paragraph or a story from that vocabulary. If asked the kind/number of alphabets or the meanings of those words, I can easily answer. Or may be create few sentences.

P.S: I am not tensed or fidget during interviews. I keep my cool. Nor is the gap an excuse.


Practice makes perfect.

Reading about all the new technologies in your field is no substitute for actually using them. So don't just memorize all the patterns and best practices. Download those tools and apply your newfound knowledge to build something runnable with them.

Practical experience does several important things:

  • It is a great way to fixate knowledge in your long-term memory. The reason why we forget things is because we failed to convince our brain that this information is important. Actually using information to do something is one of best ways to convince our brain that it is.
  • It allows you to understand why a certain bit of knowledge is relevant, when it is relevant and most of all when it is not relevant.
  • It tells you all the stuff which you don't find in the blogs and docs because it's blatantly obvious to everyone who spent a few hours working in the technology.
  • It allows you to estimate which docs and blogs to ignore, because you can now estimate which docs are about things you won't ever need and which blogs are written by people who don't know what they are talking about.

In the ideal case you build something useful which you can show around to demonstrate your skillset, solves a practical everyday problem you have* or which even generates a little income for you. But if you lack the ideas, skills, ambitions and/or resources to create a shipable product, then a simple toy project you never publish is also a great way to learn practical skills in a new technology.

*For example: A few years ago I was looking for a new apartment. All the real estate websites annoyed me because they didn't allow me to compare apartments in the way I wanted to. So I picked up a new programming language I always wanted to learn and used it to write a web scraper to get all the data I cared about and put it into a properly readable spreadsheet. I learned a lot about HTML and regular expressions that weekend. And I also found exactly the apartment I wanted.

Not the answer you're looking for? Browse other questions tagged or ask your own question.