Developer Tea

5 Learning Anti-Patterns

Episode Summary

In today's episode, we're getting back to the bread and butter of learning and talking about the ways we learn and talk about five different anti-patterns for learning.

Episode Notes

In today's episode, we're getting back to the bread and butter of learning and talking about the ways we learn and talk about five different anti-patterns for learning.

Today's Episode is Brought To you by: Linode

Instantly deploy and manage an SSD server in the Linode Cloud. Get a server running in seconds with your choice of Linux distro, resources, and node location. Developer Tea listeners can get a $20 credit and try it out for free when you visit: linode.com/developertea and use promo code: DeveloperTea2018

P.s. They're also hiring! Visit https://www.linode.com/careers to see what careers are available to you.

Get in touch

If you have questions about today's episode, want to start a conversation about today's topic or just want to let us know if you found this episode valuable I encourage you to join the conversation or start your own on our community platform Spectrum.chat/specfm/developer-tea

🧡 Leave a Review

If you're enjoying the show and want to support the content head over to iTunes and leave a review! It helps other developers discover the show and keep us focused on what matters to you.

Episode Transcription

What was the last time you evaluated the way that you learn? Not the things that you're learning, not the things that you're planning to put into your list of, you know, languages that you can put on your resume. I'm talking about the way that you go about learning. This is one of the very first topics we talked about on the show and we're kind of getting back to the bread and butter in today's episode. Instead of talking about how you should be learning in today's episode, we're going to talk about some anti-patterns for the learning process. My name is Jonathan Cutrell and you're listening to Developer Tea. My goal on this show is to help driven developers like you connect to your career purpose so you can do better work and have a positive influence on the people around you. We have five anti-patterns today so we're going to get straight into the episode before we do. I want to encourage you to subscribe in whatever podcasting app you use. In particular, you can use this as kind of a test or a trigger. If you hear something on this episode that you think is particularly useful, then use that as your judging criteria. If you think that nothing that you hear in this episode is worthwhile, then I don't blame you for not subscribing, but if you do hear one thing that you think is worthwhile, then I encourage you to subscribe because I hope to provide value to you in future episodes and the best way to ensure that you don't miss out on those is to subscribe. All right, so let's jump into these five anti-patterns for learning. Number one, staying up late or otherwise, filling every spare moment with some kind of active learning. You know, I've done this and most people have, especially as a young developer and while I was in school, a lot of the time I thought that studying meant consuming some kind of learning material. Whether that learning material was a video or a book or some kind of lecture, my idea for what it meant to learn started with someone teaching a subject to me, whether the person was actively teaching it directly to me or if I was consuming it passively or asynchronously or in whatever way that I was consuming this content, I felt like the only way that I could say that I was actively learning was when I was consuming something. So this is incredibly untrue, a related version of this is cramming, trying to push things into your brain. And as it turns out, this is not a good way to learn. Instead, we should be treating our brains for what they are. Brains are a physical part of our bodies and there are physical processes that have to take place for us to learn and those processes do not happen at whatever speed we choose. As it turns out, learning is best done when we give our brains time to recuperate after that learning session. It's not exactly like a muscle, but in a lot of ways you can think of it that way. Providing yourself some time to recuperate actually aids the learning process and sleep is incredibly important for this particular thing. I don't try to give you really specific practices, but if there is one specific practice that I wish all developers would pay more attention to, that would be sleep. Sleep is a key part of learning new information. So I encourage you for this first anti-pattern instead of trying to fill every spare moment with trying to learn something new, give yourself time in between your learning sessions. Okay, anti-pattern number two. Trying to learn only one very focused thing at a time. This may seem antithetical, it may seem even unexpected or counterintuitive, especially considering how often we talk about focus on this show. Another one of the earliest topics that we discussed on Developer Tea was focus. But as it turns out, when you are learning, one of the best things you can do is interleave your learning of multiple subjects together. The science backs this up and I can't tell you exactly why this works, but the science supports it. There are some reasonable theories as to why this works. For example, as you're learning one subject, you can compare it to another subject. It gives you sort of a something to grasp both subjects by. Rather than hyper focusing on the one, you're allowing yourself to ping pong between the two and that gives you contrast. Another and perhaps the more prevailing theory is that as you jump away from content, when you return to that content, whatever the content is, you're forcing your brain to retrieve something that it has kind of moved away from. That retrieval process, which we will talk about quite a few times on today's episode, that retrieval process is key to learning as well. As you're training your brain to retrieve information that you haven't actively been using, this is kind of a simulation of how you would use that information in real life. Very few times, do we use only one small kind of narrow bit of information that we've learned in the past? We usually are using that information amongst other pieces of information. Perhaps all of the time we are using information in concert with other information. It makes sense for us to try to simulate some of that in our learning process as well. How many things can you learn at once? I was unable to find a really specific number for this, but I would encourage you to try two or three things and see how it works out for you. Certainly, there's probably a cognitive limit as to how many things you can interleave before you truly don't have enough focus to learn any of those things. How you should interleave these things, this point is not saying that you should read one page from one book and then read one page from another book. Instead, it's about having focused learning sessions, but not multiple focused learning sessions in one topic at the exclusion of other topics. So in other words, when you're learning one topic, stay focused for that learning session. Whatever that learning session looks like, maybe it's you reading a chapter in a book or you're actually applying this information and then move to a different subject. That is the process of interleaving. Not trying to learn things quite literally at the same time, but instead more in series or sequentially with each other. Okay, we've got three more anti-patterns that I want to get through, but before we do that, I want to talk about today's awesome sponsor, Lynneau, Lynneau has returned to be a sponsor of Developer Tea and I'm very excited about it because Lynneau cares about developers. They are a company of developers and they build tools for you. For example, they're beta manager. This is at it's available at cloud.linner.com. This is built on React and it's backed by their public beta API. You can go and see all the stuff. They have all the stuff open sourced on GitHub. So the things that you would be using to manage your servers, you can go and see and even contribute to on GitHub. Lynneau allows you to launch an SSD server in the cloud for $5 a month. This is their starting plan. It's a gigabyte of RAM. For $5 a month, they have high memory plans that start at 16 gigabytes. They have a seven day money back guarantee. You can get a server running in under a minute and all of their billing happens on an hourly basis and they have a monthly cap on all their plans, all their out on services. They even have 24-7 friendly support and phone support available. Go and check it out. linner.com slash Developer Tea. They're going to give you a $20 credits, basically a $20 bill. If you use the promo code Developer Tea2018 at checkout, $20 worth of credit is equivalent to four free months on that starter plan. Go and check it out. linner.com slash Developer Tea. Thank you again to linner for sponsoring today's episode of Developer Tea. So we're talking about learning anti-patterns in today's episode. These are things that you might be doing thinking that they're going to help you learn. We already discussed the first one was staying up late, cramming, filling every moment that you can with some kind of input. You need to take breaks, right? That's the point of that first anti-pattern. The second anti-pattern is trying to learn only one very focused thing at a time, trying to become the master of that one thing before you move on to anything else. You're going to learn much more efficiently if you interleave subjects with each other. All right, so we've got three more anti-patterns. These are, I've given these ones names, and I think they're particularly important to pay attention to. The first one is called waterfall learning. Hopefully you're familiar with the concept of waterfall. If you're not, the concept of waterfall development is working entirely in phases. So you have something like specification phase and then design phase, then build phase, then launch phase. And we're not going to get into whether or not this is a good idea for development, software development, generally speaking. What we are going to talk about waterfall learning and waterfall learning is essentially trying to shove all of your studying into one phase and all of your execution or your testing or your performance into another phase. Now this is similar to the way that schools tend to test students. Right? So we're kind of used to this pattern where we study, study, study, study, and then we have a test. Right? We study, study, study, and then we have a performance. Unfortunately, this is really a terrible way to learn. Learning should be a back and forth process between applying knowledge in some way and then refining that knowledge and then applying it again. A much better cadence would be study, test, study, test, study, test. Because as you're testing, you're using that test as a way of learning and of itself. The process of testing is actually one of the most valuable teachers that you'll have in your learning journey. That's because learning is all about retrieval. We've said that word a few times in today's episode, but learning is all about retrieval. And so the more times that you force yourself to retrieve information, the more effective that learning process will be. That's very general, but if you think about it this way, if you were to consistently test yourself with, for example, flashcards, flashcards happen to be a very effective tool for learning because they're requiring you to retrieve information. This is a much better strategy for you to try to use those flashcards before you ever even know the answers. There's actually some research that supports this. Before you even know the answers to the other side of the flashcard, using those flashcards and forcing retrieval is a much better strategy than staring at the answers. If you have the question and the answer. If you know how to read those questions and answers, this is equivalent to sitting and watching 50 videos on how to, you know, I don't know, how to design something and react. If you sit there and watch all 50 of those, you're not really doing much retrieval at all. So what you've accidentally done is you've created this waterfall learning process where all of your studying, all of your so-called learning, the input phase is happening all at once. And then you're going to go and try to do something with it. And this is the first time that you've triggered that retrieval pathway. The earlier and the more often you can retrieve that information, the more likely you are to learn it. And remember, keep in mind, this is not to the exclusion of spacing those learning sessions out so that your retrieval is not happening back to back. You want to space out those retrievals and interleave them so that retrieval is a little bit more difficult each time. But the last thing that you want to do is stop the retrieval process for an extended period, trying to shove information into your brain. This is not the way learning works. Okay. So that is number three, the third anti-pattern of learning waterfall learning. The fourth anti-pattern of learning is called softball learning. Softball learning. This is learning without stretching to the edges of your ability. The retrieval process, you learning one thing and then constantly retrieving that same thing over and over, eventually that retrieval is no longer causing learning. Instead it's just retrieval. So what does this mean? Well, essentially learning is giving yourself new information that you can retrieve into the future. If the information that you are retrieving is easy to retrieve and you just retrieve it over and over and over, it doesn't really have major benefits to your learning process. In some ways, you're not really learning at all. Instead, start by pushing yourself to the limit. You're testing, you're self-testing or quizzing or whatever retrieval process you use should push you to failure. You should go to the point where you are unable to continue where you fail at something. For example, let's say that you have done a quick overview of a particular programming language. I would encourage you to go and try to write a program with that programming language, even when you have almost no information available. This may make you feel particularly inadequate as a developer, but it's also incredibly valuable because it's forcing your brain to retrieve something that it doesn't yet know how to retrieve. If instead you simply recite some of the things that you learned, that retrieval process is not nearly as valuable as a more difficult retrieval process. That's why we call this softball learning. The idea is that you want the retrieval process to be difficult. The final anti-pattern for learning for today's episode is called Mockingbird Learning. This is simply reciting information that you've just learned for beta. Memorization often masquerades as learning. The problem is if you memorize something while you may have some raw information available, when it comes to actually integrating and using that information and using it in concert with other information, you may not have that pathway created yet. In other words, you may not have full understanding of the information. Mockingbird Learning, just because a mockingbird can imitate the sound of a person singing, for example, doesn't mean that a mockingbird understands music. In the same way, just because you can recite information verbatim that you've learned doesn't mean you understand that information. Instead, a much better way is to rephrase what you've learned in your own words. This is perhaps most effectively done when you take that information and then you teach it to someone else. If you're learning a coding concept, try to translate it into a new semantic domain. This is mean. If you're building, for example, a to-do list. Instead of building a to-do list, try building a grocery list. This will force you to change some of the information, which will cause you to create a different grasp on that information. You're having to go through some kind of translation process. This causes those pathways a little bit harder to travel than just repeating whatever it is that you just heard. And with that, we've reached the end of our five anti-patterns of learning. We're going to go back through them very quickly. Number one, filling every spare moment with active learning, similar to cramming. Number two, trying to learn only one focused thing at a time. Remember we're supposed to be interleaving instead. Number three, waterfall learning. Doing all of your learning without ever doing any retrieval. Number four, softball learning. Giving yourself only very simple things to learn and simple things to retrieve. And then fooling yourself into thinking that you're learning a lot. And then finally, mocking bird learning. It's very similar to softball learning. But mocking bird learning, you could even be reciting very complex things. But because you're not actually understanding the information, you're not going to be able to apply that information. Thank you so much for listening to today's episode. And again, if you found any one thing valuable in today's episode, I encourage you to subscribe and whatever podcasting app you use. Thank you again to Leno for sponsoring today's episode. You can get $20 worth of Leno credit by heading over to Leno.com slash Developer Tea and using the code Developer Tea2018. Now check out. Thank you so much for listening and until next time, enjoy your tea.