News for hackers. Stuff that matters.
Re:Elixir 1.11 by bot41 on Tuesday October 06, 2020 @11:18AM (#24698592)
I started to learn Elixir and Phoenix awhile ago. I liked it but stopped due to (i) there's no job opportunities near me for Elixir and I wanted to the learning/projects I do on my own to help me in interviews; and (ii) it's not a strongly typed language which I have come to learn is my favored type of language
Re:Elixir 1.11 by freedomben on Tuesday October 06, 2020 @12:57PM (#24699944)
Elixir/Phoenix is my hobby. I build personal projects on it.

I was able to find a few jobs, but not a ton (this was a couple years ago). The jobs that are out there all wanted experience but obviously that's hard to do with a new platform. I got an interview with one company that I thought understood that I only had a few months experience as a hobbyist (which means I'll be doing a lot of Googling even for common APIs) but they rejected me. At this point my experience with professional Elixir has not been positive.

I love the language but I'll probably just stay a hobbyist, at least until things change.

Re:Elixir 1.11 by FeistyOtter on Tuesday October 06, 2020 @01:42PM (#24700428)
It is an interesting (but probably very subjective) observation that the majority of companies with a rare or esoteric stacks hire only experienced devs with the stack and refuse to train them themselves. Maybe it is because they are smaller and lack resources. And on the contrary, in my experience, large companies based on common languages like Java, C#, JS and the like dedicate huge resources for training their junior programmers from the grounds up.
Re:Elixir 1.11 by ativzzz on Tuesday October 06, 2020 @04:06PM (#24701794)
Which ultimately makes those rare and esoteric stacks less likely to survive because experienced engineers who don't have experience with those particular stacks have no ways of getting those jobs without experience in those jobs.

Companies like Jane Street make more sense. They use ocaml but they don't expect you to have any ocaml experience coming in, but they also have plenty of resources for training and hiring talented engineers.

Re:Elixir 1.11 by joelbluminator on Tuesday October 06, 2020 @04:41PM (#24702124)
Think about young startups that aren't sure when the next round of cash will come and their personnel stay there on average 2, 2.5 years. Spending 6-8 months on getting a new developer productive with a new language is super expensive for such a company. In fact, employing juniors in general is pretty risky for such a company.
Re:Elixir 1.11 by paublyrne on Tuesday October 06, 2020 @04:50PM (#24702198)
A senior developer though should be able to get productive with a new language in a few weeks. It's not such an investment ....
Re:Elixir 1.11 by joelbluminator on Tuesday October 06, 2020 @04:56PM (#24702247)
Sorta true, often times not really. You can ship code that most likely works, but I'd still prefer a senior who knows the stack over you if I was the founder. You're saying in depth knowledge of a framework / language counts for nothing?
Re:Elixir 1.11 by ativzzz on Tuesday October 06, 2020 @05:25PM (#24702494)
Of course, the startup is doing what it takes to survive. I'm not saying this approach is wrong in any way. I'm just saying that this will result in these niche stacks staying niche and have a much smaller dev pool to hire from, now and in the future.
Re:Elixir 1.11 by bcrosby95 on Tuesday October 06, 2020 @01:58PM (#24700572)
Phoenix is a fine web framework. But with the shared-nothing approach of designing webapps, they tend to be pretty simple to both isolate and make concurrent regardless of your stack. I think BEAM languages are much more interesting for backends where a shared-nothing approach isn't an acceptable solution, and I feel like that's where its power and uniqueness over other languages really shines.
Re:Elixir 1.11 by peruvian on Tuesday October 06, 2020 @12:47PM (#24699812)
I had this issue too, even before the pandemic. In fact back when I was looking even if there were Elixir job postings they often strongly preferred a Ruby/Rails background on top of that, which I didn't have.

I just decided it's one of my hobby languages. If a job comes out of it in the future, that's awesome.

Re:Elixir 1.11 by strzibny on Tuesday October 06, 2020 @04:09PM (#24701815)
I will give an opposite experience. I was hired with zero previous knowledge of Elixir or functional stack (well, except Haskell course at uni). The other dev actually came from C# background (I came from Ruby). 100% remote.
Re:Elixir 1.11 by bot41 on Wednesday October 07, 2020 @08:12AM (#24707393)
How did you find the job and how did the interview go?
Re:Elixir 1.11 by pmarreck on Tuesday October 06, 2020 @11:38AM (#24698863)
> near me

You are experiencing the same global pandemic the rest of us are, right? Remote work and all that? (It’s honestly not for everyone. I prefer some physical facetime myself or I... “get disconnected”)

> not a strongly-typed language

While this guarantees elimination of a class of bug, pattern matching plus guards cover most of the potential bug surfaces there IMHO. I know the language creators have been considering some directions to go, there

Re:Elixir 1.11 by bot41 on Tuesday October 06, 2020 @12:04PM (#24699204)
That is a good point and I am working remotely in my current job until next year at least. I think my time and effort is best put into trying to get a job in the tech stack I know at the moment rather than trying to switch.
Re:Elixir 1.11 by joelbluminator on Tuesday October 06, 2020 @11:47AM (#24698978)
Pandemic or no pandemic, most jobs are at least local to the country. If he is from Russia it's way harder for him to get a job in a U.S / EU company. Also - if it's hard for him to get an Elixir job now (and let's assume he knows if it's hard or not and heard of the concept of remote), while Elixir is past it's peak, is it a good bet to keep going the Elixir route?
Re:Elixir 1.11 by triplejjj on Tuesday October 06, 2020 @12:00PM (#24699149)
> “Elixir is past it’s peak”

I would really appreciate any data that backs this up. Or is this a personal observation written as if it was a consensus? Because if we are going by personal experiences, the community definitely feels bigger and more active than before to me.

Re:Elixir 1.11 by joelbluminator on Tuesday October 06, 2020 @02:22PM (#24700785)
https://insights.stackoverflow.com/trends?tags=elixir

Now you may say Stackoverflow isn't a good measurement. In Tiobe Elixir hasn't made it to the top 50 https://www.tiobe.com/tiobe-index/

There is little reason for me to believe Elixir is before it's peak, the data is showing otherwise. Elixir's contemporaries (Rust / Go / Kotlin) are at a totally different place usage wise. So I tend to think this is it for Elixir, it's all down hill from here. If you have data showing otherwise please let me know.

Re:Elixir 1.11 by triplejjj on Tuesday October 06, 2020 @04:12PM (#24701846)
That’s very little data to make such broad claims.

Up until 2017 or so, you could see the Elixir community active on StackOverflow with answers from José, Chris and most maintainers. Then the community collectively moved to Elixir Forum. Wouldn’t you prefer to ask questions where the maintainers can also answer? Per the Elixir Forum stats, the number of active users keep growing.

I won’t comment on TIOBE because you can find plenty of critique elsewhere. For example, in the Redmonk rank, Elixir does fairly well on the GitHub axis, and is ahead of contemporaries like Clojure and Julia, and ahead of other functional languages like Haskell, Ocaml, Erlang, and even F#.

I strongly believe Elixir is before its peak. Elixir is most likely still growing, just not at the same pace as languages like Rust or Kotlin.

Re:Elixir 1.11 by joelbluminator on Tuesday October 06, 2020 @04:35PM (#24702055)
> and is ahead of contemporaries like Clojure and Julia, and ahead of other functional languages like Haskell, Ocaml,

That's kinda my point. These are the languages you should compare Elixir to, the esoteric ones. Not to PHP, not to Node or not even Ruby. I doubt this is going to change much.

What I said about Elixir (lack of jobs) is also true for the languages you listed.

Re:Elixir 1.11 by joelbluminator on Tuesday October 06, 2020 @04:57PM (#24702265)
OK found something to help us quantify this debate https://towardsdatascience.com/these-are-the-real-stack-over...

Now this is interesting because this counts question page views, not questions asked.

You can choose Elixir in that embedded tool, it's too bad its only for 2017-2018 but it still validates my point. My guess is the numbers for 2019-2020 are worse for Elixir.

Re:Elixir 1.11 by triplejjj on Tuesday October 06, 2020 @05:17PM (#24702419)
I don't see how this is any better. Most traffic on SO comes from search engines and if the questions and answers are elsewhere, such as in the Elixir Forum, then search engines will lead devs away from SO.

You say the language is in decline and none of this is solid evidence that's the case. It just says Elixir devs are not really active in Stack Overflow, which anyone in the community would be able to quickly point out.

Re:Elixir 1.11 by joelbluminator on Wednesday October 07, 2020 @02:10AM (#24705711)
You asked for data, I brought you the most relevant thing possible yet you keep going to "Elixir Forum". I don't think you want to hear about data, you want to hear about findings that reenforce your opinion.
Re:Elixir 1.11 by triplejjj on Wednesday October 07, 2020 @05:04AM (#24706464)
Do you seriously believe that this data is “the most relevant thing possible” to assert the claims “Elixir is past its peak” and “is all down hill from here”?

I am not refuting the data, I am refuting the flawed conclusions you are drawing from it. You are taking the decline in usage of one service as an overall indicator of the community. I provided a possible explanation. I mentioned the GitHub ranks as counter evidence. But way to go on the ad-hominem.

Re:Elixir 1.11 by juhatl on Wednesday October 07, 2020 @05:48AM (#24706659)
I've dabbled in Elixir for quite a lot over the past few years, and I have to agree with the general trail of thought you're showing. If I have a question about Elixir, I don't even think about going to StackOverflow for it. I either go ask on ElixirForum, or Google for my problem (which, in most cases, lands me to an ElixirForum thread rather than a StackOverflow one). I think the surge in the use of ElixirForum is inversely correlated with the use of StackOverflow: the more the forum has grown, the less reason there has been to use SO.

I do worry about the impact it has on these "popularity tracking" services though, since the discussion living elsewhere might (falsely?) indicate that the language isn't attracting developers.

Re:Elixir 1.11 by joelbluminator on Wednesday October 07, 2020 @06:08AM (#24706765)
Interesting theory. Let's agree that it's inconclusive then!
Re:Elixir 1.11 by colecut on Tuesday October 06, 2020 @11:58AM (#24699114)
What exactly leads you to believe that Elixir is past its peak?
Re:Elixir 1.11 by pmarreck on Wednesday October 07, 2020 @09:09PM (#24714634)
> Elixir is past it's peak

It's funny because not only is popularity not a good indicator of the quality/utility of a tool, if it is overpopular it can actually hurt things

Re:Elixir 1.11 by joelbluminator on Tuesday October 06, 2020 @11:53AM (#24699065)
Also, looking at the numbers in the UK on Linkedin: 132 Elixir jobs for the entire UK (ruby has 1941, php has 4832, java 10973). I'm not saying it's impossible but 132 mentions is not a lot. And it's not as if no one is fighting you for these Elixir jobs, quite a few people still want these jobs. Is Elixir still being chosen for new projects by startups or is it all python / go / rust ? The numbers for Elixir are very low.
Re:Elixir 1.11 by derefr on Tuesday October 06, 2020 @12:22PM (#24699459)
People who are hiring for roles using smaller languages know that there are few people local to them who are practitioners in the language. They tend to do one of two things about that:

1. They don't even bother advertising a position in local geographical "general" job boards. (Job postings on LinkedIn cost money for every day you have them up; they're a waste of resources if you can predict with high confidence that nobody will find the role through there.) Instead, they'll advertise globally but targeted to the language's community (i.e. language-specific job boards, forums and chat groups, newsletters, etc.) This is where the people using the language are looking, too, anyway, because they also know that there are too few local opportunities for it to make sense to invest the time in checking local job-boards for a job matching their skillset.

2. They don't bother hiring for the language. Instead, they hire for "experience with [relevant language paradigms]" and "experience with any of [similar, more-popular languages]" and then expect the new hire to learn the language on the job.

My personal job-criterion for hiring Elixir devs is "a polyglot in several different language paradigms, fluent in at least one functional language." I find that that filter actually predicts better whether they'll be a good Elixir dev, than actual experience using Elixir does.

-----

As an aside, there's also the fact that languages like Erlang/Elixir (or the MLs, or the Lisps, or Prolog, or...) tend not to be languages used for everything in a company, but instead tend to be languages used for the secret sauce core component of a company. A lot of the time, companies don't talk about using these languages, even though they do, because they consider them a competitive advantage over their rivals in whatever niche they occupy.

Heroku is an obvious example: much of their architecture was written in Erlang [nearly everything at first], but they never advertised that fact once in any official capacity. Likewise, HFT firms never mention they're using ML or Prolog, but many do, because trading bots are often just souped-up expert systems. The only time you find these things out, is when having a beer with ex-engineers from those companies.

Re:Elixir 1.11 by lostcolony on Tuesday October 06, 2020 @01:37PM (#24700371)
I'll echo this - when I've worked in polyglot shops, specifically on a team that did a lot of Erlang, we hired for "exposure to functional paradigms", not Erlang. The only places that looked to hire the specific language (and even that was negotiable) were places that just had Java. And the average quality of applicants was universally worse.
Re:Elixir 1.11 by joelbluminator on Tuesday October 06, 2020 @02:33PM (#24700889)
It's a common practice to at least say what stack you're working on on a job ad. If it's not a requirement I usually see "We use Rails but don't expect you to know it already".
Re:Elixir 1.11 by lostcolony on Tuesday October 06, 2020 @06:33PM (#24703146)
The JD was, obviously, far more descriptive than the four words I listed there. I'm saying the actual, relevant requirement, not the description of the job.
Re:Elixir 1.11 by joelbluminator on Tuesday October 06, 2020 @02:32PM (#24700877)
While you may be right, looking at job boards is the only objective measurement I can make. Maybe the jobs are hiding under different names, in different places. Who knows. To me, seeing there's little jobs and that there's a clear decline in Stackoverflow Trends, and that Elixir isn't even in the top 50 in Tiobe, this all means something. Hearing of people saying they can't get a job - means something. I'm sure if you're in one of the major tech cities in the U.S, you could probably land an Elixir job. You can also land a Haskell job. Or Ocaml or anything else under the sun. This means little for most people who don't live there.
Re:Elixir 1.11 by jake_morrison on Wednesday October 07, 2020 @05:44AM (#24706634)
There is also a funny effect which is driving Python to be the most "popular" language. Someone will post a job advert for e.g. Java, and list Python as being one of the "nice to have" languages, either due to machine learning, devops, or just because it's nice to know a scripting language. Python is currently the nice to have language. So you see it on the list of hot languages, but in fact there are not all that many Python jobs, they are all actually e.g. Java jobs.
Re:Elixir 1.11 by lawik on Tuesday October 06, 2020 @04:19PM (#24701901)
I see plenty of new startups in Elixir and haven't had any real issue finding Elixir client work since I switched to it. Elixir is not nearly as ubiquitous as Ruby was and I don't think it will be. I don't think that's necessary either. For people playing the numbers game I guess Java, Python and JS are the languages to pick.
Re:Elixir 1.11 by joelbluminator on Tuesday October 06, 2020 @04:38PM (#24702096)
It's not as ubiquitous as Ruby is currently either, despite Ruby declining quite a lot you can't really compare the 2.

There are a lot of happy devs who can find Elixir work, it depends a lot on location, past experience etc. I do think the number of jobs advertised is fairly low compared to demand. SO on one hand it could lead to high salaries. On the other hand it could lead to not all people landing a job (which if you look at the comments some people here are complaining about).

Re:Elixir 1.11 by andy_ppp on Tuesday October 06, 2020 @11:35AM (#24698818)
I’m starting to see more and more jobs here in London, including one with live view.
Re:Elixir 1.11 by samgranieri on Tuesday October 06, 2020 @01:18PM (#24700159)
I recommend starting up a side project to learn a language. That's how I learned Ruby, and consequently Ruby on Rails 15 years ago.
Re:Elixir 1.11 by cuddlecake on Tuesday October 06, 2020 @04:18PM (#24701885)
What's a good side project, if one is not really interested in the problem space of the side project?

I.e. I mostly just program for money, so how do I motivate myself to do a side project I'm not interested in, just to learn the language?

I wonder if I could ask my employer for two weeks of time to "rewrite" parts of our backend in Elixir, just so I could scratch that itch, without any of the consequences of it actually reaching production.

Like a programming language sabbatical

Re:Elixir 1.11 by mrjoelkemp on Tuesday October 06, 2020 @08:37PM (#24704116)
I find building a simple game (like tictactoe) in Phoenix Liveview to be a good learning project. You can layer on multiplayer using Phoenix pubsub once you have a working one player version. You can also then layer on structs, typespecs, or any other idiomatic features of the language that you need practice in.
Re:Elixir 1.11 by datashaman on Wednesday October 07, 2020 @01:19AM (#24705523)
Exercism is great for learning a language. https://exercism.io/tracks/elixir
Re:Elixir 1.11 by bot41 on Wednesday October 07, 2020 @06:27AM (#24706862)
I really think that is the only way. My issue is that I want to make the most of my free time in order to help me in interviews. I think picking up Elixir/Phoenix wouldn't help me since there are less jobs and I would have to take focus away from a stack that I have a better chance of getting a job in.
Re:Elixir 1.11 by sergiotapia on Tuesday October 06, 2020 @02:12PM (#24700690)
We're hiring for Elixir engineers, and specifically a Senior Elixir developer: https://www.joinpapa.com/careers/6IexFa6irc36vwF6aKXkE6/seni...