Learning is fundamental to modern life, and learning continuously is fundamental to modern technology fields. Since learning is so important, I'll devote the next few posts to exploring different aspects of learning, and hopefully tie them into software development. Let's start with learning how to learn.
I'm certainly not an expert in educational pedagogy, so I'm going to depend exclusively on my own experience here. However, I have been learning my entire life, and those who know me know I have a passion for it. Over thirty years of experience should count for something, and I want to explore learning how to learn, not how to teach.
I'll start with this: you probably won't learn how to learn until graduate school. I'm not saying you have to go to grad school to figure out how to learn. I'm sure there are plenty of people who didn't go to college and figured it out anyway. But that's not my own experience, and I'm willing to bet that you're much less likely to learn how to learn if you don't go to grad school. It is, after all, one of the major focuses of grad school. Whereas, there are innumerable reasons to not go to grad school, and a desire to learn how to learn is not one of them.
So why don't we learn to learn until grad school; why not learn it earlier? First of all, we are too busy learning what to learn to spend any time learning how to learn. The entire curriculum is laid out for students from kindergarten to college graduation. Sure, that curriculum varies from school to school, although less so now with education standards mandated by the government. And in secondary and undergraduate education, students get more freedom to choose their own classes and fields of study, although schools always require certain amounts of gen-ed subjects. If you look back at your own path through school, what you learned in all of those classes, or what you were supposed to learn, was predetermined. Whether you picked the classes or not, you read the assigned books, did the assigned homework, were lectured on the class material, did projects on the class material, and took test after test after test.
I'm not criticizing this educational structure or the dedicated educators that work so hard to teach our students. I'm just saying this is primarily how I was taught in school, as was almost everyone else, since that has been the basic model of education since the industrial revolution. It's practically a necessity to teach this way if the premise is to teach 20-30+ kids per class period (or 100+ students in a college lecture hall) under the constraints of federal government and school district level initiatives to increase standardization and testing. It's extremely difficult to teach under this model and not fall into the empty vessel mode of teaching, even if the teachers are consciously trying to avoid it. The empty vessel would be the student's head, and the teachers pour in the knowledge that they possess, filling the empty vessel. This mode does assume a great many things about the vessel - that it's not already full of other thoughts, isn't closed off to the knowledge being imparted, doesn't have any leaks, and isn't moving around randomly from various other distractions. At any rate, this mode of teaching doesn't leave any room for learning how to learn.
It takes a special kind of teacher, and a great deal of effort to avoid the trap of teaching as if students are empty vessels. I had a few teachers during high school that I'll always remember. They leave a lasting impression. They change the way you think about the world. One teacher in particular that did this for me was my AP Chemistry teacher. She would let us design our own experiments as extra credit, and as long as we did them safely, we could do almost anything. One of my experiments was to make nitrogen triiodide, a highly unstable contact explosive. I only made an amount small enough to be safe, but boy was it fun to make it and then set it off. Actually choosing our own experiments made it exciting and motivating to learn more, but those fleeting moments were the closest I came to learning how to learn before grad school. They were the rare exception, while the norm was to be taught the things we should know without any significant digressions.
That gap between student-driven lessons and the empty vessel model highlights two necessary conditions for learning how to learn: motivation and curiosity. If you aren't motivated to learn something by your own volition, you won't pursue it with the focus to fully absorb it. If you don't go through the process of discovery born of curiosity, and instead are just handed the information in a lecture, you won't make enough mental connections to retain the things you are being taught.
How do we cultivate these qualities?
We don't have to. We have to reacquire them. Do you remember your life before school, or even the first couple years of school? I don't remember much, but I have a couple of young children that show me daily what life for me was like back then. They are constantly discovering new things because everything is new to them, and they love it. They laugh out loud and bounce around like jack rabbits when something clicks. They get engrossed in a project and won't come to dinner, even if it's macaroni and cheese. They will not go to bed. Don't get me started about that. I think the main reason they won't is that they would have to stop learning, so they put it off as long as possible.
My major problem over the next 15 years is to not stifle this love of learning. That's it. The most important thing I can do is not get in the way. For the rest of us, we have to get that love of learning back. We went through years of being spoon feed material and then being tested on it relentlessly. We got bored. We lost our motivation. We forgot about our curiosity. College is a time to start rediscovering that love of learning, but it isn't enough.
You see, there still isn't enough time during undergrad to learn how to learn. Even though you get to choose what to study, the classes are basically structured the same way as they were in high school with a lot more work to get done. Then there are all of the... well... social obligations. It wasn't until grad school that I had the necessary time and academic schedule. Specifically, I had less classes, and half of those classes were completely self-directed.
One class that comes to mind was called "Grey Box Systems," taught by David Wood at UW-Madison. There was no textbook, no lectures, and no tests. What we did was read and discuss recent papers on chip-multiprocessors and then do a semester research project of our own design. We even decided as a group which papers we discussed. This class was hands-down the best class I ever took, and not because of what I learned, but how I learned. In this class more than any other, I learned how to think critically, how to analyze, and how to research. I spent more time on this class than all the previous semester's classes put together, and it was worth it. I was learning how to learn.
More importantly, I was learning how I learn. That knowledge is critical to improving as a software engineer. The technology is constantly changing. The tools I need to do my job are constantly moving. I need to be constantly learning to stay in the game. I need to know how I learn. That may be different than the way you learn. If you don't already know, you should learn how you learn. You can start by picking something you're curious about, something you'll be motivated to learn, whether it is related to your career field or not. Then make the time to learn it. Along the way you might just learn a thing or two about how you learn best.