Comment by dataviz1000

1 day ago

I worked on a small team with 2 or 3 backend Elixir devs as the sole JavaScript / TypeScript front end, React Native app, micro services running in node, browser automation developer. It was easiest for me to write a backend service in JavaScript and expose an interface for them to integrate with rather than wait for them to get around to building it. The services were usually small under a couple thousand lines of code and if they wanted to, they could translate the service to Elixir since the business logic was usually hardened and solved. One service might scrape data, store it in S3 buckets, and then process it when requested storing / caching the results in a Postgres database.

Here is the important part: the automated browser agents I built were core to the company's business model. Even today nobody can accomplish in any other language than JavaScript what I was doing because it requires injecting JavaScript into third party websites with the headless browser. Even if the surface area was small, the company was 100% dependent on JavaScript.

The issue is that they are huge Elixir fanboys. Monday morning meeting G. would start talking about how much JavaScript sucks and they should start to move all the front end code to LiveView. Every couple weeks .... "we should migrate to LiveView." Dude, I'm sitting right here, I can hear you. Moreover, your job depends on at least one person writing JavaScript as shitty a language as it might be. I don't think he understood that he is threatening my job. The fanboy Elixir conversations between the 3 of of them always made me feel like a second class citizen.

I'm one of those fanboys. I've done the react, angular etc front end thing. LiveView just absolutely smokes SPAs and other JS rats-nests in terms of productivity, performance and deployment simplicity (for certain types of apps). The fact that you don't have to write 6 layers of data layer abstraction alone is worth it.

And don't get me wrong, I even like things like Nuxt and have a few products on Astro (great framework btw). Agree regarding browser automation, not many options there so your gig is safe for now. But do play with LiveView, it's pretty special.

  • I'm going to agree with you that Elixir / Erlang is the most productive and will back it up with some data; elixir developers are the highest paid because they generate the most value. [0] Nonetheless, LiveView isn't a viable solution for a lot of what I do. Because of that, it is important to have developers who know and understand how to use JavaScript.

    [0] https://survey.stackoverflow.co/2024/technology#4-top-paying...

    • Nevermind, folks - I retract my comments. Elixir is terrible, don't learn it, the market is saturated ;)

A mixture of contempt and resentment towards JavaScript makes developers worse engineers.

What will happen now you're gone, is, one of them will encounter a trivial problem working in a language they don't understand. They could solve this by consulting some documentation, but they won't do that. Instead they will make a huge fuss and embark on a six month project to rewrite everything in LiveView.

Like all rewrites it will be much harder than they think, come out worse than they hoped and fail to solve any customer problems.