We use Elixir, and basically every developer we’ve hired has had zero Elixir experience prior to joining our team. Like any language it takes some time to get up to speed with the ins and outs, but I’d rather have a good developer with no Elixir experience than a mediocre-to-poor developer well versed in the language.
I can’t speak for any other company, but I suspect that any team that has made the decision to use Elixir is (a) well aware of the low market penetration it has, and (b) not screening out resumes based on inexperience with the language.
Edit: I should add that, despite all of that, I think it’s a fun language and any developer would probably enjoy dabbling in it regardless of vocational prospects.
I started applying to some Elixir jobs and have gotten a ton of screening rejections. I haven’t written it before but I have done a little Erlang, albeit not professionally.
Yeah, but is that any different than the number of rejections when applying to jobs with languages you -do- list? Everyone has an overaggressive filter based on idiot heuristics; it's just the nature of software interviewing in this day and age.
If you’re on the job hunt and you’re interested in Elixir, I can guarantee we won’t reject you through an automated resume screen (I think they’re terrible and we don’t use them :).
My email is in my HN profile - feel free to reach out!
I don’t - I was just speaking abstractly. In practice I can’t recall ever meeting a dev with elixir experience who seemed unqualified. And I’m using “seemed” rather than something more definitive because I’m referring to a broader set than just people I’ve interviewed for a job.
You're not going to have a TON of jobs available where you can use Elixir - but if you want to learn Elixir to learn other valuable skills like concurrency and parallelism or just expanding your mindset by using a functional language - then that's obviously more useful than... not learning those things?
Architecturally, the BEAM - to me - is super interesting and enlightening. So learning more about that - I think - is great for distributed systems and fault tolerance.
Also - Erlang is a really cool language, too, I think.
In many ways, it's obviously more valuable to learn something more practical like C or Java.
But in other ways, I spent a decent amount of time playing around with Elixir, and indirectly, it was one of the most valuable things I've done in my career, I think.
I'd say Elixir is an absolute super power when it comes to building a startup with a small team and small budget. It's fantastic if you're an experienced solo dev who wants to indie hack. It's also a great paradigm to learn that will level you up if you've never worked with anything similar.
I'm not sure it's that great if you're just looking for a job, though.
I faced a lot of automatic screening rejections myself—even after having worked at a Chinese startup focused on iOS, at Groupon, at a couple of YC startups working with Node + React and then on my own (failed) startup where the primary language was Elixir.
If I recall correctly, every single European company I applied to rejected me without even a phone screen. Later, I did a bit of consulting where I built the back-end of a platform for automated trading. It went well and since then I've gotten quite a bit more inbound interest. Finding decent work with Elixir was harder for me since I'm living in Asia. But it was also easier than it would be for many others, since I have a body of work in the form of hundreds of tutorials on YouTube.
What got me my current role was that the founder signed up on Alchemist Camp, hired me on a one month contract for the initial launch of his next startup. That contract was renewed for two more more months and then renewed again in an on-going arrangement. Since the founder is the former CTO of one of YC's top 3 startup successes, I'd say it's the best career opportunity I've had to date.
It's worked out well, but in all fairness I'd say that someone with the same experience and a YouTube channel about another technology would have found decent contract work more quickly.
Having had 3 full time Elixir engagements and one engagement where I partially used Elixir, I am not so convinced Elixir/Phoenix is the best career choice.
It limits you to certain jobs and there is a lot of competition (from anecdotes I see there is a lot of interest for developers to learn but not a ton of interest in companies to use it). I started with Elixir in 2015 and even though there are more companies now using it than back then, I don't see a strong upwards trend line.
Furthermore what happened twice: Elixir will be one or two projects within the companies. In one case it was a micro service architectures with plans to replace Elixir with a different language.
So worst case scenario is you will end up in a company that technically uses Elixir but for various reason you will not end up working in an Elixir based project and you only have a limited set of other languages to choose from. So at the very least pick a second favorite and apply to companies that use that technology.
All of that being said: I use Elixir for 100% of my side projects and love the language. I love the ecosystem and the community.
> Btw, The way recruiting works for niche jobs is largely keyword based (yup). Learn Elixir, put it in your linkedin and wait; the jobs will find you.
> Disclaimer: I work for one of those staffing companies and know how automated job matching algos work.
Maybe a better way to test whether knowing Elixir is valuable would be, test it by saying you know Elixir (put on your LinkedIn) and see if you get recruiter outreach
It depends on your goals. If it is primarily a Phoenix gig, things aren't that different from any other MVC type framework. Especially if it's a rest or graphql endpoint for a JS framework. If it's a Liveview app or something with heavy OTP going on it's going to take the average dev a bit longer to grok what's going on. I've met JR devs who are coding Elixir in their first professional developer job at this point.
There are quite a few open positions for Elixir currently. Are there enough open positions that that you can find one that suits your experience, salary, position, location, benefits, product, team dynamic, time zone, etc..... Thats where I feel everyone involved both hiring managers and developers need to give and take a little.
I say learning Elixir will absolutely stretch your programming mind and introduce you to other ways of solving problems. Give it go!
I actually took a job to bring Elixir to an organization. My most recent hire joined primarily because of getting to work with Elixir without previous experience. Have some conversations you might get lucky right out of the gate.
I've been working with Elixir full-time since ~2014, and while I'm probably a bit of an outlier due to my open source libraries and speaking at conferences, I've so far found that there are always opportunities available if I look around. I also get the periodic recruiting emails as well, so there is certainly interest out there. I think if you've got the ability to demonstrate a good programming background (particulary in other functional languages), you won't have much trouble, Elixir is a pretty easy language to start being productive with in a hurry. I know of at least one organization that built up a whole team from people that were essentially brand new with the language and had success with it.
How long will it take to be good enough to get a job? If you are already a senior-level developer, with experience in a functional language, you can probably get hired without any experience at all. Otherwise, you probably need at least a couple months of getting familiar. Publishing an open source library as a means of demonstrating your skill level, and that fills some kind of niche, and allows you to get a feel for the conventions and tooling, is well worth the investment in time IMO. Someone really passionate about finding a job with Elixir could probably get up to speed in just a couple weeks, enough to be productive enough to contribute as part of a team - but that would be basically spending all day every day building something, reading a book like _Elixir In Action_, and actively asking questions on the ElixirForum, IRC, or the Elixir Slack channel.
I think its very doable, but you'll always be at the mercy of who is looking at the moment, and what they are looking for.
You may want to call a professional staffing agency like Randstad or Addecco and ask if they are looking for people with that skillset. They have databases with skill scarcity per area and if you are lucky enough to find a diligent recruiter they will tell you.
Btw, The way recruiting works for niche jobs is largely keyword based (yup). Learn Elixir, put it in your linkedin and wait; the jobs will find you.
Disclaimer: I work for one of those staffing companies and know how automated job matching algos work.
Maybe things have changed but I used Erlang/OTP for a while, and at the time, it wasn't easy to learn it by yourself. The language itself was not an issue, but building a useful program required good familiarity with the library ecosystem, i.e. the user-written modules that were scattered all over Github and not just the standard libraries that came with the system. There were several books on Erlang that each consciously decided to document only the standard stuff. So the only way to know what was where was maintain contact with other Erlang developers, go to the (excellent) Erlang Factory conferences (now called Code BEAM), and so on. Inside a company I think you need a critical mass of devs to keep a project going and also keep track of the outside Erlang world, which was in a state of flux and probably still is. In Python or C++ or even Haskell, it's easier to get by with some web searches and online chats.
That all said, Erlang/Elixir/BEAM is a great way to write concurrent systems, much better than the async madness that was inflicted on us by Node and has more recently spread into Python. The book learnyousomeerlang.com is a good place to start. Elixir is newer and has different (Ruby-like instead of Prolog-like) syntax, but is mostly the same underneath, from what I've been told.
I can’t speak for any other company, but I suspect that any team that has made the decision to use Elixir is (a) well aware of the low market penetration it has, and (b) not screening out resumes based on inexperience with the language.
Edit: I should add that, despite all of that, I think it’s a fun language and any developer would probably enjoy dabbling in it regardless of vocational prospects.
My email is in my HN profile - feel free to reach out!
Or maybe I notice those more because I don't know Ruby and RoR.
Architecturally, the BEAM - to me - is super interesting and enlightening. So learning more about that - I think - is great for distributed systems and fault tolerance.
Also - Erlang is a really cool language, too, I think.
In many ways, it's obviously more valuable to learn something more practical like C or Java.
But in other ways, I spent a decent amount of time playing around with Elixir, and indirectly, it was one of the most valuable things I've done in my career, I think.
I'm not sure it's that great if you're just looking for a job, though.
I faced a lot of automatic screening rejections myself—even after having worked at a Chinese startup focused on iOS, at Groupon, at a couple of YC startups working with Node + React and then on my own (failed) startup where the primary language was Elixir.
If I recall correctly, every single European company I applied to rejected me without even a phone screen. Later, I did a bit of consulting where I built the back-end of a platform for automated trading. It went well and since then I've gotten quite a bit more inbound interest. Finding decent work with Elixir was harder for me since I'm living in Asia. But it was also easier than it would be for many others, since I have a body of work in the form of hundreds of tutorials on YouTube.
What got me my current role was that the founder signed up on Alchemist Camp, hired me on a one month contract for the initial launch of his next startup. That contract was renewed for two more more months and then renewed again in an on-going arrangement. Since the founder is the former CTO of one of YC's top 3 startup successes, I'd say it's the best career opportunity I've had to date.
It's worked out well, but in all fairness I'd say that someone with the same experience and a YouTube channel about another technology would have found decent contract work more quickly.
It limits you to certain jobs and there is a lot of competition (from anecdotes I see there is a lot of interest for developers to learn but not a ton of interest in companies to use it). I started with Elixir in 2015 and even though there are more companies now using it than back then, I don't see a strong upwards trend line.
Furthermore what happened twice: Elixir will be one or two projects within the companies. In one case it was a micro service architectures with plans to replace Elixir with a different language.
So worst case scenario is you will end up in a company that technically uses Elixir but for various reason you will not end up working in an Elixir based project and you only have a limited set of other languages to choose from. So at the very least pick a second favorite and apply to companies that use that technology.
All of that being said: I use Elixir for 100% of my side projects and love the language. I love the ecosystem and the community.
Maybe a better way to test whether knowing Elixir is valuable would be, test it by saying you know Elixir (put on your LinkedIn) and see if you get recruiter outreach
There are quite a few open positions for Elixir currently. Are there enough open positions that that you can find one that suits your experience, salary, position, location, benefits, product, team dynamic, time zone, etc..... Thats where I feel everyone involved both hiring managers and developers need to give and take a little.
I say learning Elixir will absolutely stretch your programming mind and introduce you to other ways of solving problems. Give it go!
I actually took a job to bring Elixir to an organization. My most recent hire joined primarily because of getting to work with Elixir without previous experience. Have some conversations you might get lucky right out of the gate.
How long will it take to be good enough to get a job? If you are already a senior-level developer, with experience in a functional language, you can probably get hired without any experience at all. Otherwise, you probably need at least a couple months of getting familiar. Publishing an open source library as a means of demonstrating your skill level, and that fills some kind of niche, and allows you to get a feel for the conventions and tooling, is well worth the investment in time IMO. Someone really passionate about finding a job with Elixir could probably get up to speed in just a couple weeks, enough to be productive enough to contribute as part of a team - but that would be basically spending all day every day building something, reading a book like _Elixir In Action_, and actively asking questions on the ElixirForum, IRC, or the Elixir Slack channel.
I think its very doable, but you'll always be at the mercy of who is looking at the moment, and what they are looking for.
Btw, The way recruiting works for niche jobs is largely keyword based (yup). Learn Elixir, put it in your linkedin and wait; the jobs will find you.
Disclaimer: I work for one of those staffing companies and know how automated job matching algos work.
That all said, Erlang/Elixir/BEAM is a great way to write concurrent systems, much better than the async madness that was inflicted on us by Node and has more recently spread into Python. The book learnyousomeerlang.com is a good place to start. Elixir is newer and has different (Ruby-like instead of Prolog-like) syntax, but is mostly the same underneath, from what I've been told.