Learning to Learn

I’m not good at many things.  Let me rephrase that.  I’m not naturally good at many things.

There are many people who are smarter than me, process things quicker and overall just have a better aptitude for almost everything I do.

I’ll freely admit, I’ve been pretty successful in my field and in life in general.  (At least according to my own measures of success.)

You might wonder how I can be so untalented, yet accomplish so much?

I must be doing something right.

The Key

I believe the key thing that has helped me to become successful and will continue to do so, is my ability to learn how to learn about a subject, self education.

key thumb Learning to Learn

I’ve found that it is only when you take ownership for the learning process and its result that you actually are able to accomplish the true goal of learning, which is the ability to put knowledge into action.

So what is learning to learn?

Basically, it is figuring out the best way to learn about a particular subject.  You can contrast this to the default mode of education, which is relying on someone else to teach you a subject.

As a society in general we have adopted the idea that attending institutions of education is the correct way to learn about a subject.  And while schooling can be important and good, it is often not the best method of acquiring useful actionable knowledge.

A wise man by the name of Herbert Spencer, who as an English philosopher in the mid to late 1800s, once said

“The great aim of education is not knowledge but action.”

Now obviously I’m not knocking the idea of learning a subject matter through someone else’s teaching.  I make part of my living teaching, and perhaps the reason why you are reading this blog is because you expect to learn something.

My point is simply that the most efficient way to learn something that you will actually put into action is to decide what must be learned and how to learn it yourself, rather than taking a complete prescription from someone else.  Someone else may be able to break down subject matter and assist in your learning, but you ultimately are responsible for your own education.

Take a moment and say that with me, because I think it is so important.

“I am responsible for my own education.”

It is quite an empowering phrase.  When you really let it sink in, you begin to realize that no one can give you a grade, but yourself.  (And I don’t mean this in the "all kids are special and everyone tries so it is not fair to give some kids As and Fs and lower their self esteem" kind of way.)

I mean this in the sense that it doesn’t matter if you got straight As and a perfect 4.0 GPA in college, you ultimately have to decide if you learned something, or if you just did the work.

It is only when you take ownership for the learning process and its result that you actually are able to accomplish the true goal of learning, which is the ability to put knowledge into action.

Why learning to learn is important

Have you ever considered how expensive education is?  Is there some magic formula that a college or university has that gives them the ability to define and bestow an education better than you could do yourself?

When you consider the amount of money and time that is spent on traditional classroom education, you really have to ask the question of whether or not you are getting the maximum benefit for your precious resources.

I think you’ll find that most of the time, the answer is “no.”

The problem with systematic education is that it isn’t very efficient.  The process of learning something is very tailored to an individual.  It is not something that is easily distilled and applied like a balm or an ointment to the foreheads of eager young students.

boy  thumb Learning to Learn

Not only do different people have different learning styles, but what is important for them to actually learn varies as well.

Let’s be completely honest here, in most formal educational systems the majority of what you do is read and regurgitate things, but not really learn them.  Perhaps you remember them for long enough to take a test, or to graduate to the next level of that subject area, but do you really learn most of the things that are taught in a textbook?  Do you really need to?

Overall, with traditional spoon-fed education, you are typically not really getting your value’s worth for your money or your time.

Still, I hope we can all agree that education is important.

And because education is so important and we don’t want to waste our money or our time acquiring it, it is essential to learn how to learn.

Equipped with the ability to teach yourself anything you need to know, you suddenly lose the constraints that are binding you to a particular area of knowledge or skillset.

When you can teach yourself more efficiently about a subject than any institution can, you have given yourself perhaps one of the most valuable gifts a human being can receive to be successful in life.

You have given yourself the ability to do just about anything you want.  (Within the constraints of time-space and physical reality of course.)

And once you have this ability yourself, you will also find that you will be in a great position to teach others what you know.

Since most of the world is not very good at this skill, you have a genuine value that is in short supply.  If you can take a subject matter, figure out a path to learn that subject matter, and be successful in doing so, you can help others along the way who may not yet have mastered that ability as well as you have.

How to do it

All this talk about the value of learning to learn is worthless if we don’t actually learn how to learn how to learn.  (Say that three times fast.)

Rather than title this subject as accurately as I could put it, which would be to learn how to learn how to learn, I decided "how to do it" approximates closely enough my point.

Enough blabber, let’s get down to it.

Scoping the subject

The first step in learning about a subject and perhaps the most critical is to determine the scope of the subject you want to learn about.

scope thumb Learning to Learn

So many people skip this step and wander aimlessly though the vast halls of knowledge never really knowing what they are looking for.

In determining the scope of the subject you want to learn about it is very important to consider first the granularity.  The granularity at which you wish to learn a subject will very greatly influence the size or overall scope of the subject matter to be digested.

Speaking plainly…  you can’t lean a lot about a large subject in detail. (At least not in a practical amount of time.)

You basically have to balance the details of the subject to the overall size of what you want to learn.

For example, since this is a programming blog, let’s say you want to learn about a particular technology.  Let’s say C#.

You could learn about the topic with a broad brush and learn the basics of the language and how to generally construct logical statements and write programs in that language.

You could also decide that you want to learn exactly how C# works and how exactly each keyword behaves under certain circumstances.  This level of detail can of course be found in the C# language specification.  (If you didn’t actually click that link, it takes you to a 505 page book with almost all of the technical details of the C# language.)

And while you could of course learn the language at this level of detail, it would probably be a lot more beneficial to pick a particular aspect of the C# language to learn about at this detail based on why you want to learn it rather than attempt to understand every aspect of every situation of the C# language.

Taking another simpler example.  If you wanted to learn about world history, you are either going to want to learn about the entire history of the world at a very high and summarized level, or you are going to want to pick a particular era and location.

Having a goal

The next thing you need is a goal.  There is no point in learning something just for the sake of learning it.

goal thumb Learning to Learn

Your goal might be to build something with the new technology or to be able to write about it competently or even just to be able to speak fluently on the subject matter.

I’d encourage you though, in choosing a goal, to make sure that your goal is something that can be measured and qualified in no uncertain terms.  If you are learning a new technology, make a goal of building something with it.  Even if it is something that will be thrown away after it is built.  It will both serve to reinforce what you have learned and to validate the subject matter and scope you have chosen.

Another important goal I always try to have is to teach whatever I am learning.  I have found that the only way to truly learn something (and by this I mean to have that true in-depth knowledge of a subject, one that does not fade with time) is to teach it.

Present at a local user group, write a blog post, tell your spouse about it.  (My wife loves hearing about programming languages and technology.  Sometimes she’ll even drop what she is doing just to make sure she is paying full attention and not missing one intricate little detail about all the exciting things I am telling her.)

When you define a goal, it is also important to define a deadline.  Doing this will help you refine the goal and recheck the scope of your subject.

It does no good to learn something without the ability to practically apply it.  By having an actual deadline, you ensure that what you are trying to accomplish will fit into the timeline which will be required to make it useful to you.

The important point is to have at least some goal for your learning endeavor.

Finding resources

After you know what you are going to learn and you have a good idea of how you will measure your achievement of the learning, you will undoubtedly need to find some resources for proceeding with your plan.

books thumb Learning to Learn

At this step, you’ll also want to start creating an outline or mind map or some other way of organizing exactly what things you decided to learn about when you defined your scope.  I’ll talk more on that in a moment.

Depending on the subject matter you are trying to learn there may be a large amount of resources available or very few.

Usually, the best way to get started on finding resources is a search on the internet.

Often we are trained to only turn to one type of medium as a resource for learning when there are so many more.  Consider all the types of resources that may be available on a subject:

  • Books
  • Videos
  • Magazine articles
  • Blogs
  • Podcasts
  • Webpages
  • Field experts
  • Other who are also looking to learn the subject and may have already gathered resources together

As you are compiling the resources you may draw upon, you should also be looking to figure out how others have taught the subject you are attempting to learn.

I often will look through the tables of contents of three to four books on a subject I am trying to learn and draw my own outline of how I will cover the material from the overall picture I get from how others have broken down the topic before.

Another great source is to look at actual college courses or other courses on the subject and see how the material is broken down there.

Sometimes you’ll find though that just asking someone knowledgeable about the subject will be your best avenue.

The end of this step should result in an actionable plan that outlines what you are going to cover and how you are going to cover it along with a general idea of the resources you will use to do so.

Putting it into practice

I’ve found the most effective way to actually learn something once I know what I am going to learn and where I am going to get the information from is to study and do at almost the same time.

skate thumb Learning to Learn

Now “do” can be a very broad term when it comes to learning, so you’ll have to decide for yourself what exactly this constitutes.

If I am learning a new programming language, or framework, I’ll try to actually creating demos of what I am learning, by working through my own examples.

At the same time, I may be “doing” by reorganizing information either to prepare a talk or course on the subject that I will be teaching.  By attempting to take the information I am getting and restructure it in a simpler way that I can explain to someone else, I am forcing myself to undergo the process of learning instead of just reading.

Albert Einstein is quoted as saying

If you can’t explain it simply, you don’t understand it well enough.

So if you want to understand something “well enough,” work from the goal of being to explain it simply.

So much more

In a short blog post, I can’t cover everything there is to know or that I have found to be true about learning to learn.

A whole volume of books could easily be written on the subject, but what I have outlined are the basics of what I generally do to learn something quickly and effectively.

I wanted to touch on very briefly some other aspects of this subject that I have thought about, but not covered as thoroughly in this post.

Immersion

One excellent technique for learning something is to immerse yourself in it.  If you really want to learn a programming language, start doing everything in that language.

If you want to learn to use keyboard shortcuts instead of mouse clicks, try taking away or limiting your mouse use for some period of time.

Immersion is a somewhat painful, but effective and fast way to learn new material.

Pair programming with newbies is an excellent example of immersion.  Let them jump right in and start coding with someone who knows about the system.

Many foreign language classes also use this technique by forcing students to only speak in the language they are learning when in class.

Try and fail

While I think your aim should not be to learn knowledge by trying and failing, it is a great source of wisdom.

Let me clearly define the difference between the two, before I move on.

Knowledge is what you know that can be put into words and consists primarily of facts.

Wisdom is akin to common sense.  It is often not able to be put into words and cannot be fact checked for accuracy because it is a set of principles that rule your behavior and thinking.

You really shouldn’t try to learn something the painful way if you can just find out the answer to something by asking someone or looking up the information.

(Don’t try and pass a multiple choice test by try and fail.)

On the other hand, go ahead with the imperfect knowledge that you have and try to apply it to something; if you fail figure out why.  This process will produce valuable learning.

In short, learning through try and fail can be good, but only when it teaches us lessons that we couldn’t learn otherwise.   There is a big difference between educated failing and fumbling your way through life unprepared.

It is not necessary to learn that a stove is hot by touching it, but the best way to learn to start a business is probably to fail at one first.

Skills mastery

Everything I’ve outlined so far, has been on the basis of acquiring general knowledge on a subject, not about becoming better at an art or skill.

What I mean by this is there is a difference between being an expert golfer and knowing a great deal about the proper golf technique.

Often a prerequisite for skills mastery is the acquisition of a large amount of knowledge on a subject, but having a large amount of knowledge on a subject does not an expert make.

The same goes for being a better programmer.

You could learn 10 different programming languages and 20 different technologies and frameworks, but simply having all this knowledge doesn’t mean you are good at applying it.

The old adage that practice makes perfect is appropriate in this situation.

There simply is no substitute for experience.  And experience is obtained through practice over time.  (Although, at the same time practicing without the proper knowledge in place can put you in a worse position than not practicing at all.  Ever heard of someone having to un-learn their golf swing?)

For more on this topic check out the Dryfus model of skill acquisition.

Changing your thinking

The key to self educating is to be able to change the way you think about learning.  You should no longer see yourself as a student to be taught, but rather as a researcher gathering together information on a subject.

thinking thumb Learning to Learn

This way of thinking about education tends to go against what many of us have been taught by formalized education systems.

It takes a bit of courage to step forward and proclaim yourself as your own best educator, but the rewards of doing so are immense.

  • John Erlang

    Opposites are two extremes of the same thing. A good programmer and a bad programmer differ only by a manner of degree.

  • Pingback: Real education : Couldn’t help but archive this link | Ruminations .. since 1975()

  • FrenkyB

    My experience with learning is that it is good to repeat things loudly and write them down -> that way I involve writing and speaking in the learning process, not just thinking about the subject. Yes, you’re right about teaching someone else what you’ve learned is also one way of learning. From the book Pragmatic programmer: there was a guy who always caries a rubber duck with him, while programming -> he was explaining things to that rubber duck.

  • matiaskorn

    I completely agree with you. When i was taking an education where the degree of skill was very low, i learned that i am responsible for my own education. Many from my class completed the education without learning what programming is really about. 2 years of 6-8 hours of education wasn’t enough, because of the teachers was very bad, both skillwise and at educating. Other then that, only a few was actually “real programmers”, had “the mind of a programmer” of the students. From the early beginning of the education i learned that if i wanted to learn something i should learn it myself and yes, i learned abit from the teachers and got some good discussion with them.

    When i get home i will write that all your methods in practice for learning and give you a feedback in 3-4 weeks about my opinion and impression of doing it this way :)

    Looking forward to it.

  • rkachowski

    “Muad’Dib learned rapidly because his first training was in how to learn. And the first lesson of all was the basic trust that he could learn. It’s shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult. Muad’Dib knew that every experience carries its lesson.”

    http://en.wikiquote.org/wiki/Frank_Herbert#Dune_.281965.29

  • Cédric

    This article is awesome, hoping it will help me improving in Java programming and playing Guitar. My own-experience is to insist on being well surrounded : Some person can be destroying you (breaking your self-confidence), other are encouraging you. Your attitude face to critiscism is also important. Don’t listen the voice in your head telling you you are not able to. Face to a problem, divide it, make one step after another one. Face to cristicism, be tolerant with yourself.
    Thanks again for this invaluable article !

    • http://simpleprogrammer.com jsonmez

      Thanks! Good point about being well surrounded. Gotta choose those friends wisely.

  • http://flowchainsensei.wordpress.com flowchainsensei

    Nice article! I’d say that the goal determines the scope, however?

    – Bob

    • http://simpleprogrammer.com jsonmez

      Thanks, I agree. I arrived there a bit backwards in retrospect.

  • Eric

    How much important do you consider the university? I’m thinking of dropping out, the courses aren’t so useful and I’ve learnt much more studying by myself

    • http://simpleprogrammer.com jsonmez

      I definitely don’t want to advise anyone to drop out of a university without knowing the exact details of your situation, but I will say this. I think it is important to finish what you started.

      I would at least finish your current year doing as best as you can. Practice self-learning the material that is scoped by the school for you.

      After that time, consider whether you still see the value in going forward and what direction to take. This takes emotion out of the equation and gives you a strong consideration and trial period.

      • http://precisioncode.wordpress.com preciseprogrammer

        Also never underestimate the opportunity to be involved in a university community. Even if you can’t learn from the teachers you may be able to learn from the other students, maybe there’s a programming society you could join.

  • Pingback: Dew Drop – September 24, 2012 (#1,407) | Alvin Ashcraft's Morning Dew()

  • Guilherme

    Congratulations on your post!

    I couldn’t agree more with you on the following paragraph!

    “The key to self educating is to be able to change the way you think about learning. You should no longer see yourself as a student to be taught, but rather as a researcher gathering together information on a subject.”

    Nowadays we are more inclined to “research” more than wait for other giving us the answers. We have to be pro actives to learn and improve ourselves.

  • http://crisnoble.com Cris

    What tools do you use to mindmap your learning plan when you decide to pick up a new topic?

  • http://theinevitablechanges.wordpress.com TheInevitableChange

    Reblogged this on theinevitablechanges.

  • http://twitter.com/configbytes ConfigBytes (@configbytes)

    he best audio course I ever took was “Accelerated Learning” by Brain Tracy. It parallels with what you are talking bout here. The traditional way of learning does not always work for some people. I am also self taught.

  • http://nasmyftp.wordpress.com ivanfromrussia
  • Pingback: Learning to Learn « Performance by Design()

  • Pingback: 20120924 | umgeher's changelog()

  • Dyane

    A very helpful article. A while ago, I was wondering whether this is my field or not. I took bachelor of science in Information Technology, I really don’t like my course, It’s my father’s choice. I’m not really good in programming..or should I say, I really don’t like it. The only programming I understand is PHP, I can understand it’s code, but I don’t know how to write one. I can debug errors, but I don’t know how to make a whole one. I don’t have my own code..I decided that I’m not really into coding. But now…thank you for this wonderful blog..it really help me a lot..it gives me courage..I should now learn how to learn how to learn :) Thank You! Godbless

  • Pat

    The presentation seems really one sided as if learning is just gathering information for you to absorb. Computer languages and history are well understood and really just low hanging fruit to make a point. How about going deeper? How about all of the hard sciences? Lab work? Medicine? Socratic method?

    The list goes on. Placing yourself into a setting to learn has value. Do I really want my doctor to have learned just from books and WebMD and has passed the boards? Is it possible for those doing drug research to have learned everything from a book? I’m not sure you can teach someone an MBA if they all they need to do is gather information and not work in a team setting and make presentations.

    There is value to having people working together whether it be learning or tackling world problems. People and society are better for it. The educational system is a permissive environment to make mistakes and learn.

    Making people own up to their responsibility for learning is definitely worth while topic. I’m just not ready to dismiss the formal educational system particularly at the graduate levels.

    • http://simpleprogrammer.com jsonmez

      Good points. I am not trying to say that traditional education has no value, I am mostly saying that we should take responsibility for our own education.

      Obviously in the doctor case, you have to have some hands on experience. And you can’t acquire that all by yourself.

      The same would apply for many fields of practice, but it doesn’t mean a majority of the learning process can’t take place outside of institutions.

  • Smojack

    (My wife loves hearing about programming languages and technology. Sometimes she’ll even drop what she is doing just to make sure she is paying full attention and not missing one intricate little detail about all the exciting things I am telling her.) – Hah!

  • Pingback: Daily Leadership Thought #75 – Learn Something New Today « Ed Robinson's Blog()

  • Pingback: Learning to Learn | the pluralsight blog()

  • Pingback: Learning to Learn « Identityguru's Blog()

  • Pingback: Ellas 2.0 » Blog Archive » Toma el control de tu educación()

  • Pingback: Toma el control de tu educación « Mulleres de Teo()

  • http://devlike.com devlike

    Well done… but wow long long text.
    but at the end i say “true & yes” to every word! :)

  • Pingback: Why My Kid is an iKid « Making the Complex Simple()

  • Pingback: Learning to Teach | Narcissistic Me - Happy Fun Development()

  • Pingback: You’re Only a Beginner Once « Making the Complex Simple()

  • Pingback: The 4 Most Important Skills for a Software Developer « Making the Complex Simple()

  • Pingback: The 4 Most Important Skills for a Software Developer « Sayyed Mohsen Zahraee()

  • Pingback: 软件开发者的四大“看家本事” | 博客 - 伯乐在线()

  • Pingback: 软件开发者的四大“看家本事” | Stone 的地盘()

  • Pingback: Learn how to learn | Unknown unknowns()

  • Pingback: Ce înseamnă să fii dezvoltator Web? | .web()

  • Pingback: 软件开发者的四大“看家本事” | 极限手指()

  • Dewayne

    Great post, you’re style of writing is different, but you put into words some excellent thoughts. I’ll share this with my associates in the Patriot community as we’re consistently having to task ourselves with subjects we are unfamiliar with to teach one another.

  • Rizwan Sayani

    Amazing post that should be given in paper to every school when every kid walks in to the door for every grade and should be read everyday of the week.

    • jsonmez

      Thanks!

  • Pingback: Learning to Learn | Effective Education | ...()

  • Pingback: Do Software Developers Really Need Degrees? | Simple Programmer()

  • thejcurious

    Solid work! More here than that 20 Hours guy (read: you should write a better book). I appreciate the directness and brevity of the blog. I might take this information and put it into a template for the various activities. I’m working on AI–relatively new to it. I have broken that down into 6 major areas I need to develop and now I need strategies on these areas. To build intelligent machines I need to use intelligent frameworks. Keep up the good work!