Often times you need to learn a bunch of things together for any of them to make sense, and it isn't until you have a firm understanding of what they are and how they interact that you can actually start to do meaningful things with them. Programming has all kinds of things that work this way. Take functions for example. Before you can really understand how to use functions, you need to learn about call and return semantics, variables, arguments, parameters, scoping rules, and the call stack. Not only do you need to know what these words mean, but you also need to know what the things do and how they work together in the context of a program.
The whole time that you're figuring out this or that piece of the puzzle, you'll have questions about how something works that was mentioned in passing but will be covered later, or how that thing relates to this other thing, or what the thing you're learning right now will behave in that other context. Everything is being revealed in little bits and pieces, and it's hard to see how it all fits together to make the final picture.
When you're starting out learning something new, it all seems like a mass of confusion, a big pile of pieces with no obvious rhyme or reason to it. Only after working hard at the puzzle, organizing the pieces, turning them over in your mind, connecting them together, shifting them around to try them out in different places, do you start to get a sense of how it all comes together.
Usually you'll reach a point where things start to click, and the pieces start to fall into place. Progress happens faster, and the overall picture becomes more and more clear. Once you've reached this point, it's pretty much smooth sailing, but how do you get there? The first steps in learning anything new are such a slog, and if you've been out of school for a decade or more, you're probably well out of practice or don't want to learn yet another new technology to stay current.
Think back to how you learned as a kid, or how your own kids learn on a daily basis. I'm not talking about what they learn in school, either. I'm talking about the society they grow up in and the technology they're surrounded with that they have to learn how to deal with to survive. The world is constantly advancing, and kids are dropped into that rushing stream of change totally unprepared. Yet they learn enough fast enough to become the next generation’s researchers, inventors, and entrepreneurs.
We can capture that ability at any age, if we remember (or do not forget) how we did it the first time, and we can do it better with age because we already have a wealth of experience to draw from and prior knowledge to connect to. So let's think about how kids routinely learn all kinds of new things that we find hard and tend to resist as we get older.
NecessityLet's start at the beginning with things that we all take for granted. We are born into this world knowing absolutely nothing. We immediately need to learn how to breath, and soon after that, how to drink. We learn the smell, touch, and sound of those giant beings that provide us with food, warmth, and safety. Over the next few months we develop better eyesight and start learning about the world around us. As we gain strength and motor control, we learn to sit and then crawl and then walk.
The earliest developments may be instinctual, but as babies progress they are undeniably learning. By the time they are saying their first words, they have learned to do some incredibly hard things for their age and ability, and they are not learning these things for the hell of it. They are learning because they must.
If they are to survive, they need to learn the basics and move on to the harder stuff. They don't think about it this way, of course, but they still need to learn to do the things they want to do. If they want to not feel hungry, they need to learn to eat. If they want to reach their toys, they need to learn to crawl. If they want to communicate their needs and desires with their parents, they need to learn to talk. If you can create a need to learn something new that's half as strong as these needs, then you have found a real incentive to learn, and you will most likely succeed.
Every kid learns something at an early age that most adults find incredibly difficult. They learn a language. Within a matter of a few years they go from having no speaking ability whatsoever to speaking fluently. If they end up learning a second language later in life, most likely it will take longer and they won't learn it nearly as well. Not that there's anything inherently more difficult in learning a second language, as children who grow up bilingual show, but there is something unique about that first language that helps kids learn it especially quickly.
How can all of these kids learn something as difficult and complicated as a language, especially if it's as inconsistent as English, in such a short amount of time? Immersion. They live, eat, and breath their mother tongue from the moment they're born, so they can't help but absorb it. They're practicing twelve hours a day or more through hearing speech, trying to understand it, and speaking it every waking moment. With that amount of practice, it's no wonder they pick up their first language so rapidly.
Other things kids are immersed in every day include social behaviors and technology, and they pick those things up just as quickly, not always with our approval. It's particularly amusing to think about the types of technology that kids grow up with and learn with ease simply because they never knew things were ever any other way. Kids today are surrounded by touch screens, smart phones, and information at their fingertips. That's the world they're learning every day.
We can learn things more quickly as well by finding ways to make those things more a part of our life or allowing ourselves to be immersed in them. Do you want to learn a new programming language or framework? Join the community associated with it. Ask questions, make contributions, and listen to those with experience. Do something with the language everyday, and before long you'll have picked up more knowledge than you ever expected. Simple continuous exposure to something new goes a long way.
If there's one thing that children love to do more than anything, it's playing. When they're not being made to sit in class, be well-behaved, or go to bed, they will most likely be playing with something, even if that something is only their imagination. Kids love to build, draw, play games, and pretend. It may seem like they're just having fun, but they are most certainly learning as well.
When kids build and draw, they are developing their creativity and figuring out how our physical world works. When they play games, whether that be sports and other physical games or puzzles and board games, they are learning about strategy, tactics, and what their bodies and minds are capable of. When they are playing pretend, they are working out how to interact with other people and experimenting with different ideas about life and the culture they live in.
Those are all extremely important skills to learn, and making them fun through play makes the whole experience more enjoyable and more memorable. Kids benefit greatly from play, and we would, too, if we allow ourselves to indulge in it. When you're learning, find ways to make it a game. Forget about the drudgery of studying books and documentation for a while. Take the concepts and ideas and do something fun with them. Think of a project all your own and figure out how to build it with what you're learning. You'll learn how things work better, you'll remember it better, and as an added bonus, you'll have an example to refer back to if you need it.
Last weekend my wife caught my son experimenting with markers...on his legs. They were nontoxic (the markers, not his legs, although I think his legs are nontoxic, too) and he wasn't vandalizing the walls or anything so she gave him a piece of paper and left it at that. He happily continued his body artwork. I'm sure he learned a great deal about the properties of skin as a medium for marker drawings.
My daughter used to love playing with rocks in the sink. She was constantly collecting interesting looking rocks, and they congregated in the bathroom where she would meticulously clean them all with an old toothbrush. She was interested in seeing how their appearance would change from getting cleaned and getting wet. Then they would return to their drab colors once they dried. She was learning about some of the physical properties of water and light.
Kids are experimenting with their physical world all the time, and believe me, they are not at all worried about messing it up. Have you ever seen a four-year-old with a scissors and a sheet of paper? I bet you haven't because those three things cannot coexist for more than ten seconds. It's an unstable configuration. Kids haven't developed the fears of failure and embarrassment that we have, so they experiment freely, trying all kinds of things that wouldn't even occur to us. Many times they stumble into surprisingly insightful discoveries.
As adults we may be a bit more careful with our experimentation, but we should not forget how extremely valuable it is and not worry so much about messing things up. Making a mess and figuring out how to clean it up can be a great learning experience. Working with something first hand, molding it, bending it, applying different things to it, finding out where it breaks, gives you powerful experiences that will last far longer than what you'll read in books.
When kids come across something that they have never seen before, their first reaction is not generally one of disbelief, but one of amazement. It only takes them a moment to accept that this new phenomenon is possible and reject any previously held beliefs that can't explain it. That's why it's so much fun to show kids new things.
You mean I can just blow through this little loop and bubbles come out? Let me try that!
You mean you can keep throwing those balls in the air and keep it going indefinitely? Do it again, do it again!
You mean I can turn this nozzle and water will come spraying out and I can get you soaked? Lemme see that hose!
Kids discard incorrect ideas all the time, with everything they come in contact with. They learn at an early age that everything falls to the ground, but when they see some things that don't, like planes, birds, and helium balloons, they readily accept it and adjust their thinking. As they get older and learn more about physics, chemistry, and biology, they are constantly revising their ideas of how things work and what is possible.
They easily adjust to new technology because they can reject an older interface for a new one without any significant effort. Even if the old interface had been around for years, kids are so used to changing their world view that new interfaces and new technologies don't phase them at all.
On the other hand, we tend to have trouble adjusting to new technology as we get older. We hold on to what we already know and fight off new ideas that would disrupt our carefully organized thoughts. There's a lot of legacy stuff clogging up our heads that we've invested a lot of time in learning. If we can let go of the past, even if it was the way we always did it before and it served us well, we'll be able to learn new things more easily. The old experiences and the fundamental concepts are worth holding onto because they will endure in new contexts, but we should realize when the details have become irrelevant to the current state of the world and discard them.
Kids learn an incredible range and depth of stuff in a relatively short period of time. We could certainly learn a thing or two about how they do it. So the next time you're faced with learning something new and difficult, remember how you learned things as a kid. Create a compelling need, immerse yourself in it, experiment without fear, reject old world views, and for Pete's sake, have some fun with it.