I’ve been programing computers in one way or another since I was ten years old. This means that I’ve had to teach myself quite a bit over the years.

My usual method of learning new programming concepts is to immerse myself in blog posts, online tutorials, forums, and chat rooms, trying to absorb as much information as I can. Unfortunately, I’ve come to realize that this can be a slow, unfocused method of learning.

When learning from scattered resources, information can come to me in an unideal order and from authors with entirely different outlooks and perspectives on the topics they’re teaching about.

Wanting to fast-track learning Elixir, I decided to try something I’d always shied away from. Reading books!

I’ve spent the past two weeks reading Programming Elixir (affiliate link) by Dave Thomas.

I picked Programming Elixir over the other multitude of books on Elixir because it’s often touted as the best introductory book to the language. After reading it, I’d have to agree that’s it’s a fantastic entry point.

To get the most out of the experience, I decided to read through the book in an intentionally focused way, reproducing most examples on my own machine, and completely (nearly) every exercise.

At the end of the day, I can happily say that the time investment is paying off. While I originally thought I had a grasp on Elixir, I feel significantly more comfortable with all of the nuances of the language after having read the book.

Next, I plan on reading Elixir in Action (affiliate link) by Sasa Juric to get a better handle on OTP and “thinking in processes”.

This experience has shown me that books are an invaluable tool for learning programming concepts. The curated, focused approach of following a single author’s train of thought through a topic really does give the reader a solid understanding of the topic.

If you’re looking for a book on Elixir, I highly recommend starting with Programming Elixir (affiliate link).