A month or two ago, we discussed the . That article focused on people see Haskell as challenging and why they shouldn’t. Today we’ll pick up on some of the threads of that conversation. We’ll explore the of learning Haskell (and other things). We’ll examine some general ideas on learning and discuss how to apply them to programming. Intimidation Factor of Haskell why how Warren Buffett and Compound Interest There’s an oft-repeated line on productivity about Warren Buffett. He says he reads at , and this is one of the major keys to his success. Knowledge, according to Buffett, is like compound interest. The more you acquire, the more it accumulates and is able to build on itself as you make more connections. least 500 pages a day The of this statement is fantastic. I’ve found it rings true as I explore different topics. I have seen how my knowledge has begun building on itself. And yet, the is often misunderstood and misinterpreted. This leads people to have a difficult time implementing Buffett’s principle. why how The simple fact is that the average person does not have time to read 500 pages a day. First, if he reads so much, Warren Buffett is likely an accomplished speed reader, so he needs less time. Second, he is in far more control of his time than most other people due to his wealth. In my current job as a software engineer, I cannot spend a full 80% of my working day on “reading and thinking”. I would have some very unhappy teammates and project managers to deal with. The average person will see this advice and decide to start reading a ton outside of working hours. They might even succeed in hitting 500 pages a day…for a couple days. Then of course life gets in the way. They won’t have time over a few days to do it, and they’ll drop the habit. A Better Application So how do we achieve the compound knowledge effect? The real misinterpretation I find about this advice is this. The key factor in compound interest is . Making contributions will have rewards later on. Of course, big, repeated contributions will have major rewards as well. But if the investment causes us to give up the habit, we’ll be worse off over time. time, not average investment small, repeated major Once we accept this idea, we can apply it to other topics, including Haskell programing. We might be tempted to devote an hour every day to learning some particular Haskell concept. But this is . It is far easier to devote at least 15 minutes a day, or even 10 minutes a day. This will ensure we’re going to continue learning. On any given day, it can be hard to carve out a full hour for something. Your schedule might not allow that contiguous block of time. But you should always be able to find a 15 minute block. This will dramtically lower the barrier of starting each day, so you’ll be more likely to succeed. often unsustainable In keeping with the compound interest principle, progress is . By committing to 15 minutes a day on a couple different projects, I’ve made a ton of progress. I’ve accomplished far more than if I had tried to carve out an hour here and there. I was only able to start writing online because I devoted 20 minutes a day to writing. Once I stuck with that for a month, I was in good shape. momentum based Josh Waitzkin and Confronting Difficulties Another of the most important ideas about learning I’ve encountered comes from , by Josh Waitzkin. He is a former chess prodigy and grandmaster turned world-champion martial artist. He describes a story that was all-too familiar to me as a fellow childhood chess player. He saw many young players with a lot of potential. They would beat everyone around them at their school or local chess club. But they never brought themselves to . As a result, they ended up not improving, and ultimately quit chess. They were so invested in the idea of winning every game that losing to anyone was too much of a blow to their pride. The Art of Learning face stronger opposition If we focus on our egos too much, we’ll be . The causes us to avoid confronting the areas of our knowledge where we actually are weak. These are exactly the areas we need to strengthen! If we never address these areas, we’ll never improve, and we won’t be able to beat big challenges. afraid of appearing weak Confronting Haskell So how does this affect learning Haskell, or programming in general? After all, programming is not a competitive game. And yet, there are still ways in which this . We might stay away from a particular topic because it seems difficult. We’re concerned that we’ll try to learn it and fail. And we worry this failure will reveal how peculiarly unfit we are to be Haskell developers. Worse, we’re afraid to ask other programmers for help. What if they look down on us for our lack of knowledge? mentality can hurt us I have three main responses to this. First, I’ll repeat a note from the intimidation article. A topic is infinitely more intimidating when you know nothing about it. Once you know even the most basic definitions, you have a reasonable idea of what you’re missing. Get as basic an idea of it as you can and write it down in plain English. You might not know the subject. But it will no longer be an “unknown-unknown”. Second, who cares if you put in effort toward learning something and fail? Try again! It can take on a single topic before you understand it. It took me at least three tries before I understood monads. several iterations of learning Finally, the very people we are afraid to admit our weaknesses to are the same people who overcome these weakness. Better yet, they are often more than happy to do so! This involves getting over our primal fears of and by others. This is difficult but not impossible. can actually help us appearing inferior being rejected Conclusion So remember the key lessons here. at first. Don’t commit to learning more than 15 minutes a day, and pick a project with clear progress. by working at something every day. Don’t worry if a concept seems difficult. It’s OK to take several tries at learning something. And above all, be afraid to ask for help. Focus a little bit Keep momentum going never So what are you waiting for? If you’ve always wanted to learn Haskell but never have, download our to start your journey! Getting Started Checklist If you’re eager for more material on learning, you should read our latest piece on on the blog! Compile Driven learning Monday Morning Haskell If you’ve done a little Haskell, but still don’t understand some functional programming concepts, check out our free to learn about recursion, higher order functions, and try some practice problems! Recursion Workbook is how hackers start their afternoons. We’re a part of the family. We are now and happy to opportunities. Hacker Noon @AMI accepting submissions discuss advertising & sponsorship To learn more, , , or simply, read our about page like/message us on Facebook tweet/DM @HackerNoon. If you enjoyed this story, we recommend reading our and . Until next time, don’t take the realities of the world for granted! latest tech stories trending tech stories
Share Your Thoughts