Learning to Learn How to Code
Tags: beginners, codenewbie
Published: 2022-04-20 19:30:25



## How to Learn
I started a software engineering bootcamp about 2 months ago, and while I wasn't expecting it to be easy, I don't think I fully realized what parts would be the most challenging. One of those for me was re-learning how to learn. I had been out of school for a couple years before beginning the program so when I went back into a learning environment, I wasn't really sure what best practice would be- especially with a topic I had no previous experience in. This are some tips that I found helpful while re-navigating how to learn. 

## Learning Methods
There are three main learning methods that people learn by: watching, listening, and doing it themselves. There may be one that people gravitate more towards, however it seems the best practice is to do a combination of the three. Watching youtube videos and tutorials was something that helped me through, and then creating "playgrounds" in my terminal or messing around in REPL to try to replicate what I had just seen or read. With coding in particular, the most beneficial learning method I found was to do it myself. That way if I get stuck, you learn how to get good at googling, how to ask the right questions, and how to find the answers. 

## Practice
Practice! Practice! Practice! Continuous practice helps strengthen our memory and can get us used to thinking in specific ways, rather than just memorizing code. By practicing, we are constantly learning new material as we go through, making it easier each time.

##Test Yourself
Testing yourself is a great way to see what you have learned and what you still need to develop. One of the hardest things with learning, is feeling like you're not doing it well. But that's ok- because it's just learning! We need to put away the thoughts that we have to be perfect or that we can't make mistakes, because we're going to (a lot), and those mistakes are what's going to help us out in the long run because we can target our skillset.

##Write It Out
The reason why practice is so good is because it is repetition and get's our brains used to looking at similar information. Writing things out by hand is known to also have a longer-lasting effect in our memory. It sounds weird for coding to grab a pen and paper, but something I found helpful was to write out flashcards when I was first starting off with the new terminology and any specific syntax that I had trouble with.

##Speak it Out Loud
Similarly to writing it out, speaking it will also help store it in your memory better than just reading about it. In addition, it also is proven that it's helpful to try to relate the topic to something you have already learned or know. You can learn in building blocks. You can relate it to something similar (like relating how Ruby methods are like JavaScript functions), or you can relate topics to metaphors within your own life. Making things personal will also help better store it within your memory. 

##Teach
When learning something new, although maybe anti-intuitive, it's very helpful to then try teaching that concept to another person. If you have classmates, try to answer their questions when you can. Or challenge yourself to see if you could explain some concepts to a younger child. It will help you solidify any understand you have, and it may help you hone in on what you don't. 

## Primacy vs Recency
Primacy effect is when you better recall information you learned first and recency effect is when you better recall information you learned last. Both are shown to better store information into long term memory than what was learned in the middle. We can incorporate both of these while we study by starting with concepts that are trickier for us, and then ending by reviewing those topics again. 

##Keep Learning
Learning is something that can be practiced and the more opportunities we take to learn the easier it will be because our mind will already be used to that state.

##Be Kind to Yourself
It's okay to make mistakes. That's how you learn. It's important to be kind to yourself, your brain, and your body. Getting a good nights sleep can help improve our memory. Staying hydrated as well. As much as we want to cram a night before, it's not the most productive thing we can do to actually learn and solidify information. And take plenty of breaks!

## Have Some Fun With It
You're going to dread learning if it's not something you're interested in or you're making the information more boring than it may need to be. [Here](https://www.computerworld.com/article/2947706/how-programmers-remember-all-that-programming-stuff.html) is an article with some mnemonic devices people have used to help them remember topics in software engineering. Some examples are 
> 
'I never remember that . = class and # = id in CSS, so I use ‘say no to drugs’ to remember that ‘hash is not class’.” hill79

> “.unshift - makes it bigger. Longer word than .shift

.shift - makes it smaller. Shorter word than .unshift” da02

Happy Learning!
---

Sources

https://www.verywellmind.com/understanding-the-primacy-effect-4685243#:~:text=The%20primacy%20effect%20involves%20rehearsing,items%20in%20short%2Dterm%20memory.

https://www.computerworld.com/article/2947706/how-programmers-remember-all-that-programming-stuff.html

https://www.entrepreneur.com/article/323450

https://www.verywellmind.com/how-to-become-a-more-effective-learner-2795162

https://zapier.com/blog/learning-new-skills/