Should I skip Rails and learn Elixir and Phoenix?

I learned server side web development back in the days where php was the best tool for the job. Before Rails and before MVC frameworks were in vogue. This tough be the basics of the web request/response model. Some of the basics you should understand:

  • http is stateless. The client sends a request to the server, and the server sends back a response
  • the difference in http requests (GET and POST)
  • GET send data through the query string http://url?attr1=val1&attr2=val2 and post sends its data inside the request
  • How to add state with cookies and session
  • Web MVC and the router concept

You should be able to find information each of these concepts. Iā€™m sure wikipedia will have good information here.

Also, I strongly recommend that you get a good foundation in Elixir and functional programming before diving head first into Phoenix.Once you have the fundamentals, Phoenix should be fairly easy to pickup.

1 Like

I think you will really struggle to find such a book. There is just so much to teach about web development that no one single book could cover it all. You will have to read a lot of books in order to gain a good understanding of web development as a whole. For instance, I am recommending at least three books to people who want to learn Rails:

I should probably also recommend a database book in there somewhere too, given that those skills are vital for working with most web frameworks these days. For that, I would recommend Khan Academyā€™s SQL course as a starting point.

I havenā€™t even touched on JavaScript here, which is its own can of worms. The egghead.io tutorials are pretty great, though. Iā€™ve also heard good things about JavaScript Allonge, but I havenā€™t read it myself.

My point is that there is no single book which is going to teach you these basics and it is a mistake to think that you would ever find one. Youā€™ll have to read many books to gain a mastery of web development.

It would be good to get some information from a newbie like yourself which goes into detail about what things the Programming Elixir / Programming Phoenix books did not explain too well. You claim that they are ā€œtoo advancedā€, but I really would like to hear more from you about why you think thatā€™s the case.

I was on a paid bootcamp and did just that, I just couldnā€™t bare with the 2008 dated test files for examples, it made no sense to me to be learning something so much obsolete even if ruby was the only syntax that made me jump the fence from design to code (because I couldnā€™t bother with PHP/HTML before.

Elixir was just the solution for me, Iā€™m already better off by myself, I just needed some structure to get started on the right foot but nothing freecodecamp or codecademy canā€™t provide. Also thereā€™s amazing resources for elixir, starting from hexdocs, dailydrip, elixirstatus, elixirforum, and a whole lote moreā€¦

Also it helps to not have to throw away concepts that are fundamentally different in functional programming, by not going that deep on OO, and not getting bad habits out of it when starting fresh on Elixir. Also thereā€™s a whole world in Erlang to reinforce knowledge, and also I need to be a sysadmin, know to work with AWS, Docker, Kubernets, or the like, but OTP approach seems really to solve problems for me like rails did for crud not so high-traffic apps.

Also, I can jump into JS and React/VueJS which is more of a have to for front-end than ruby for backend.

Do whatever it feels right to you, I always I am happy when trusting my gut feelings, itā€™s not a job so you donā€™t need to give poor excuses to any boss besides yourself, donā€™t worry about making safe bets, go with the heart

2 Likes

Thank you sharing your thought.

I havenā€™t paid for it yet, but completed the prep work. Now Iā€™m working on the How to Design Program book. It is quite easy to digest.

Iā€™m concerned about Elixir just because Iā€™m not sure if I could find all the fundamental gaps in the material.

I donā€™t know 95% of the vocab. It is hard for me to learn without a structured approach from a scattered resource.

The bootcamp is different. There will be much guidance, worked examples, and help I hope.

I may give it a try and report my exprerience.

@SupaSaya: maybe for a really big group of developers searching jobs ā€¦
As a freelancer Iā€™m working for 3 projects 100% remotely and have a plans for them at least for (including) August - maybe up to end of current year and there are also talks about other projects in future + I can see some offers when I can apply + I can see some offers that I would probably not apply because I prefer to not relocate + there are also some jobs where I need a bigger experience to apply. If you will leave all to me then I have a works for lots of years. :smiley:
Personally Iā€™m using lots of libraries and also created some issues and found some bugs. I have all libraries that I need and I donā€™t have only some improvements for them. If I will find a time then I will create some libraries/projects myself, but there is not so bad to not work with Elixir.
Look at it: Android have lots of apps and lots of them are ā€¦ you know :slight_smile: So from my side itā€™s ok to stay with Elixir for job.