Top Elixir Learning Media & Resources in 2022
Whether you've only just heard of the Elixir programming language and would like to learn it, or if you're a seasoned developer with years of experience, you need adequate learning resources to ensure steady progress in your career.
I've selected a few sources that - over a few years of Elixir programming experience - I've considered most valuable for all stages of Elixir practicians' professional development. For this purpose, they're grouped into four categories: learning resources for newcomers, advanced and expert users, and lastly valuable media and other ways to keep yourself up to date. Enjoy!
Your first Elixir steps
Everyone prefers a different learning experience, so there's something in this section for readers, watchers, and interaction-lovers alike.
Exercism
To many people, the best way to learn new things is to go interactive - and Exercism (https://exercism.org) is an open-source, community-driven platform that has recently emerged as the go-to resource for interactive, online learning of programming languages - and Elixir is one of the strongest tracks in the whole project.
Exercism allows you to interweave learning theory and practicing at a convenient pace, in an interactive way - both via a web UI and a command-line interface (CLI) and it covers 50+ Elixir language concepts with 150+ exercises.
Surely a great learning resource for beginners and also a good one for refining your skills as an upper-level junior!
Programming Elixir >= 1.6
Dave Thomas's book (https://pragprog.com/titles/elixir16/programming-elixir-1-6/) explains basic concepts and features of the Elixir programming language in a thorough way - which is an interesting proposition for those who prefer to have their learning based on a book's structure. Covering the basics of both the language itself and its platform, as well as diving into more advanced topics afterward (touching on concurrency, metaprogramming, and others briefly), provides a great foundation for your development as an Elixir programmer.
ElixirCasts
A leading Elixir screencast, for people who like educational videos and learning by examples. This is a great source for programmers seeking a way to step up to a mid-level expertise tier, with resources ranging from the language's very basics to more advanced topics.
As you gain confidence
I've picked another screencast channel with a more advanced nature as well as two books of a very different kind - while one of these will strengthen your Elixir foundations, the other one introduces you to the Erlang world. Interested?
Alchemist Camp
This is a screencast series that I often consider a step up from ElixirCasts in terms of the specificity of each episode, as well as also containing tutorial series covering larger topics. It's got a great deal of useful content regarding advanced Elixir, Phoenix, Ecto usage, among others - so I recommend it for those who are oriented towards reinforcing their skillset.
Learn You Some Erlang for Great Good!
Getting advanced in Elixir means it's high time to learn some Erlang, too! The book (https://learnyousomeerlang.com) assumes no prior Elixir expertise, but it can be a refreshing experience to go through it, experience what Erlang is like, and get to know OTP the Erlang way. Definitely a must-read at a certain stage of an Elixir developer's career.
Elixir in Action
Saša Jurić's book (https://www.manning.com/books/elixir-in-action-second-edition) comes from one of the most respected contributors to the Elixir society, and it is a great source of knowledge about Elixir's more advanced features. Compared to the "Programming Elixir >= 1.6" book, it perhaps places more emphasis on the more advanced aspects of the language's toolset (processes, OTP, deployment) and goes into more detail, and there is a lot of examples to reinforce the book's content.
The current edition of "Elixir in Action" is also based on a slightly newer (1.7) version of Elixir compared to "Programming Elixir >= 1.6", but that's not really a big deal since there were no revolutionary changes between these versions.
Elixir resources for experts
Books comprise the entirety of my picks in this section - but these are surely some of the best advanced-level resources that exist in the Elixir world.
Metaprogramming Elixir
If you'd like to consider yourself an Elixir expert, learning how to harness the power of macros is a must - and even if you won't write a lot of macros yourself, it's essential to know how they work to understand many codebases, especially those utilizing DSLs.
The book by Chris McCord (creator of Phoenix Framework, https://pragprog.com/titles/cmelixir/metaprogramming-elixir/) is probably the best book I've read when it comes to explaining how metaprogramming works in the language, giving many examples and analogies to other mechanisms that every programmer should already have understood.
And, by the way, it inspired me to write a short entry-level guide to Elixir metaprogramming that you can check out at our website: Elixir Trickery: Using Macros and Metaprogramming Without Superpowers!
Designing Elixir Systems with OTP
Learning the language is one thing, and choosing the right tools to do a particular job is another - so as an Elixir expert you should be looking for architectural cues, good design practices, and battle-tested code organization patterns - and here's where J. E. Gray & Bruce A. Tate's book (https://pragprog.com/titles/jgotp/designing-elixir-systems-with-otp/) shines, giving guidance on how to design systems that provide fast and resilient services.
Adopting Elixir
The book by Ben Marx, José Valim, Bruce Tate (https://pragprog.com/titles/tvmelixir/adopting-elixir/) deals with more than just programming, presenting Elixir strategies and case studies, leading the reader through all aspects of adopting Elixir in an enterprise - both the technical ones related to application design, development and deployment, and the human factor-related ones such as recruiting developers. Definitely a great pick for CTOs - both in start-ups and established businesses, greenfield and brownfield projects alike.
Be up to date
Now, regardless of your level of expertise, I'll show you a few options when it comes to where to make yourself up to date with what's going on in the Elixir ecosystem.
Elixir Podcasts
For audio & podcast lovers, there's plenty of podcasts you can listen to as a great means to keep yourself updated with news, trends & new tools - here are my picks, just to name a few English-language ones:
Elixir Conferences & Upcoming Events
Elixir Conf EU comes to mind as the main Elixir event in Europe, just like ElixirConf is the premier conference in the US - and while before the 2020s pandemic twist these conferences were largely confined to their particular continents' audiences, in the last two years they've been held either completely online or hybrid, and it's interesting whether this shall continue as a trend - I find it interesting because it's now so easy to attend a US conference from the comfort of your home in Europe and the other way around!
Newsletters for Elixir Developers
Concluding the resource base, and taking into account some people prefer to have the news just delivered by email - here are a few of the Elixir-related newsletters that you can find on the web.
- ElixirWeekly, edited by René Föhring
- Awesome Elixir, edited by Stan Bright
- Elixir Digest, edited by Jakub Chodounský
- Elixir Radar, edited by Hugo Baraúna
- The Nerves Newsletter, edited by Underjord
FAQ
What are the top Elixir learning media and resources for 2022?
The top Elixir learning resources include interactive platforms like Exercism, educational books like "Programming Elixir >= 1.6" by Dave Thomas, and video tutorials from sources such as ElixirCasts.
How can beginners start learning Elixir in 2022?
Beginners can start learning Elixir through interactive platforms like Exercism, comprehensive books such as "Programming Elixir >= 1.6," and by watching educational screencasts like those offered by ElixirCasts.
What resources are available for advanced Elixir learners in 2022?
Advanced learners have resources like Alchemist Camp for screencasts, "Learn You Some Erlang for Great Good!" for delving into Erlang, and "Elixir in Action" for more advanced Elixir features.
What are the best books for mastering Elixir programming in 2022?
For mastering Elixir programming, consider "Metaprogramming Elixir" by Chris McCord, "Designing Elixir Systems with OTP" by J. E. Gray & Bruce A. Tate, and "Adopting Elixir" for organizational implementation.
Where can Elixir developers find the latest updates and trends in 2022?
Elixir developers can stay updated through Elixir podcasts like Thinking Elixir and Elixir Outlaws, attending conferences such as Elixir Conf EU, and subscribing to newsletters like ElixirWeekly.
How does interactive learning like Exercism help Elixir beginners?
Interactive learning platforms like Exercism help Elixir beginners by blending theory and practice through hands-on exercises, promoting a deeper understanding of the language's concepts.
What are the recommended screencasts for learning Elixir as a beginner or advanced user?
Beginners are recommended to start with ElixirCasts, while advanced users might find Alchemist Camp more beneficial due to its specificity and coverage of larger topics.