I am now in week three of my Flatiron journey and nothing could have prepared me for the gamut and range of emotions I have felt in my latest incarnation as a student of software engineering. From complete despair to elation, the yo-yoing between the cliff of confusion and the upswing of competence can happen as much as 2-3 days in the same day, which inevitably leaves me wondering whether there is something wrong with my brain and my ability to retain information.
The cliff of confusion####
The upswing of competence####
The fact of the matter is, although it’s never been easier to ‘learn how to code’, learning how to code competently and fluently is hard. More and more voices from the field have been writing to counter the romanticized view that coding is easy (read here and here).
Learning at an accelerated pace when you’re still in “I just quit my job and I”m free!” mode can also be especially tough. There is a tremendous amount to learn - it’s not just a new vocabulary, you’re effectively using new areas of your brain to think differently about problems. It can especially be a struggle if you don’t have seasoned student gills.
By design, we prioritize the unusual and the emotional over routine and everyday activity and there is no easy way to re-engineer this. So before you beat yourself up for drawing blanks at those slew of new Git commands you could recite off by heart last week, just remember - unless reading tomes of technical documentation registers high on your emotional Richter scale, there is no easy way to bypass this ‘feature’ of how the brain works.
Learn how you learn
What part of your brain are you working? Understand and experiment with what works best for your learning style. Most of us did not take courses on metacognition or learning theory when we were growing up. We were expected to learn, but rarely taught to learn.
So what does it take to learn? Based on the latest research in cognitive science, neurobiology and educational psychology, learning takes a lot more than text on the page. People generally have a few dominant learning styles with the most common being auditory (do you listen to a lot of audio books or podcasts?), verbal/linguistic (would you rather read the book instead of listen to it?), visual (do you color code information? do you prefer figures and diagrams?), or kinesthetic (do you learn by doing - manipulating and building).
It’s early days for me, but I know that when I started I had no plan for how I was going to achieve my goals. I may still fail - but at least it will be in a systematic and guilt-free way!
What works best for me is a combination of learning source types - I would encourage you to try as many different methods and resources as time will permit. With a few tips, you can take charge of your learning and persevere.
Accountability /Minimize distractions
We all know how much of time suck social media, email and your phone are - so get used to going dark during your appointed study hours. Being productive means allocating your time efficiently - work in airplane mode and use browser extensions like ChromeNanny or Leechblock to block time wasting websites and maintain focus. Your friends and family can live without your glib and witty comments on social media for 8 hours! Sometimes we are not even aware of the times when we do lose focus, so logging the number of times you allow your mind to wander can be a good exercise in awareness.
NOTE - do not add a penalty element to this…. I tried this tactic when writing this blog post and I now owe my local charity Kristi House around 36 hours of community service!
Pacing/Timeboxing
It’s critical to set the right balance your study time and rest time - rest time is just as valuable as study time. Work problems or challenges have rarely been solved sitting at a desk in one straight session as popular history has shown us. The self-paced nature of the course requires a great deal of self-motivation and discipline. That can not only mean putting in the required hours a day/week in order to meet your goals, but also setting realistic goals that will keep you from burning out or turning into a stress case. If you can’t figure out where your time is going or if you feel that you are not working hard enough, then use a time tracking tool such as Harvest or Toggl - they are great for identifying your time sucks and keeping you on track with your goals.
Pacing is important too - it’s easy to hit a point of diminishing returns if you try and cram too much new information in at one time. My new favorite productivity/time management technique is the Pomodoro method. This works in a similar way to timeboxing where you a set aside a fixed block of time to a single task. I have found that coding in blocks of 40 minutes with 10 minute breaks gives me the appropriate amount of time to solve labs on Learn.co and load/unload my dishwasher, hang up laundry etc. When I tried the more traditional pattern of 25 minute work/ 5 minute breaks I wasn’t able to get any of my personal or work tasks finished. Try out different configurations for yourself.
Picture this
As far as your brain is concerned, a picture really is worth a thousand words. If you are a visual learner like myself, images, diagrams and colors really enhance the learning experience and keep both side of the brain active. I make my own color-coded flashcards based on a technique called Graphic Organization. This helps me retain information better.
Pseudocoding and Flowcharting are also great techniques for conceptualizing a solution or project idea - both techniques have helped me immeasurably when I hit a mental block. They work by forcing your brain to reframe the problem in a structured and visual way.
Watch! Speak! Listen!
Speaking activates a different part of the brain. If you’re trying to understand something, or increase your chance of remembering it later, say it out loud. Better still, try to explain it out loud to someone else. Flatiron’s study groups are great for this - you’ll learn more quickly, and you might uncover ideas you hadn’t known were there when you were reading about it.
Watching and listening videos also help to keep other areas of your brain actively working around the same subject area. Remember, you learn more the more different types of activity your brain is engaged in. More neurons firing = more chances for your brain to get that this is something worth paying attention to, and possibly recording. Flatiron’s archive of instructional videos are also a great resource, as are Lynda.com and Udemy.com.
Having your computer read the lesson to you via the screenreader app can also be a great way to get through the course material if you’re struggling with concentration. This article details how you can do this on a Mac.
Just do it
Experts say that you need to practice a skill for over 60 days consecutively in order for it to become a habit, and it takes over 10,000 hours of practice to become an expert in something. In other words, the more you practice, the quicker you learn. It’s goes without saying that the labs on Learn.co provide an excellent foundation for practice.
However, there may be times when you need a little more practice to really get the hang of a concept. Along with the numerous options for excellent code challenge websites, (I use Hackkerrank you can use simple Q &A websites like Shortcutfoo or apps like Grasshopper that test your powers of retention.
Take your time
The more you understand, the less you have to memorize. It can be tempting to just jam through the lessons that only require you to read the material. Don’t just read….stop and think…. the more deeply your brain is forced to think the more information it absorbs and retains.
Above all, remember that everything worth doing takes time - so be patient, play around and enjoy the journey - you’ll remember those Git commands better!