pablito

pablito

Elixir career advice, training and certification

Hi all, so I’m trying to get together a training plan for this year. I’m a software engineer with a several years of experience in the field but it’s difficult to land an Elixir job. I’ve been studying/working with Elixir intermittently these last 2 years. Besides that, at my current work I’ve the opportunity to work with production Elixir a couple of times, but my overall experience isn’t more than a year and a half.

What I did so far:

  • Read the complete Elixir documentation
  • Read Learn Functional Programming with Elixir
  • Read Elixir in Action
  • Read Phoenix in Action
  • Worked 6 months in a production blockchain related Elixir project

So taking this into account, what steps do you think I can follow to land a job in Elixir? Maybe a formal training? I came across with https://learn-elixir.dev and seems a good idea, but 500 dollar per month is close to impossible to pay for me (I’m not in the USA).

Another idea is to take the certification exams from https://www.erlang-solutions.com/elixir-certification. I’m not sure about how to prepare for this, what to learn and what to practice, and the webpage has very little information about this, I’d be very sad to waste 300 euros to get nothing. Also I’m not really sure if companies actually attach importance to this.

Any clues would be very helpful for me. Thanks!

Edit: typo

Most Liked

gushonorato

gushonorato

If you allow me, I’d like to share my story, maybe it will bring you some relief.

Today, I received feedback on a code interview I did for a startup in the US. The test was ridiculously simple: I had to build a URL shortening system. During the interview, I couldn’t use my preferred setup and had to improvise in VSCode without AI-powered autocomplete. The result? I ran out of time because I couldn’t type everything, even though I managed to complete the core logic, making it clear that I knew what I was doing. However, that wasn’t enough to get the job.

An important detail: before the interview, I was never informed that I couldn’t use AI to complete the code, nor that I would have to use a setup I wasn’t familiar with.

I’ve been working with Elixir daily since 2019. I’ve built two entire applications from scratch: an e-commerce platform for the food service industry and a budgeting system for engineering companies with extremely complex calculations. I’ve contributed bug fixes to the LiveView core and released two Elixir libraries, one of them has a decent number of stars on GitHub and positive feedback.

It’s really frustrating to realize that none of this was taken into consideration and that the test was actually evaluating my typing speed. After this experience, I feel like quitting job applications altogether and becoming an indie hacker.

Rest assured, the problem is not you. The problem is that hiring processes are broken. CTOs don’t know what they want from candidates.

mithereal

mithereal

having worked at multiple elixir startups i can say as far as exp devs, umm no. the vast maj of elixir devs ive worked with were multi lang programmers, transferring their skillset and patterns from one lang to the other. sometimes good often times bad, its really about who you know, lots of startups have the idea ill just hire a friend of a friend, the results u can see, i too like d4no0 have been overlooked by corps using built in otp libs and have been rejected due to the “team” not understanding basic stuff.

D4no0

D4no0

Don’t worry about that, I have 6+ years of elixir experience and I usually get rejected in 90% of cases, for one stupid reason or another. To point out how low the stupid bar is, I was once rejected after I was given a task that involves solving a problem with a state machine, the decline reason was that I used gen_statem (which is a standard library that part of OTP), to make it clear there was never a mention about usage of libraries, especially the standard ones.

If you are looking for improving your skills, contributing to OSS or building something that solves a real-world problerm you could use is more effective. I would say, without any offence, that @AstonJ advices are innefective, especially in the context of being hired remotely for a company you have no idea about, with the exception of:

This one is right on the point. If you can manage to get acquainted with folk from the ecosystem, there is a good chance that someone might be willing to hire you if you managed to make a good impression on them. I would start by trying to find local elixir developers from your country, meet up with them and keep in touch, as remotely this is extremely hard to do.

As someone who chose this path, I can tell you that it is extremely hard and you will have to invest a lot of hours before you see any amount of progress. The elixir job market is extremely competitive and a lot of times you are competing against guys like me or more experienced. If I could go back in time, I would have used the time I’ve spent to improve my interview skills to meet and talk with people, as that is a much easier entrance than cold applying for jobs.

D4no0

D4no0

This hype will most probably die out in a few years. Most of the companies that claim that they got a major increase in efficiency and can afford to cut staff, had broken processes to begin with, they think that they can shove all their technical debt and problems under a rug using these chatbots.

The actual negative that impacts hiring a lot are the generative models. I’ve observed about 2 years ago a explosion on applications for almost all development positions. From what I understood from a agency, most of those applications were fake, most likely some companies were testing out their models to see how well they are received.

I agree with this, but at the same time we, the developers, are partly at fault for it getting to this sad state. We should have said long ago no to these primitive practices created by big corporations that were only interested in hoarding talent back in the day.

I personally decline to proceed instantly any offers that include:

  • unpaid home assignments that are longer than 2-3 hours;
  • live coding sessions in any format;
  • positions with no salary range and unclear responsibilities;
  • more than 2-3 rounds of interviews.

If we are to kill these outdated interview practices, we have to say no time and time again to companies and recruiters that still blindly follow these practices, that is the only way this process will change. Instead of bragging about solving leetcode algorithms, we should talk about good workplace conditions and encourage good development practices.

ragamuf

ragamuf

Your experience is symptomatic of a larger problem with the interviewing practice in our industry. Our body of work does not count as we know it should. The level of dedication to build something and offer it to the public is severely undervalued. Do I have a solution? Nope! Just an observation. Hang in there and don’t give up. The right opportunity is on the way.

Where Next?

Popular in Questions Top

shahryarjb
Hello, I get Persian date from my client and convert it to normal calendar like this: def jalali_string_to_miladi_english_number(persi...
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New
yawaramin
In the Dialyzer docs ( http://erlang.org/doc/man/dialyzer.html#requesting-or-suppressing-warnings-in-source-files ), there is a way to tu...
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 record...
New
Kagamiiiii
Student & New to elixir. Nice language. I want to convert a english character, e.g. “a”, which is stored in a variable, to it’s asci...
New
polypush135
As many of you may have realized by now (sorry for all the posts here) I’ve been working on a db problem where I’m trying to aggregate a ...
New
hpopp
To simplify some tasks at work, I wrote and published this package yesterday. It’s a simple macro that enables Access behaviour on struct...
New
sabri
Can someone explain the settings of pool_size of Ecto in config file? and what is the recommend size? Thanks
New

Other popular topics Top

chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 30048 115
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
itssasanka
Hi all, Trying to get some more clarity over utc_datetime and naive_datetime for Ecto: https://hexdocs.pm/ecto/Ecto.Schema.html#module-...
New
_russellb
I want to try my hand at web scraping. What tools/libraries do I need to use. I’m hoping to turn this into something professional so don’...
New
grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 49522 488
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
New
script
If I have a string “1000 cfu/ml” . I want to remove the characters and / and space . So the string is like this "1000" What is the ...
New
aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
jay1
Why is it that the mnesia database isn’t the most preferred database for use in Elixir/Phoenix?
New
lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New

We're in Beta

About us Mission Statement