For anyone who doesn't know me, I'm a developer for a company that makes training/exam preparation software for certification exams. The majority of my job involves training people through my writing. One of the questions that I often ask myself is 'how can we provide better training and software for our customers?' This has led me to ask myself the question 'how do people learn?' What I mean by that is what method is the most effective for you in terms of grasping a concept? For some, it might be taking a book and going through the examples. For others, it might be instructor-led training. Others may prefer using computer-based training.

For me, the easiest way to truly grasp a concept or task is to watch someone else, hopefully someone skilled :), perform that task. That drills home 'real-world' techniques to me and helps me to quickly learn the do's and don'ts of that particular task. Unfortunately, watching someone else perform a task is not always possible. In that situation, I try to get as much reading material as possible on the concept and read as much as I can. I don't truly understand the material, though, until I actually do the examples. Is this how other people learn computer concepts? I'm interested in hearing how other people learn new concepts, specifically computer-related topics, which leads me to this question:

What do you do to learn a new concept?