How Can Programmers Remember Everything They Learn?

Are you frustrated with trying to remember too much programming knowledge?

So What Can I Do to Retain More Knowledge?

  • Take notes when you are learning. I discuss this in more detail in this post on computer exam study tips, but as you learn new concepts, write down what goals they help you to accomplish, and why they are relevant. Make note of questions you have, and research to answer those questions. Whenever you make mistakes, write what you did wrong, why it was wrong, and what you will do differently next time.
  • Review your notes regularly. Some people take notes, but never actually go back to review them! You spent the effort to write them in the first place, might as well get the most value out of them. Don’t just passively read; quiz yourself or make flashcards.
  • Do a “brain-dump.” After you finish reading or studying a section, get some paper and write down as much as you can remember, without looking at the notes. Then refer back to your notes to see how much you remembered, what you got wrong, and what you forgot. You can also break the material into smaller, more manageable sections to do this exercise if you need to.
  • Use autocomplete and autosuggest. Many integrated development environments (IDEs) such as Eclipse and Visual Studio provide hints as you type code. Also known as code completion, these features provide a pop-up list of possible completions for your code. Code completion can remind you of what variables your program is using, show you what member data and functions are available in a class, and link to help and documentation for class functions. If you’re a beginner, you might want to skip on the code completion sometimes as a challenge and opportunity to remember some of the information yourself (just use a plain text editor instead). But know that even experienced developers use code completion to save time and focus on solving the problem at hand. It’s kind of like learning arithmetic: you start out learning how to do it by hand, and then once you’ve mastered basics, you can use a calculator to solve bigger problems without doing all of the math manually.
An example of autocomplete in the CodeBlocks IDE
  • Get comfortable with reading documentation. The documentation is there to help; it’s a reference so that you don’t have to remember everything. Most languages, including Java and Python, have some sort of official online documentation, as do many code libraries and frameworks. There are entire parts of the language that you might not even use. For example, not all Java developers will do any database programming, so they might never even touch the related classes. And if they do end up working with databases for a brief project, they don’t have to memorize all of the Java database features. They use documentation to learn what they need, when they need it.
  • Practice often, especially the core functionality. All languages have a set of core functionality that is the most useful for the most programs. For example, learning to work with strings and interact with user input are pretty useful components for much of your coding career. Out of necessity, you’ll get plenty of opportunities to practice them, and they’ll become second-nature to you. Think of how you learned to talk. There are a couple thousand words that we use every day, so much that we don’t really think about it after a while. But we might need to stop and check a dictionary more often if we’re reading a scientific journal or SAT prep-book, with many words we don’t normally use. Learning code is kind of the same way.

Become a More Confident Programmer



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store