Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

The thing is that I read a lot of things over a period of time because it is interesting and I like to know it and secondly it will be helpful in my future job interviews.

For example I read about data structures: association, aggregation and composition; about 2 months ago with great interest and I thought I had it all but struggled big time recalling the information at a recent job interview.

How do you people handle these things? How can I make my reading meaningful without worrying about forgetting about it in the future.

share|improve this question

closed as off topic by Walter, Caleb, Yannis Jul 23 '12 at 21:23

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

Use them in your daily coding. Using stuff you read about is the best way to remember anything. – Martijn Pieters Jul 23 '12 at 9:14
follow through related discussions at Stack Exchange or programming forums. That did wonders to me: 1) allowed not to forget Java ME stuff despite being several years out of racket, 2) allowed to (finally!) memorize couple of design patterns for which I had not sufficient practice at my job – gnat Jul 23 '12 at 9:29
@gnat: I'd argue that this is an example of "apply them": you simply apply your knowledge by sharing it (just as in practical application, you may have to look up one thing or another before you write your answer, but that just helps with remembering). – Joachim Sauer Jul 23 '12 at 9:34
@JoachimSauer no need to argue: I also feel it like you describe. :) It is quite unfortunate that this is quite frequently underestimated. "Oh just answering Q&A... this can't even come close to getting your hands dirty in the real job" - I for one thought exactly this way until I tried and discovered how it works in practice – gnat Jul 23 '12 at 9:39
Use a personal wiki and write a short description of the article you have read together with the link – Ubermensch Jul 23 '12 at 10:01

As your brain remembers stuff by association, you need to, as already said by others, try and apply this fresh knowledge.

Consider it like this: if you read an article about, say data structures, your brain only has one connection to information found in this article. Say you then read a couple more articles about it, you automatically have a few more connections to this data, which makes it more relevant for the brain and your brain can filter this data out from all the garbage you just happen to read everyday and only meet once. Now if you try and apply this knowledge by, for example, using these data structures in your own projects, your brain will create tons of new connections to this information. You will quickly relate this new information to stuff you already know and it gets easier and easier to remember.

EDIT: Something related to this and definitely a good read anyway:

This covers the general stuff about learning and how to improve yourself significantly at it.

share|improve this answer
+1 for multiple brain connections, it's very easy to remember something you've have fed into as opposed to extracted out of. – Mantorok Jul 23 '12 at 13:06

What I've noticed to be very helpful has been to focus on studying as much as possible. To get rid of distractions by turning off IM programs, the web browser(unless you're studying from the web), your phone, telling people no to disturb you and so on. In general, to get rid of distractions - yes, even music! Do not even attempt multitasking, because you can't achieve it without degrading mental performance. It is very expensive to switch back and forth between different subjects in your mind, you'll lose track of what you learned, you feel you get nowhere and in the end you just end up wasting time. So again, get rid of distractions, focus on one thing at a time!

To go beyond just getting rid of distractons, taking notes is very helpful too. For example, when you read about subject X, have a physical notebook open and a pen available and write down notes. Document what you learn. Drawing mind maps might sound bit of a stretch, but really, they help too! They help you to visualize the things you learn and how the concepts relate.

Another important thing I've noted, as others have mentioned, has been to apply what you've learned. For example after reading a chapter from a programming book, doing the quizzes/programming probles is very valuable in giving experience and really stretching you to actually do something concrete with what you've learned. Remember, actual proficiency on any field is 1 % theory and 99 % practice. ;)

That's not all to it. Actually having consistent sleeping pattern and daily schedule is crucial. Not only does sleep deprivation make it hard to focus on things at hand, cause memory lapses or loss or - there's also evidence suggesting sleep deprivation decreases bran activity which obviously is not good when you want to learn and remember. There's also evidence suggesting that afternoon nap increases learning capacity. I've personally witnessed that lack of sleep degrades my motivation to a level at which I don't even bother learning anything at all. Based on that, I'd also argue that sleeping is also crucial for keeping positive motivation towards learning new things.

The last but not the least... "I hear and I forget; I see and I remember; I do and I understand.", A Chinese Proverb.

share|improve this answer

Just publish it to your blog.

If you found something interesting, then publish it to your blog and somebody will comment it with more interesting ideas.

share|improve this answer

Merely studying things is not enough. You need to put them into practice doing things at the edge of your ability. This is known as "mindful practice", as I mentioned in The Ultimate Code Kata.

Ericsson argues that what matters is not experience per se but "effortful study," which entails continually tackling challenges that lie just beyond one's competence. That is why it is possible for enthusiasts to spend tens of thousands of hours playing chess or golf or a musical instrument without ever advancing beyond the amateur level and why a properly trained student can overtake them in a relatively short time. It is interesting to note that time spent playing chess, even in tournaments, appears to contribute less than such study to a player's progress; the main training value of such games is to point up weaknesses for future study.

share|improve this answer
Although I do agree with your answer, I must point out, that this answer only further confirms my answer. You see, when you merely use a certain knowledge in many similar cases, you do not create any new connections in your brain. But the drills outlined in your blog post work, because they all allow the development of new connections to this knowledge and therefore increase the brains ability to use it in various different settings. +1 for specific examples on what to do, to improve. – Deiwin Jul 23 '12 at 16:46

Apply it.

Learning from books is useful, but unless you actually applied what you learn in real work, you will forget much of it rather quickly.

Simple exercises might help a bit, but a real application in an environment where it matters is better.

share|improve this answer
+1 Use it or lose it. – Garrett Hall Jul 23 '12 at 21:21

Some stuff you will remember better some not.

Personally - I use one of the popular on-line notebook to save interesting stuff I discover by day. I tag it accordingly (interview, programming, algoritms) and if I don't have a time to read it I can come back to it anytime I want.

share|improve this answer
I would recommend for this kind of job. – Deiwin Jul 23 '12 at 14:58

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