When learning a new programming language (maybe even your first!), you’re going to have feelings of dread and despair. At some point, you won’t understand what’s going on with anything, and everything will make you want to flip your desk over and quit.
You can make it easier on yourself by doing one key thing: take notes. Lots of notes. All the time, every time. Find a method that’s most effective for you, and take notes. You should even be taking notes inside your code!
See that pic below? That’s my dedicated Swift Moleskine. That’s the second one (this year), and both are full of notes I’ve taken during my journey learning the language.
For me, writing things down helps me remember them. Also, it allows me to flesh my thoughts out. If I find a better way to remember how something works, I write it down. It’s like creating my own internal dialogue.
The same can be accomplished when coding. When I’m in Xcode, I almost always toss a ‘//‘ with some notes afterward ahead of any code to quickly note what I want the function to accomplish. As you twist yourself into knots trying to make an app work, you can always reference your original notes on what you intend to happen.
It’s even handy for to-do list items. Rather than try to remember what you need to accomplish, make a note! It’s also good for things that need to be fixed, but you just don’t have the time for (yet).
If you need to change course, you can also change your notes. If you’ve got multiple apps in development, it’s helpful to have those digital notes for when you revisit the app later on.
Similarly, if you’re working on a team project, leaving notes helps others who may need to dive into your code.
It can also be useful to start a blog. You don’t even need to have a public-facing website — just a digital place to log your thoughts. Simple apps like Day One can also be used in this way. Most blogging platforms or apps will even let you add pics if you’re specifically referencing code or have something visual that will help you remember what you’re talking about.
Don’t forget hashtags, either! There’s nothing wrong with tweeting a quick note or creating a social media post with your own custom hashtag. Just make sure it’s not in use ahead of time so you don’t pile onto someone else’s catalog of random thoughts.
You’ll never know it all, but if you take notes — you can probably avoid making the same mistakes twice. Becoming your own best resource will pay off in the long run.
Read next: How developers will work in 2017