Before diving into my study habits, I’ll introduce myself a bit more. I’m currently working full time in a 1000 employees company (where I hold one of the top management position), and recently welcomed a very energetic kitten. Needless to say that time is scarce.
Before that, I graduated from college (in another field: Economics). I’ve always been pretty diligent, and I think this is largely due to my sense of organization. (Of course, it doesn’t hurt if you’re blessed with an excellent memory.)
So here are my study habits and general advice (that should be taken lightly, as I’ve only been studying on my own for ~3 months):
- Be it 1 or 5 hours, study every single day. The idea is: always show up, even for a short period of time. Your brain will keep on working (analyzing problems, memorizing) while you’re busy doing something else.
- Accept that some days might not be your best programming days. You might be preoccupied with something else (eg. your paying job) or you might struggle to understand some difficult concept, and as a result, might not get the productivity you’d hope for. It’s okay, you’ll get there, eventually. What does matter is: keep showing up every day.
- Create a perfect study environment. I’ve realised that I need silence (or soothing music) to be able to focus. I also need to be sure that I won’t be disturbed for the next hour or so. I think my brain refuses to put in the effort if it senses that someone or something might soon break its focus.
- Take notes: it shouldn’t come as a surprise given that most of our traditional studies included notes taking, but I found that this simple act forces me to deeply understand a lesson (instead of simply browsing through). For that very purpose, I’ve discovered Typora (a markdown editor) and I can’t live without it now.
- Create flashcards: this is new to me! I have an excellent auditory memory, which greatly helped during my traditional education and for endlessly quoting my favorite movies, but which is quite useless now that most of my courses are books or written lessons. I’ve therefore had to adapt, and discovered Anki.
Anki is a light software where you write a flashcard containing a question and its answer. Then, Anki asks you to review the card at a specific time, and (this is crucial) asks you to rate your answer. According to your rating, you’ll be asked about that same card in a few days/weeks/months. I now have about 200 cards (mostly about Ruby, some about Git or Unix), and review daily the 10–20 cards that Anki raises. I’ve found both the card writing and the card reviewing absolutely essential to my memorisation.
- Explain difficult concepts out loud. Or in writing. Or both. I’m using my Today I Learned repository as my rubber duck / trophy hall where I shamelessly exhibit the newfound knowledge I’ve carved up. You’ll see that presently, my repository mostly contains items about variable scope and mutating methods (which were the most difficult concepts for me in 101).
- Don’t be afraid to do something else than studying. This one might sound counter-intuitive, but it’s crucial for your own balance. I’m a bit of a workaholic myself, and I must confess this is probably the bit of advice I apply the less. But truth is: we’re not robots, we can’t study efficiently for 10 hours straight. So take (shameless) breaks: there’s actually a good chance that resting your brain with some exercise or a stroll will help your long-term memorization. And a healthy sleeping schedule is absolutely necessary as well!
With all that, now is the time to go back to studying! See you further down the road.
*All photos by me