I’m about to dive into web development. I was thinking about Laravel or Ruby on Rails, but then I found Phoenix.
Do you recommend this learning path straight into Elixir/Phoenix without previous experience?
There’s a book to help people learn Elixir as a first programming language.
After that, continuing on the Elixir path, there’s a full book that you’d likely be ready for titled Learn Functional Programming with Elixir put out by Pragmatic Programmers, the leading publisher for Elixir.
In this book you learn the basics of Elixir and write a basic dungeon text adventure game.
You could do it along with ElixirSchool, Exercism and so on as @dwahyudi mentioned.
Now when it comes to Phoenix, you have to realize that there are a lot of technologies coming together. Programming Phoenix (Pragprog) is a great primer - i.e. you get your first guided tour of building something and the online documentation will make a lot more sense afterward.
That being said Phoenix itself is largely about the back end and it has less of an opinion about the front end. Even on the back end persistent storage management is delegated to Ecto (Programming Ecto (Pragprog)) and there it helps to have SQL skills (--no-ecto opts out of Ecto).
On the front end you have EEx templates (--no-html to opt out) so you are still responsible for bringing raw HTML/CSS skills to the table.
So as far as “web development with Phoenix” goes you may have a bit of road ahead of you.
I was working as IT Specialist before, I did never code mature things, but I know some basics.
Is learning Phoenix worth the time in my situation? I mean, maybe Ruby on Rails is better choice for a newcomer (or is it the same?)?
How much time do I need to invest to become Phoenix web developer (to be able to get first job)?
Look, if this is about “short term return on investment” - look at your local job boards. I strongly suspect of the options that you have mentioned Laravel will come out on top. PHP absolutely dominates the current global market.
I suspect that RoR has peaked and some would even go so far to say that it is in decline. And to assume that Phoenix is going to simply take over for RoR would be naive at best. Back in 2005 RoR didn’t have to deal with the existance of AWS/Azure/Google Cloud Platform.
But you have to decide for yourself if you could work with RoR/Laravel day-in/day-out because they are “frameworks to the core”. Basically they have been optimized to produce a certain type of product in a productive manner. Now while that sounds all very positive the skills you acquire while working with these frameworks are mostly related to way the framework is organized.
While having in-depth knowledge of any particular “sub technology” that is part of the framework should be beneficial, the cultures behind these tools don’t necessarily foster that type of skills development.