Hacker News new | ask | show | jobs
by hansonkd 856 days ago
I love Elixir, but I have to disagree with the principal aspect of this post.

As an engineering leader what I look for when picking tooling for SaaS which essentially boils down to two things:

  1) How expensive and difficult will it be to scale the Org.
  2) How difficult will it be to implement product features.
I attempted an Elixir startup and found that it failed at both. The language was lovely to use and very smart.

But at the end of the day, you spend time and money reinventing solutions already solved in other frameworks which distract from the features of your product. Elixirs libraries are growing, but they have not reached parity to near drop-in solutions found in Django for instance.

Is Django the fastest in code execution? No. Is it the most elegant? No.

But there is an outstanding catalog of existing solutions and libraries out there that a junior engineer can pull from.

Developer velocity is so much faster with a well established framework. Easy to hire for. And you spend time implementing product features instead of reinventing engineering solutions. My ideal product development workflow is to implement in Django, find the bottlenecks (if any) and then specialize those flows.

Elixir is great and beautiful, but it was much more difficult to find engineers with experience in it. I really only found engineers that had a curiosity to use it or just started using it. I was never able to find an engineer that I could hire who built and scaled a Unicorn level app with it. Something quite common to find with Django.

I'm not saying to use Django. But when starting a project, I just ask that people look at how hard it will be to find someone to help you in the future and decide if you want to spend time building product value or spend time writing beautiful code.

4 comments

I remember interviewing at a place that hired close to 90 elixir engineers in 2 months (or so they said). That actually sounded like nightmare fuel to me (in any language) so I didn't pursue it further.
I am probably getting annoying as this is my 3rd such post in this thread but... have you posted a job ad in ElixirForum?
Yes, that is how I found the engineers I did find. I wasn't impressed by the applications I got, although who I hired was fun and talented. If I remember they were either engineers who's primary projects were actually erlang, high priced agencies, people who were elixir curious, or people have only made pet projects.

The freelancers I hired had Elixir experience from a previous job, but we ended up figuring out a lot of stuff together. It was harder to just hand off requirements and expect it to be done.

Granted my budget wasn't very big and I limited my scope to those within the Americas due to working hour constraints.

But it is very different from hiring for Python which is very easy to get a reasonably priced agency or freelancer with years of experience very fast.

Yeah I agree with your last, it's true. Sorry that you didn't have better experience and I am fairly sure that I've seen your ad there and figured not to engage. :D

Though I think the biggest filter were the US working hours. I think Elixir devs are much more in the EU.

Also the Elixir slack has a well-watched #jobs channel, for other looking to post jobs
You make some good points that I don't want to detract from -- but isn't setting the bar for finding a dev at 'built and scaled a unicorn level app' a little high? Are there really that many of those
Sorry, I didn't mean built from scratch and scaled it all the way to unicorn. Rather worked on a unicorn scale app in some capacity. Even if you join a late stage startup and didn't build the foundation, the experience you get from how the org runs is pretty valuable.

Much easier to find a engineer who engaged with a large Python SaaS app than an Elixir engineer.

Ah I see, thanks for elaborating. Indeed, if you want someone with recent experience in the Elixir/Erlang/OTP ecosystem at massive scale you're probably looking at a much smaller candidate pool than {python/js/etc}
That resonates.

I’ve heard it this way: it’s not the language it’s the leverage.