My best tips on learning/reading/studying!

This was originally posted on my blog, but since my I’ve taken it down (I hadn’t posted anything on it for a while and since it was running Wordpress it was just getting bombarded with bots trying to guess the admin password!) I thought I’d repost here. I’ve updated it slightly too :blush:

The tips here helped me learn Ruby and Rails and I’m hoping they’ll help me (and maybe you!) learn Elixir and Phoenix!! :003:

If you have any tips of your own, feel free to add them :023:

1. Learn something you’re interested in!

This one’s easy. We learn best when we have an avid interest in the topic. The more passionate we are about something, the easier it will be picking it up.

2. Choose your resources wisely

Finding a topic is the easy part – finding the best material can be a bit trickier. Here, my best advice is to play the field. Take a look at what’s out there, read book reviews (look for responses that are passionate and infectious), and listen to the advice of people you trust or who are well respected in their field. Also go ahead and try things – just because you bought a book, doesn’t mean you have to read it all. I’ve bought a few that I started and just couldn’t get into. That’s cool, because when you find a book you really like, you appreciate it that much more.

Don’t limit yourself to books either, screencasts or interactive learning sites are excellent ways to combine all the best ways of learning; watching, reading, doing. Similarly, don’t limit your resources either - get material for every aspect of what you want to learn and build a plan of how best to go through them. So for us here, that’s books on Elixir, books on Phoenix, books on OTP, books on Erlang! Want to be an expert? You can be! All that precious knowledge and expertise has been captured for us in books (and courses/screencasts!), and particularly when it comes to books, what are a bargain they are when you think of all the knowledge they contain.

3. Pick a starting point that’s right for you

Don’t feel like you need to speed through to the final or start too far ahead – don’t be afraid to start from the basics - it may actually end up saving you time in the long run.

4. Get a Kindle

Forget your iPad or computer screen – they are LCDs which not only give you retina burn because of the ridiculous brightness, but by also ‘refreshing’/flickering many times a second, contribute towards eye fatigue. The screen on the Kindle does not flicker. I read all of my Ruby books on my Kindle, and the only drawback I found was when you’re view large code blocks or when you need to click through to the full code for something (on the larger Kindles this is less of an issue, see: What is your preferred device for reading programming books? - #26 by jeremyjh)

Kindle’s also allow you to highlight text and if you buy an e-book from Amazon directly, you can view ‘popular highlights’ – which is a great way to see what your peers think is important or worth noting.

5. Read last thing at night

Can you remember what you did first thing yesterday morning? Nope neither can I! I bet you can remember what you did last night though. And there’s a good reason for that – because of the way your brain works. It starts indexing in descending order, so what you did last, gets indexed/stored first. Try it. Read something in the morning, and something in the night – the following day see which you remembered best. (Edit: I can’t find the link to support this now, but as I said, try it! Try reading at different times of day to see which you remember better!)

Hear that? Another good reason to read at night is for the peace and quiet. There’s nothing worse than distractions, whether it’s traffic, kids playing, or the general ambiance of people hovering around – and although you might not notice it - your subconscious will. I find I concentrate much better at night, when the pets are asleep, phones are not ringing and the rest of the neighboured is tucked in for the night!

6. Don’t get ahead of yourself

Similar to Tip #3 (pick a starting point that’s right for you!) don’t be afraid to take a step back if you begin to feel lost. If you’re reading something that you just don’t seem to get, restart the chapter and try again. I have had to read a chapter 2 or 3 times before it actually sunk in in the past. As a general rule, do no proceed to the next chapter until you have understood the previous one.

If that doesn’t help, then put the book away get a book that tackles the topic a step down from what you were reading. If you ‘get’ this new book and then go back to the other book and still don’t get it, do the same again – put it down and find another book that covers something simpler. You won’t be wasting your time, if anything it may save you time in the long run. Going over a topic will also help ‘repeat and reinforce’ what you’ve been learning.

If you just can’t get into the book that you kept putting down, maybe it wasn’t a good fit for you – find an alternative that covers the same material, waste no more time on it or come back to it later as a bonus.

7. Can’t concentrate? Close your eyes and breathe…

Sometimes you’ll have things buzzing around your head. You might be stressed out about something, or something could have happened that is on your mind. Sometimes it will also take a while for your eyes to adjust from a flickering LCD to the tranquillity of e-ink. When you find your mind running away or when you can’t seem to concentrate, close your eyes and slowly count to 20 while thinking of nothing other than the darkness you see and while breathing in through your mouth and exhaling via your nose. If something comes into your mind, push it out of your mind and start from 0 again, making a conscious effort to think about nothing. Repeat until you can count to 20 three times in a row. It works! When you get back to your book you’ll notice a huge difference, if will ‘feel’ different. It certainly does for me!

Make sure you are drinking enough water as well as dehydration can also impact concentration, see below for more.

8. Eat well

Your body is a complex machine which needs fuel, energy, and important nutrients to be kept in optimal working order. Don’t mess up your body by eating ‘garbage/junk’, doing mind-numbing drugs or wearing poisons on your skin (you shouldn’t really put anything on your skin that you wouldn’t put in your mouth).

I personally advocate a clean, natural, and species appropriate diet/lifestyle, and to me that means sticking to foods that our ancestors would have eaten. No processed nonsense, the wrong fats, sweets, breads, pizza, etc. Care about how your foods are produced too. Do you think growth hormones, steroids, routine antibiotics, in-breeding, poor quality and non-species appropriate feed along with poor housing conditions is going to rear good healthy stock? Think again :101:

Drink plenty of natural mineral water (not tap) too, dehydration can impact your performance by up to 40%. Also consider eating food that is known to help cognitive function - such as salmon (Omega 3), certain nuts, as well as herbals like Korean Red Ginseng (also good for prostate health).

People go on about bad education for the poor, but you know what? Education is, imo, only half the story – diet and lifestyle will probably have more of a profound effect on your learning ability than whether you go to a good school or not.

9. Sleep well

Your body needs quality sleep, and in terms of learning, sleep is when your body indexes everything you’ve done/learned that day. If the quality of your sleep is poor, your brain won’t have been able to properly store/index everything… so all that time you spent reading something could well be wasted.

Luckily for you, eating clean (see above) will help you sleep well too!

10. Make notes and go over things

When I first started learning Ruby I found I was reading and understanding things but not really remembering them - even the gist of them. So I started to make notes. Then, before a reading session, I would read my notes from the beginning before continuing reading the book. It’s a bit like a Matrix-y way to read a book 100 times over… but because you are just reading notes it doesn’t feel like you are reading the entire book 100 times over!

But what do you write in your notes? Basically anything you think is worth remembering… although you’re not really doing it to remember it, but rather, not easily forget it. What we want to do is remember what is possible - not the exact or fine details (they can be looked up later) and I feel this technique is really good for that.

I also went through a phase of using the Kindle’s highlighting feature, but I found that because books keep getting updated your notes are then split over various versions of the books. Plus it isn’t as easy to go through lots of Kindle notes/highlights than it is through a physical note book. So I have reverted to making pen & paper notes. Believe it or not, when I was learning Rails I made a second version of notes, a super condensed version - which I would read on the loo or whenever I got 5 minutes :lol:

Sometimes getting two (or more) books that are aimed at the same level saves you having to write notes – repeating is reinforcing. Repeating is…?

Bonus tip. Enjoy yourself!

Whatever you do, when it starts to get boring or feels like a chore – stop. Keep things interesting, fun and pace yourself so you feel like you’re achieving stuff. It’s one of the reasons why I tend to get at least two books that deal with the same level of whatever it is I am learning – when you read the other book you often catch yourself thinking ‘I know that!’ and it’s moments like that that give you a buzz and remind you that you are actually learning something. Little achievements like that give you the incentive to carry on.

If you need even more of an incentive, jump in to one of our Book Club threads! :003: :023:


Have you tried Medium?
I had a blog about soft skills some time ago, I never had an issue with bots.

Truly wish there were more free Elixir screencasts.

I usually prefer the good old manual copy. But I am intrigued, what is so special about Kindle’s ? Don’t they burn your eyes with blue light like any other screen?

I would say the most important thing about learning can be summarized in a quote by Dr. Phill:

The difference between a dream and a goal are deadlines and accountability.

Set up specific goals with timelines. Things like “learn pattern matching” are horrible goals. A precise example would be “create a module that has 5 functions using pattern matching instead of if clauses”.

And set a deadline. “I will learn Elixir someday”. Guess what, someday is not a day of the week. Pick a day of the week and go for it.

Be accountable. Have you succeeded? Awesome, go have a candy. Have you failed? Examine why and try again, try harder - don’t give up. Being accountable is admitting you failed and continue on the road to your objective.

Hope my different vision helps :stuck_out_tongue:

1 Like

E-ink is much easier on battery life because it doesn’t take constant power draws by needing to refresh an already-drawn screen. It consumes power to redraw on page turns and very occasionally outside of that. More importantly, it doesn’t suffer from the same eye fatigue as LCD/TFT/OLED screens as used by general-purpose tablets and smartphones - the reading experience is much much closer to paper, even in the case of a hardware model with backlighting. They’re also lighter than most paperbacks and almost all textbooks.

That said, they don’t really handle intentionally-formatted text like source code examples very well because of small screen sizes, variable font sizes, and text reflow. I read almost 100% of fiction and non-technical non-fiction on a Kindle Oasis or Kindle Paperwhite, but technical resources are usually a normal tablet or paper book.


The approach that seems to work best for me is to read through a book following along (but not doing any of the additional exercises, should there be any), and then about a month or so later re-visit the book in full + complete any exercises. It’s time consuming but I definitely retain A LOT more detail.


I 100% agree with this one. A while back, I compared my reading speed (of non-technical books) and found that on an iPad or monitor I was about 1/3 slower than with a physical book but that Kindles inflicted no such penalty.

1 Like

I’ve found that buying ebooks and reading them on my computer is a very effective way to digest technical information.

Also it looks like the Kindle mac app is pretty outdated and copy pasting code snippets doesn’t work well either, so I tend to buy epub (from manning, pragprog etc) where possible.

1 Like

I would add something that goes in the direction of

Start Meditation

I know there is a lot of BS about meditation, but I encourage you to try it and see if it helps you. I for myself enjoy it to have 20 minutes per day for this. It helps to anchor myself in the current situation and calm down my inner monologues. This again helps me to enter a mindset that is more willing and persistent to learn something, even in the evening hours.

If you like to use a guided format, I can recommend Headspace. It is less esoteric and I like the voice of the guide. If it does not suit you, you will find an abundance of different youtube channels on that.

If you speak German, I can also recommend the book Meditation für Skeptiker (Meditation for Skeptics).

1 Like