DEV Community

Cover image for Stop Memorizing! : The #1 Advice I Wish Someone Would Have Told Me
Brenda Michelle
Brenda Michelle

Posted on

Stop Memorizing! : The #1 Advice I Wish Someone Would Have Told Me

When I first started my self-learning journey I would try to memorize everything, from every HTML tag to every use case of every CSS property. Because of that, I felt like I was making no progress. Every time I would try to code something I could not think of the exact code off the top of my head and I thought:

  1. I am so stupid.
  2. This is not for me.
  3. Why can't this just stick?

Little did I know that my learning approach was completely wrong. It wasn’t until I completely shifted my learning approach that I started to make significant progress.

In this article, I will show you why memorizing is not the right approach in learning to code. I will also share some quick tips to help you shift your learning approach.

Google is your best friend

You do not need to memorize everything. Even the best software engineers still Google and copy and paste from stack overflow. If there were perfect engineers there wouldn't be software updates every few months. If you know how to Google properly and use the correct keywords to find what you are looking for you are set. Instead of memorizing focus on problem-solving skills practice by building projects and going on websites to practice algorithms and data structures.

Muscle memory

You can reference the muscle memory phenomenon and use it to help your learning process.

β€œMuscle memory is a form of procedural memory that involves consolidating a specific motor task into memory through repetition, which has been used synonymously with motor learning. When a movement is repeated over time, a long-term muscle memory is created for that task, eventually allowing it to be performed with little to no conscious effort.” -Wikipedia

The more you practice the more you will understand and you will begin to think like a programmer. You will know when to use a specific HTML tag or CSS property or even think of JavaScript functions a lot easier. You will be able to "dream of code" and understand how it works.

Programming is a completely different way of thinking. Most brains are not programmed to think this way. You have to teach your brain how to think like a programmer.

Quick Tips

When you are studying and writing out your notes make sure they are properly structured so that it is easy to go back to them. You will always have to revisit your notes. This is one of the reasons why I like having digital notes. I can easily search and find what I need.

Talk to yourself!

When you are coding talk to yourself and explain every step. Why are you using a specific CSS property or what is your function doing.

Especially when you are stuck on a bug this is the best time to learn. Talk to yourself through the problem. Go through every step.

There are a lot of different approaches you can take when learning to code. It all depends on your learning style and what works best for you. I hope this was helpful.


If you are even a bit intrigued and are interested in learning to code lets connect! I would love to help in any way I can.

Photo by Jesse Martini on Unsplash

Top comments (47)

Collapse
 
jonrandy profile image
Jon Randy πŸŽ–οΈ

This reminds me of some of the best learning advice I ever received. It came from my A-Level Physics teacher:

"Revision is for wimps"

He meant essentially that any amount of last minute cramming, or just trying to stuff your head with information that you didn't fully take the time to really understand - is completely futile.

Learn by doing - it's the key to understanding

Collapse
 
brendamichellle profile image
Brenda Michelle

100% agree! cramming never helped me in uni. Actually, it made things worse haha

Collapse
 
squidbe profile image
squidbe

This is why I tell interview candidates that they can use Google/Stack Overflow/MDN/whatever to complete the mini app I have them build. It's silly to expect anyone to know everything, especially with the multiple technologies required in the world of web apps.

Watching what a candidate searches for and how they use the info they find is very revealing about how they think, which ultimately shows me how they problem solve better than just reading whatever code they wrote (or copied) after the fact.

Collapse
 
sqlrob profile image
Robert Myers

One coding interview I did something the interviewers didn't know about (and subsequently started using in production code), simply because of Intellisense.

Collapse
 
ankitbeniwal profile image
Ankit Beniwal

Seriously? Respect πŸ™Œ for you and all those who think this way. I wish I could be interviewed with that maturity someday :XD

Collapse
 
brendamichellle profile image
Brenda Michelle

This is great! Better than a lot of interview experiences I've heard of from others

Collapse
 
amnemonic profile image
Adam Mnemonic

Good point about well structured and easily accessible notes. That's why I would always convince anyone to have your very own personal wiki with all quick tips, code snippets, cheat sheets and recipe for cheesecake :) just everything. Don't use your brain to do things which can be done more effectively by simple software.

Collapse
 
brendamichellle profile image
Brenda Michelle

yes! I use the notion app for everything I have my own notes on everything it is extremely helpful. I also include code snippets that I always end up referencing.

Collapse
 
aadswebdesign profile image
Aad Pouw

So true and I had it today. It was about the 'option' element and I knew that aside of the 'select' element there is another element where the 'option' element is used but wich one? I couldn't get it into my head, so I went to mdn to figure out that it was 'datalist'.

Collapse
 
destynova profile image
OisΓ­n

Great advice. It reminds me of a talk by Barbara Oakley, a professor of engineering who also teaches a course called "Learning how to learn". In the talk, she pointed out that our education systems often focus on declarative learning, which is mostly concerned with memorising facts at a conscious level. In contrast, procedural or implicit learning is more akin to gradually building a program in your head that carries out a task expertly with almost no mental effort. The way to take advantage of procedural learning is of course to just practice and try things, rather than trying to memorise overly specific facts.

Collapse
 
brendamichellle profile image
Brenda Michelle

It sounds like a very insightful talk. I think especially in the tech industry procedural learning is key πŸ—οΈπŸ‘πŸ˜Š

Collapse
 
sqlrob profile image
Robert Myers

"Talk to yourself" actually has a particular name. Rubber duck debugging.

en.wikipedia.org/wiki/Rubber_duck_...

Collapse
 
brendamichellle profile image
Brenda Michelle

Yes I've heard of it 😊 but I don't have one. So I Just talk to myself πŸ˜‚

Collapse
 
_bkern profile image
Barry

Love your post. I wonder if people get this idea from interview horror stories. Regardless, I encourage you to look up stuff and take notes just like you are doing. I love that you use notion I used to keep a little wiki locally but notion is much easier. The benefit of looking stuff up too is that you will develop your ability to filter out bs. Its an overlooked but important skill especially if you are looking for answers to 'hot' technologies everyone throws stuff out there but its not always high quality.

Collapse
 
brendamichellle profile image
Brenda Michelle

100% agree! Knowing how to use the correct keywords in your search is a skill 😊 we al need to constantly practice

Collapse
 
mroeling profile image
Mark Roeling • Edited

I totally agree! I'm a webdeveloper for more than 15 years now, and I have never had any education in webdevelopment. Btw, no education in using Google as well of course. ;)
But during that days it was normal to use any search engine. "Programming" in the early days at least for me, was being able to search, find, copy-paste and apply to your own project.

And 15 years later, that's what I still do. However, seems experience caused me to gain some knowledge and muscle memory as well :D

Collapse
 
candidodmv profile image
Vinicius Dutra

It’s one the most important ability the every developer should have and there’s no recipe, everyone must find the best approaches fits for you.

But, as was mentioned, have a organized structure is the key point.

Collapse
 
brendamichellle profile image
Brenda Michelle

Yes! Since structuring my notes and learning process o have been able to learn a lot more and a lot faster πŸ˜ŠπŸ‘

Collapse
 
grantwatsondev profile image
Grant Watson

I definitely talk to myself. I am lucky enough that with my current position, my office has a white board. When I am trying to solve a problem, I will draw the idea out, and specifically talk out loud to see where it will all go. This trend does help me flesh out what I want to do.

Collapse
 
brendamichellle profile image
Brenda Michelle

I have been meaning to get a white board. I always end up talking to myself and scribbling on some paper .

Collapse
 
ataias profile image
Ataias Pereira Reis

I tried using Anki to create flash cards to memorize the syntax of F#. In the beginning it was going nicely, but I was creating too many cards and memorizing too many useless details. Today I still use Anki, but it is like a last resort in case I see something in a reference book that I think I will likely forget but I would like to remember.

For instance, what is the name of the operator ?? in swift (answer nil coalescing operator)? I usually have a hard time memorizing names like these and then it is hard to google later too, so when I see a new term like this or an interesting library method I create a flashcard so that I review it.

I think this optimizes learning, at least for me. I guess 90% is what you mentioned and 10% trying to memorize certain details. One without the other would be possibly meaningless too.

Collapse
 
chesterc314 profile image
Chester Cobus

Thanks this is good advice. I would just like to add that programming concepts ( such as Object-Oriented programming, functional programming, SOLID) would also be beneficial to learn when starting out. Awesome article!

Collapse
 
brendamichellle profile image
Brenda Michelle

Thank you :)

Collapse
 
dillonheadley profile image
Dillon Headley

Great advise!
I think this is part of the difficulty with getting stuck in tutorials and with code schools. You get shown/told what to do, but a key skill to have as a developer is learning how to "figuring it out". I found it best to just learn that there IS an answer out there, and I just need to find the path back to it when I need it.

Collapse
 
deep_space profile image
Deep Space

Nice article. I had to learn the hard way by experiencing similar or even worse as I had to learn English at the same time. But with HTML it was similar. I tried to memorize or even write on a paper HTML tags by hand lol.
As time goes, you'll find your way of learning.

Collapse
 
abodmicheal profile image
Abod Micheal (he/him)

exactly

Some comments may only be visible to logged-in visitors. Sign in to view all comments.