Making it through school means you know lots of things. But rarely do you learn how to learn. So then how do you approach learning something afterward – in real life?
Let me share a story. In addition to teaching, I lead a research lab that generates a lot of data. About 5 years ago, I said to the lab "we need to be able to analyze our own data". We have great collaborators and core facilities to help, but we got to the point where we did this enough that the onus was on us to make sure it was right. So I said this to the lab, but nobody listened. So I said it louder, naturally, in case they didn't hear me; "WE NEED TO BE ABLE TO ANALYZE OUR OWN DATA". Again, nobody listened. So I said, "FINE. I'll do it myself". So what to do? How does a chemist, turned biologist, learn computation and programming? The principles I used can be applied to learning anything.
Step 0. Motivation. Before you even begin, you need to understand why you want to do something. This can be intrinsic, meaning it’s something that you want to do for yourself, or extrinsic, meaning it’s something somebody else wants you to do. While extrinsic gets a bad rap, sometimes it's the only way to start. For example, you might need to learn something, begrudgingly, for your job only to then realize it is something you enjoy doing. Motivation for learning doesn’t need to be a grandiose mission; instead, it can be as simple as curiosity. Are you curious about something? Do you want to learn more? For me, my motivation to learn computational tools stemmed from a feeling of responsibility for analyzing our own data (intrinsic). Also, I recognized that a new generation of scientists was being trained with the skills and that having the skills would be required for continued success in my field (extrinsic). OK: you’re going to do this thing. Now what?
Step 1. Plan. You can and probably should just start learning, exploring, diving right in. You don't want to run in place, though, so soon you will need a plan. It doesn't need to be overly complicated. In fact, the simpler the better. To set yourself up for success, identify a two key factors:
👉 when you are going to take on this learning project? If this is something you want to learn, then it might be as simple as carving out a few hours each day, or one day per week, in order to invest in learning something new. Google has an infamous 20%-time rule, where employees invest one day each week learning and working on something completely outside their current project. If your learning project is required for work, then you might be able to devote your working hours towards your new muse. But more likely, you will be learning something outside of your normal hours and need to carve out time. I dove into programming between the hours of 9 PM and 1 AM – after my family went to sleep. Was I tired? Yes. But I was also energized because I was learning. Later, I was able to find extra time over one summer to dive more deeply. Afterward, I slowly spent more and more of my work time carrying out computational projects all while learning.
👉 how you will take on this learning project? In this new digital and data-rich world we live in, tools for learning are more accessible than ever before. While having a teacher and sitting in a classroom was previously the de facto standard for learning something new, this is no longer the case. This was fortunate for me because I would have been hard-pressed to find a class between the hours of 9 PM and 1 AM. How do you find these tools? Everywhere. Regardless of what you want to learn, you can find videos, exercises, quizzes, blogs, articles, asynchronous courses, community-based cohorts, coaches, mentors, teachers, and everything in between. A rich world of resources now exists that enables anyone to learn anything.
With these in mind, make a map for yourself. If you have an idea of where you want to end up, then you can make a plan for how to get there. For me, I wanted to learn programming and data science. So I started with the basics. How do you import a data set? How do you perform exploratory data analysis? How do I set up an environment that allows me to do the things I ultimately want to do? Of course, after the basics, I wanted to start learning more advanced tasks, like modeling, machine learning, and AI. So map out your plan and start your journey.
Step 2. Immersion. Learning resources come in many different flavors. Look for ways to be exposed to the things that you want to learn beyond traditional tools. For example, if you want to learn a new language, you will need to memorize grammar, you will need to practice speaking the language with someone, and so on. These are the obvious things to do. But what about finding a radio station that plays music in the language you want to learn? Or how about finding a podcast from the country where that language is natively spoken, so you can listen to conversations in this language. Or how about learning a little about the country, the food, the art, to be exposed to new grammar and vocabulary. These alternative exposures to the language might not be an obvious way to learn, but they will help your learning. For me, I started listening to podcasts on data science. The podcast style was a series of interviews with programmers, practitioners, and ethicists. Many of the ideas discussed were foreign to me. But hearing people describe them, followed by extra research to look up these terms and ideas, significantly accelerated my understanding of the field. Immersion and access to alternative resources will accelerate your learning.
Step 3. Real-world applications. One of the most important steps is to start with practical, real-world applications from the earliest point possible. Going back to the language example, application of language means speaking from the first day. Some might get caught up in memorizing stacks of vocabulary before speaking. But practicing what you want to learn as soon as possible is key to accelerate your learning. For me, I struggled through importing real data sets for real computational projects, which allowed me to apply what I was learning from the very first day.
Learning from real-world applications is supported by a key idea in education called transfer. The ability to transfer what you learned in an educational setting to a real-world setting is one of the hardest and most challenging tasks for any educator. How do you teach in a way that allows a student to apply their new knowledge to a problem? Given that transfer is so difficult, educators are realizing that learners need to learn from real projects. A secondary benefit of my real-world projects was to learn from data I was curious about and from questions I wanted to ask, which reinforced the enjoyment and motivation of learning something new.
Step 4. Update. Your plan provides structure and a map to guide your learning. Importantly, this map is dynamic and changing. Because when you start, you won’t know all of the resources that are available or the things that you need to know. Therefore, you need to periodically re-assess what you're learning.
Pioneered by a naval fighter pilot named John Boyd, the military has a decision-making framework called the OODA loop, which is an acronym for observe, orient, decide, and act. This framework allowed Naval fighter pilots in dogfights to make rapid-fire decisions under high-pressure settings. But fundamentally, it is a decision-making loop, because decision-making is not a linear process. Decision-making is updated when you have new information.
Education is not a linear process: there's no end at which point you are done learning. The learning environment is dynamic, and so should your decision-making about your own learning journey. Like the OODA Loop, you need an learning loop: make a plan for where you are going, immerse yourself and find real-world project, then update your plan with new information. And so the loop continues. Updating your learning plan and learning journey ensures you are spending your time on the most important things, and the things that you want to spend your time on.
So how is my own journey into programming? Not bad. But I still have a lot to learn.