And as a self-taught developer, I have wasted most of my time learning things I would near use in my life. It would be much helpful to me getting a guide from experts and move on that path.
So, here I come to my question. I would like to become an Elixir back-end developer, How should I start learning from and where to start to end?
Hi @Chawki , and welcome to the Elixir community!
I am the type of learner that likes to build foundations by reading a book on the topic cover to cover before jumping into the first project. If you are like me, you might find the titles from PragProg very useful, starting from “Programming Elixir” (and “Programming Phoenix” for web development), and then moving to other more specific titles depending on your taste and curiosity. I think these books do a great job in giving you all the necessary understanding of the Elixir virtues and specifics, and give you a good background on which to base your endeavors.
Other people might prefer a more hands-on approach right from the start: that is equally effective and largely depends on you. There are numerous tutorials or video courses, and I am sure people on this forum can advise on some
@lucaong thank you very much, I also have an idea of starting to read books on Elixir but I was a little confused about which books to read, But now I’m gonna try those books and thank you again.
I’d advise you to completely cover the official guides. It’s a bit strange to me when people directly want to jump to books, the intro material on the official site is very solid and it gave me all the necessary foundation to pursue the more advanced topics.
Some will say why read the doc when You can read source code
Does that mean You are doing web related stuff? If so, You might find similarities between Express and Phoenix… after all, they use kind of MVC pattern.
You might also find concurrency is handled differently from NodeJS.
You might not need it if You are just using Phoenix as a web server, but sooner or later You need to learn about OTP, which is how Elixir/Erlang deals with concurrency.
I second this, when I was getting started I was tempted to follow a tutorial or guide, since I was used to cumbersone docs in other lanaguages(mostly php and js/node). The official guides proved to be exceptionally good.
If you have troubled with that, then I would recommend the same books as @lucaong
As people before me said, the official documentation is very good and can get you pretty far. After the docs I would advise you to look at “Elixir in Action” and “Phoenix in Action”. Another great book which is not mentioned enough is “Functional Web Development with Elixir, OTP, and Phoenix”. It shows a very pleasant approach for building software system - from the functional core then adding concurrency, then communicating between subsystems.
krasenyp’s advice is right, only thing I would add is the Advent of Code videos on Jose’s twitch, shows how to use the language to solve problems https://www.twitch.tv/josevalim/videos?filter=all&sort=time really fantastic learning resource
I’ve been there as well. What helped me was once I had the basics of elixir, making projects and let the requirements of the project determine what you learn next.