erinan
There are a good amount of jobs in the US or in Europe but you have to actively look for them...
I can however say that working with Elixir has been really pleasant and even enjoyable, and I'm not someone who codes outside of work. I'd definitely recommend it!
Now if you want to avoid round trips to the server for interactions such as opening a modal, you can!
There are at least two ways to handle this - Javascript hooks that let you attach JS to your DOM, or the light AlpineJS framework. The latter is a perfect fit for Liveview and it's part of the unofficial go-to stack name PETAL - Phoenix Elixir Tailwind AlpineJS Liveview.
And having to go through a few files to understand how a request is handled is not out of the ordinary in an app, especially if it's grown over the years?
I've recently also played around with adding AlpineJS to it and it solves some of the issues I was having with LV.
I thought I'd miss typing but due to the functional nature of Elixir and its pattern-matching, I found out that the code is much simpler to grok.
In this case I think that having readable idiomatic code trumps the need for typing.
If needed there is type hinting with @spec but it's not used very often (or mostly in libraries?).
I can definitely say that it's very fun and productive to work in a Phoenix mono-repo. The development experience is great and I'm really having fun programming again.
The Elixir documentation on the other hand is succinct and always features basic examples for every function. It's a joy to work with.
Should you run an unindexed query on every keystroke of a text input of a form for every user? No.
But if you're not a junior dev, you'll know not to do those things and you'll know to debounce the text inputs, plus maybe only query the DB is the input text is longer than n characters for example. And you'll use a GIN index at first in your Postgres DB for fast text search.
It might all sound a bit insane but I believe that everyone should give Phoenix/Liveview a try. That stack can scale and it works amazingly well even on a cheap Heroku dyno.
This and the Twitter account that you linked is the usual "no one is talking about this! they are hiding the truth" rhetoric that has lead to where we are four years later.
From my (limited) experience it's an ideal framework for startups or new web apps. I've also heard excellent things about replacing painful microservice setups with one Phoenix app.
There is just so much you can do with it at scale and also so much you don't have to do (e.g. channels + integrated pub/sub are a godsend). Definitely my new favorite framework (+ language) for web dev.