I need good guide to learn Elixir

Hi all,

I am a Fullstack JS developer for last 2 years. I need a good guide to learn elixer. Any suggestions please

1 Like

Let’s start with the right syntax: it’s Elixir (“i”, not “e”).

Did you go through the official guides first? They give an excellent base to build on top of.

4 Likes

Welcome!

If you like video courses, you are in luck, there are (at least) two exceptionally good ones for Elixir:

Beginner books I would recommend:

Also I would recommend the Elixir track here

The official documentation of Elixir (guide and at hexdocs) and the “big” libraries (Ecto, Phoenix) is very good.

You can geht help here or in the Elixir slack channel.

3 Likes

Just to add to previous answers…

You should know there are different steps in your learning.

  • Functional Programming
  • Phoenix
  • Ecto
  • OTP
  • Nerves

etc… Each could be subject to a whole book (or many books)

If You already know FP from JS, it’s easier.
If You want to do web, Phoenix would be like Express
Ecto would be like mongoose
OTP is … not matched in JS, but is the core of concurrent programming
Nerves too is not matched in JS, but is the core of doing embedded devices with the BEAM

4 Likes

And from koko’s list, if you’re not familiar with Functional Programming, leave everything you know on the door while learning. It’ll make your life easier to come without assumptions of any kind.

4 Likes

I have gone down many rabbit holes in the pursuit of becoming an efficient Elixir Developer. Unlike Ruby on Rails, you cant just start with Phoenix with zero Elixir language especially coming from an OOP side. For me, at least I needed a good grounding in Elixir foundations to truly grok Phoenix.

Note: Some folks will say skip OTP. I will say don’t. True you could develop proficiency in Phoenix without OTP, but OTP is the secret sauce (and pattern matching).

If I go back and do it all over again I would suggest this learning path:

  1. Start with the official Elixir documentation (its free and its excellent).

  2. I used Grox.io yearly passport program. I like their content because it’s regularly refreshed. There are a lot of other Elixir resources but I feel they are slightly outdated for my liking. Additionally, Grox.io has a very helpful curated learning path for Elixir and OTP, and finally LiveView (since you are JavaScript expert, you might skip LiveView for now). Start with Elixir and then OTP.

  3. Optional - Leverage the free content from Elixir School to reinforce previously learnt Elixir and OTP concepts from time to time.

  4. Now let’s learn Phoenix. Again, I would suggest start with the official free Phoenix documentation.

  5. If you like to build an end-to-end Phoenix app then check out this Full stack Pragmatic Studio course where you use Phoenix and React over GraphQL to build a marketplace app.

This will give you a good grounding in Elixir and its web Framework Phoenix. You can then branch off into other areas like IoT (Nerves), Database (Ecto), and Frontend (LiveView) as needed.

The final step is of course to build your own toy apps, side projects and practice what you have learnt. If you can introduce Elixir at work even better.

Also almost all Elixir, Phoenix and OTP books are awesome. Here are my personal favorites (I am sure this list will grow as I read through my pile of unread books!)

Elixir & OTP:

Phoenix & Ecto:

I have come to realize Elixir is a gateway drug to Functional programming languages. For my own journey, I am now learning Erlang and Rust.

7 Likes

Thank you…

thats true. I started with phoenix with zero knowledge of functional programming (never seen pattern matching). And I thought: what is this mess? Then after a view month of Elixir I came back to Phoenix and it suddenly all makes perfect sense.

The pragdave course is a little outdated, but its no problem, Mike+Nicole (https://pragmaticstudio.com/) keep the courses up to date.

I have my elixir course teaching you basic until liveview with distributed systems with Kubernetes and google cloud in three months: