DEV Community

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

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

brendamichellle profile image Brenda Michelle ・3 min read

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

Discussion (47)

pic
Editor guide
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 Author

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 Author

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 Author

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
_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 Author

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

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 Author

It sounds like a very insightful talk. I think especially in the tech industry procedural learning is key 🗝️👍😊

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 Author

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 Author

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

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
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 Author

Yes I've heard of it 😊 but I don't have one. So I Just talk to myself 😂

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
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
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
prashanthwagle profile image
Prashanth P Wagle

This one suggestion would have changed my college life! Hope it helps the newbies out there.

Collapse
brendamichellle profile image
Brenda Michelle Author

Yes. That is my goal. Hope it can help someone else :)

Collapse
mtrivera profile image
Miguel T Rivera

Good points. I took this course a while back and it helped me:
Learning how to learn
You can audit the course.

Collapse
brendamichellle profile image
Brenda Michelle Author

It sounds like a very good course. 👍Knowing how to learn is very important. Especially knowing your own learning style.

Collapse
kristenkinnearohlmann profile image
Kristen Kinnear-Ohlmann

Great advice! I had to learn this on my own several years ago so you are saving people time!

Collapse
brendamichellle profile image
Brenda Michelle Author

Same here. I had to learn it the hard way. My goal is definitely to help someone out so they do not go through the sam struggle.

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
Collapse
celnethub profile image
Celestine

Thanks for sharing this useful article @Brenda

Collapse
brendamichellle profile image
Brenda Michelle Author

I am glad it was helpful :)

Collapse
tomaszs2 profile image
Tomasz Smykowski

Playing Summon The JSON is also a great way to learn

Collapse
brendamichellle profile image
Brenda Michelle Author

Will def look it up thanks for the recommendation :)

Collapse
ttower22 profile image
Collapse
franciscosuca profile image
franciscosuca

"You will always have to revisit your notes. This is one of the reasons why I like having digital notes."

Now I don't feel alone with me OneNote notes about some Docker commands 😂

Collapse
brendamichellle profile image
Brenda Michelle Author

Digital notes are great! I always reference mine 😊👍

Collapse
bernardbaker profile image
Bernard Baker

I totally agree. I've found myself using Google looking up the correct syntax for various commands that I use infrequently. Other things are just second nature.

Collapse
saisandeepvaddi profile image
Sai Sandeep Vaddi • Edited

Every bit of this advice is true and amazing.

Collapse
phongduong profile image
Phong Duong

Programming is a large topic. We can't learn all of it. The best way to learn is to practice regularly

Collapse
mslupski profile image
Michał Słupski

Great post, this is actually the exact thing that's blocking me from moving on beyond basic HTML / CSS stuff. Thanks for the advice!

Collapse
ksound22 profile image
Kayode, Kolade Christopher

I never believed in cramming for once in my life, even in primary school. The best alternatives have been stated by you here. Awesome!

Collapse
drealmaster profile image
Okere Chibuike

I love this. 🙌 Most of us feel that we aren't good enough. We need to be seeing more of this.

Collapse
brendamichellle profile image
Brenda Michelle Author

Yes we need to encourage each other and show that hard work pays off :)

Collapse
drealmaster profile image
Okere Chibuike

It sure does😇