Live data from Hacker News

Ask HN: Who regrets choosing Elixir?

news.ycombinator.com

191–200 of 340 posts

Re: Ask HN: Who regrets choosing Elixir?

#191

Earlier quoted context omitted.

> So how about don't be stupid about it and instead make three engineers devote 1/3 of their time to this? If your product-critical cloud backend depends on people being knowledgeable in a specific programming language, you don't make it a 1/3 time side project for multiple engineers. Also, if you start giving people "1/3 time" responsibilities, you're one step away from "everything is top priority" territory. The po…

You don't give it to 3 random people. You give it to a team which depends on it. It's not a side project because if that breaks your project breaks.

My least favorite part about HN is trying to share advice based on real-world experience, only to people show up and armchair quarterback the situation with solutions that sound easy on paper.

You'll have to trust me that we didn't just throw our hands up in the air when dealing with the Erlang situation. We tried a lot of the suggestions here and more.

Erlang is one of those languages that, for whatever reason, lulls engineers into a false expectation that they can pick it up over a few weekends and start knocking out IoT-scale solutions serving 6- and 7-figure connection counts. Speaking from direct experience, that's not only untrue, but it's a dangerous misconception that leads to a lot of pitfalls.

Don't get me wrong, Erlang is great if your problem set matches up neatly to core OTP functionality and well-defined patterns, but you don't have to stray far until you start finding difficult pitfalls that aren't easily addressed by engineers learning Erlang on the fly.

Re: Ask HN: Who regrets choosing Elixir?

#192
post #183

Earlier quoted context omitted.

Your comment was so spot-on that I suspected we worked at the same company for a minute. Erlang / Elixir are languages that are easy to begin learning, but difficult to master. In our case, the team was able to get the basics up and running quickly, but the service became increasingly difficult to manage as our product requirements expanded beyond the strengths of the Erlang ecosystem's core competencies. In our case…

> We're a Python shop Who decided that your company's raison d'être was to write some Python?

That's generally decided by the experience of the existing team members.

Re: Ask HN: Who regrets choosing Elixir?

#193

Earlier quoted context omitted.

Why not get your existing engineers to learn erlang if you have such a need?

Because engineers don't take kindly to companies changing the direction of their career development. If you're an up-and-coming Golang developer, how happy are you going to be when your company takes you off of a Golang project and makes you the new Erlang person? Now how happy are you going to be when you're informed that you're learning Erlang to maintain an old, flakey codebase written by 2 guys who left the compa…

Defining yourself or others by a single language is in my mind a huge red flag of a very junior programmer.

Re: Ask HN: Who regrets choosing Elixir?

#194
I've spent some time learning it that I don't regret.

However, I dislike the GenServer syntax, it feels too complicated with random tuples all over the place. Also, I feel like the job market is too small. I wasn't able to find a job using it (although maybe COVID is to blame here).

Re: Ask HN: Who regrets choosing Elixir?

#195
post #109

Earlier quoted context omitted.

> Who's on call? Side note: Pagerduty comes with many hilarious sounds, including a very realistic meow. Thus we practice meow driven development: I don't want my phone to meow desperately.

I have personally always appreciated the barbershop quartet...

https://soundcloud.com/pagerduty/servers-on-fire ah yes.

Re: Ask HN: Who regrets choosing Elixir?

#196
post #80

I work for a Ruby on Rails shop and we used Elixir for two projects about a year or two ago when it was getting a lot of good press. The first project was an API that was intended to serve as a middleman between a few legacy services. Basically the company that hired us was building a new JSON API but didn't want to rewrite all their old code and our job was to consume the output from their ugly legacy APIs and produ…

Treating language choices like celebrity popularity contests and being afraid to wrap C or C++ libraries to get them into your non native language is a brutal combination.

Re: Ask HN: Who regrets choosing Elixir?

#197

Earlier quoted context omitted.

Because engineers don't take kindly to companies changing the direction of their career development. If you're an up-and-coming Golang developer, how happy are you going to be when your company takes you off of a Golang project and makes you the new Erlang person? Now how happy are you going to be when you're informed that you're learning Erlang to maintain an old, flakey codebase written by 2 guys who left the compa…

> If you're an up-and-coming Golang developer, how happy are you going to be when your company takes you off of a Golang project and makes you the new Erlang person? In my mind good developers are not developer, they are engineers that solve problems with the right tools.

> In my mind good developers are not developer, they are engineers that solve problems with the right tools.

Given infinite time and no deadlines, sure.

But in the real, you can't expect your engineers to learn entire programming languages and associated ecosystems on the fly as they debug issues in production.

If your Erlang-based cloud backend starts going down, you can't afford to wait around while engineers teach themselves Erlang so they can begin to even debug the problem.

The point is that if you write critical infrastructure in a specific language/framework/ecosystem, you need to have people proficient in that ecosystem who are ready to go. When dealing with production systems at scale, it would be downright negligent to assume you could simply learn the language and framework on the fly if any problems come up.

Re: Ask HN: Who regrets choosing Elixir?

#198
post #92

TL;DNR, use a language your company can support. It doesn't matter how suited to the job a language is, if it's single Engineer or small team, what happens when they move on? How do you support it? Who's on call? Not Elixir, but a cautionary tale from our Erlang project. ~8 years ago a our IoT backend was written in Erlang, this was the early days of IoT, so sure it made sense as a technology, could scale well, handl…

Your comment was so spot-on that I suspected we worked at the same company for a minute. Erlang / Elixir are languages that are easy to begin learning, but difficult to master. In our case, the team was able to get the basics up and running quickly, but the service became increasingly difficult to manage as our product requirements expanded beyond the strengths of the Erlang ecosystem's core competencies. In our case…

[deleted]

Re: Ask HN: Who regrets choosing Elixir?

#199
post #92

TL;DNR, use a language your company can support. It doesn't matter how suited to the job a language is, if it's single Engineer or small team, what happens when they move on? How do you support it? Who's on call? Not Elixir, but a cautionary tale from our Erlang project. ~8 years ago a our IoT backend was written in Erlang, this was the early days of IoT, so sure it made sense as a technology, could scale well, handl…

> there was no one left who could support an Erlang system. If you have $200k "python engineers" on the payroll who wouldn't jump at the opportunity to do some additional Erlang, maybe it's time to reconsider your hiring practices and that is the real cautionary tale.

I completely agree. Software engineering is about being a master of problem solving, not just being a master of some tool or technique.

Re: Ask HN: Who regrets choosing Elixir?

#200

Earlier quoted context omitted.

I want to downvote this comment so much.

Why?

This kind of sentiment come up every so often on HN and I'm just sick of it. Sure, programmers should strive to improve their craft, just like professionals in every industry. But there are plenty of ways to improve yourself and learning a new language is hardly the most effective choice (and in fact could be counterproductive).
Post reply on HN