Of all the skills you will need as a developer effective learning is the most important. There is no library, no framework, no buzzword you can master that will serve you better than strong study and learning habits.
Fortunately studying and learning are skills you can improve. Keeping an organized study journal is the first step. So take some extra time before, during, and after you write some code to write down some notes on what you just learned.
As you work through this curriculum we will often recommend ways to take notes on particular topics (ie. descriptive diagrams, questions to explore, organizing & deploying your notes), but for now take your notes however you usually do. For now just be sure to take regular notes and to keep them organized.
Take lots of notes! On post-its, GitHub, or even your arm. If you don't make an effort to manage your learning process you'll be surprised at how quickly it can slip away from you.
Pay special attention to:
- Vocabulary: In programming words have very specific definitions, it's important that you use them precisely. This can be extra tricky since many of the key programming vocab words are also non-programming words. It's easy to slip back and forth between a word's every-day meaning and it's programming definition.
- Your Challenges: Take especially good notes on what you find difficult even if that just means you write a quick list of things you struggled with today. Not only will this help you structure your studying by concentrating on your weak points, but it will also help you learn to pin-point what you don't understand. This kind of self-awareness is crucial for software developers.
- What you enjoy: As you continue to study programming you will get discouraged. Having a record of all the things you enjoy about coding will help with more than just motivation. It will also help you learn more effectively, it's easier to focus on and learn something you enjoy. You can think of this list like a back-up study plan. Whenever you're about to walk out, pull up this list and build something fun!
- Stages of development: While you're building your projects, don't just focus on the finished product. Focus on the journey. This might sound corny, but the truth is that one of the biggest differences between beginner programmers and expert programmers is the way approach & build up projects in careful steps. You'll get a chance to learn about this in more detail later on, but it's never too late to get started!
- About Learning to Code
- Read Your Code Out Loud: Learning to read your code aloud and to pronounce the strange syntax in JavaScript is super important! Practice alone, practice with a friend, record yourself and play it back. When you watch video tutorials pay close attention and practice repeating how the teacher pronounces their code.
- A paper notebook
- Nothing beats a pencil and paper for sketching diagrams or taking down a quick note. Tracking Your Progress
- Write Code Every Day
- Keep a Study Journal
- Weekly Review Day
- Markdown (for taking pretty notes)
As humans we are 'designed' to be distracted. Therefore, your study/work environment is an important aspect of how effective you learn. Here are some Time Management tools you can use to organize your work.
Challenge: Take your notes with Nano!