The job of a developer involves memorizing vast amounts of varied knowledge. Every developer has a certain specialty niche and aspires to excel in it. There are many intriguing techniques and tools for dividing the concurrent work of developers with different expertise, but the greatest work is still done by a programmer who can see the big picture.
As a result, it’s critical to possess expertise in a variety of sectors in addition to just one. Additionally, a programmer typically works on several projects at once or is switched from one to another. Each project may use a different set of technologies and methods, and the permutations could be virtually endless.
You can argue that experience is the most crucial factor, and I agree with you. But it’s no secret that even seasoned programmers frequently read the documentation of specialized forums to make sure their memories are accurate. Time that could be spent in other, more enjoyable ways will be lost as a result.
Knowledge can be acquired quite easily, but maintaining it is another matter. The adage “A miser pays twice, a fool pays every time” is true in our situation as well. If we don’t put in the appropriate, methodical effort during a learning phase, we will later have to repeatedly test our knowledge.
So what is the right procedure? Let’s attempt to comprehend how our memory functions. There are two processes in our memory: forgetting and remembering. The benefit of remembering is clear, so why do we require the benefit of forgetting? The solution is straightforward: the brain gets rid of knowledge that we no longer need because it believes it to be superfluous. How does the brain distinguish between important and unimportant information? Repeated thoughts are regarded as essential, are retained for a longer period of time, and are kept “closer” for speedier access.
German scientist Ebbinghaus explored forgetting in an experiment in 1885: he built a graph called “The forgetting curve”, which shows how information is lost over time when there is no attempt to retain it. The best way to memorize is by systematic and constant repetition:
- first repetition — right after reading
- second repetition — in 20-30 minutes after the first repetition
- third repetition — in a day after the second repetition
- fourth repetition — in 2-3 weeks after the third repetition
- fifth repetition — in 2-3 months after the fourth repetition
1. Finding useful apps to help you remember
You’re about to say: “Oh gosh! How am I supposed to follow the schedule from above in reality? It’s too complicated”. Do not be scared because there are good solutions! For instance the modest but powerful and efficient app Anki, written with Python. It is available for many platforms including a web version.
The workflow is simple: you create flashcards in which you input what you need to repeat and remember and then you just watch and learn. The app keeps track of spans of time between repetitions of every specific flashcard in order for you to avoid unnecessary work.
2. Memorizing is understanding
Trying to learn things you do not understand may seem like sheer nonsense. Working on understanding the information is essential in any type of memorization and the more you understand, the easier it is to memorize. If you don’t understand something try to Google it for an explanation. Use several sources to verify and see if you can understand one better than the others.
3. Visualize what you read
Better to see something once than hear about it a hundred times – the proverb says. Try to find any possible kinds of tables, schemes, diagrams and other visual types of storytelling concerning your case. Create your own pictures or diagrams. One of the best types of charts you can build while reading is a mind map.
4. Morning is the best time to study
You really have to convince yourself to study in prime time. Your brain isn’t overloaded yet and there are fewer distractions. Nowadays it’s very difficult to protect yourself from information overload – there is a lot of information from multiple sources all around us. Unfortunately, our brain is not able to take in this stream of information selectively and usually, it’s more difficult to perceive the information at the end of the day than it is at the beginning.
Read Also: What is the Salary of a Software Programmer?
Therefore, the best time for learning is the moment right after getting up: try to prepare a cup of your favorite coffee and wake up to nice and useful exercises for the brain. Many successful people get up earlier so that they can consider their most important decisions in silence, use them as a good example to do it yourself!
5. Try out in order to understand
Type every one of the code examples yourself. Don’t be shy to be a maniac about typing in all of them while you learn. It is very important not to copy and paste and type in code examples instead of glancing at them in a book or in a video is a more active process that stimulates memory and retention.
Perhaps most importantly, when typing in code examples you will make mistakes. Finding those mistakes and correcting them is also an invaluable part of the learning process. The more errors you make, the more opportunities you will have to examine the code carefully and in time understand it. Love your mistakes because they make your attention more sharp.
6. Share your knowledge with others
Be open to questions from your coworkers, and write blog posts on the subject you are dealing with at the moment. In the comments to a blog post, you can see a lot of interesting questions that will make you think deeply and will cause you to extend your understanding and knowledge.
It is also a good practice to contribute in the translation of documentation into your native language or in open-source projects.
7. Mnemonics gives a helping hand
Learn basic principles of mnemonics. Hook new knowledge efficiently to something you already know. A good example course on this topic is available on lynda.com. This course explains the principles of good memory. Learn how to use repetition, exaggeration, chunking, associations, and visualization to significantly improve your ability to memorize and reproduce. Learn the basics of usage of mnemonic devices, link systems, similar sound techniques, story methods, note-taking techniques, memory palaces and the method of loci, using rhymes and alliteration. These memory techniques will allow you to easily memorize faster and for a longer time.
Mnemonics relies on the use of our imagination and creative thinking. Creative thinking involves the construction of visual images which most often don’t have to be correct. Usually, they are absurd and exaggerated.
Exaggeration allows you to remember things better. We better remember things that are knocked out of reality and that differ from the normal. Today’s marketers use it when creating provocative advertising, which easily cuts into the memory so why can’t we use it ourselves?
Mnemonics offers us a tool to create visual associations. Below you will find an example of real things that can be compared to some of the signs often used in the syntax of programs, this makes it easier to remember them:
- @ ear
- & pretzel
- ! cat tail
- $ dollar bill
- # hammer
- – piece of chain
- _ floor
- ( ) embraces
- [ ] metalic box
- . eyeball
- : double barrel
- ; wink
- ‘ drop
- ” rabbits teeth
- / samurai is is ready for sword buttle
- he changed his mind, sword is down
- | twig
- ? sickle
- * star
- + medical kit
- ` hair
- ~ ocean wave
- % scale
- ^ carrot
Combining these pictures will help you create an exaggerated story, which will be hard to forget.
8. Quiz yourself
Another good way to keep your knowledge and skills is to make a challenge for yourself. Answer the quiz questions related to the subject you are studying. For instance, you may try this one from quizlet.com or another one at davidshariff.com
These are just a few of the techniques that you can apply on an everyday basis. We are sure that there are many more so please come with reflections and comments on your best tricks and ideas.
Tips to Help You Retain What You’re Learning
It can be difficult to remember code syntax precisely, but there are a few techniques you can use to increase your recall speed and accuracy. Here are a few tips:
- Understand the concepts: Before attempting to memorize code syntax, ensure you have a solid understanding of the underlying concepts. Knowing why and how things work will make it easier to remember the syntax.
- Practice actively: Instead of passively reading or looking at code samples, actively engage with them. Write out the code yourself, experiment with variations, and try to understand the purpose of each line. This hands-on practice will reinforce your memory.
- Break it down: Rather than trying to memorize an entire block of code at once, break it down into smaller parts. Focus on understanding and memorizing one concept or line at a time. Once you have mastered the individual parts, you can put them together to form the complete code.
- Use mnemonic devices: Create mnemonic devices or visual aids to associate code syntax with something memorable. For example, you can come up with acronyms, funny phrases, or mental images that link to specific code patterns or keywords.
- Apply spaced repetition: Practice regularly, but spread it out over time. Instead of cramming all your practice sessions into one day, review the code syntax at regular intervals. This technique, known as spaced repetition, helps reinforce your memory and improves long-term retention.
- Write comments and documentation: When working on projects or practicing coding exercises, write comments and documentation explaining the code you’ve written. By verbalizing your understanding and reasoning, you reinforce your memory of the syntax and its purpose.
- Build projects: Put the syntax into action by building small projects or solving coding challenges. Applying the syntax in practical scenarios helps solidify your memory and provides context for its usage.
- Use online resources: Don’t feel pressured to memorize every syntax detail. Instead, focus on understanding the core concepts and leverage online resources such as documentation, cheat sheets, and code references. Knowing where to find the information you need is often more valuable than trying to memorize everything.
- Teach or explain to others: Teaching or explaining code concepts to others can significantly enhance your understanding and memory of the syntax. Find a study group or take part in coding discussions where you can share your knowledge and learn from others.
- Be patient and persistent: Memorizing code syntax takes time and practice. Be patient with yourself and don’t get discouraged if you forget something. With consistent effort, your memory will improve over time.
Remember that the goal is not necessarily to memorize every single syntax detail but rather to understand the concepts, know how to find the information you need, and practice applying the syntax effectively.
Conclusion
It’s important to be patient because it takes a while to wrap your head around code, but the more you do it, the more it starts clicking.
Don’t worry about memorizing every tag, selector, property, or value available. A solid understanding of the concepts –– and a reliable reference –– is more important. I probably don’t know every CSS selector off the top of my head, but I sure know how they work and where to reference them.
For example, If you asked me to code a five-color-stop radial gradient using the old and new syntax, I’d probably go straight to MDN or use ColorZilla’s Gradient Generator. By knowing exactly how gradients work, the types of syntax and browser support, I’m able to move through the process much faster.
Finally, to retain new concepts, you need to be confident and refrain from being pessimistic when you struggle. Pessimism leads to giving up.