---
I don't speak for anyone except myself and a few acquaintances but I wouldn't accept an offer to work on a startup with Elixir unless we're talking at least $15,000 a month or more. And even then it depends a lot on team and company culture. I am tired of sprinting without that ever being connected to me getting extra cash or even recognition.
Elixir and Phoenix are productive as hell but they also need deliberate approach and not everything should be done quickly. Requiring me to churn out 3-5 features a week in the first 6 months is the best way for me to hand my resignation a mere two weeks after starting.
Sorry, you might not have had this in mind, I am just reacting to your text.
But rest assured, ElixirForum has quite a few people who would grab an Elixir job if given the opportunity, some for as low as $2500 a month even. And most people frequenting the forum mostly check its own Jobs section. So if you really want to widen your options, definitely make a job ad post there.
> Requiring me to churn out 3-5 features a week in the first 6 months is the best way for me to hand my resignation a mere two weeks after starting.
What it has to do with Elixir is that Elixir does not scale well with a number of programmers, and many startups go through periods of explosive growth of personnel. With Elixir that very rarely works well, 99% of the time IMO it does not. Adding more people does not increase productivity, it hurts it even.
How do other languages, like Python, scale better to more devs, besides more devs available? All that comes to mind immediately is modules in Elixir being globally available, but I’m genuinely curios about your experiences.
Thirdly, Elixir devs are on average quite senior in general (as they are usually refugees from other stacks) which lends itself to one-man armies very well in my almost 8 years of experience working with Elixir.
We scaled an org with both Ruby and Elixir (later, 1 of the 2 blessed languages) and there was no tangible difference in that way.
You could also scale in other ways like microservice. Elixir plays great in that world, as pretty much every language does.
Regarding one man armies. Usual way I've seen to scale is to find those one man armies and put less expensive Jr + mid engineers on their team and have them work together. I don't think that's an Elixir thing though.
I'm not trying to sell Elixir here. I think it has benefits in smaller org size that mellow out and equalize as a company grows. Also, startups should always work in whatever language is most comfortable to founding team.
RE: microservices, yep, that's one of the ways to scale Elixir teams to more people indeed.
RE: one-man armies, agreed.
> I'm not trying to sell Elixir here. I think it has benefits in smaller org size that mellow out and equalize as a company grows.
No worries, I am sold for 8 years now. ;)
And yes, the benefits kind of plateau from one dev count and up I found. That was kind of the core of my comment, too.
> Also, startups should always work in whatever language is most comfortable to founding team.
Oh, absolutely. I love Elixir a lot but won't shill for it if I find myself in a situation where it would be a bad choice. Plus in startups development speed is probably the biggest asset of the programmers so I am not judging. (Though I don't want to work for startups anymore.)
Does stepping on each other's toes happen, of course! but no worse than typescript, java, etc.
I don't buy this argument.
There is also the fact that the companies I chose to work with didn't want a lot of Elixir devs and we truly made miracles happen with teams of 2 to 8 people.
for elixir books, i strongly recommend sasa juric’s elixir in action—it’s the best explanation of processes and genservers i’ve found.
This was the exact issue we encountered after I had switched a startup's backend from Node to Elixir. I was able to churn out features pretty quickly (and the switch itself turned the core batch job underlying the product from a multi-hour runtime to less than a minute), but the bus factor was pretty much 1 and we were never able to really increase that before the company ended up running out of runway and folding.
This was almost a decade ago, though, so things have hopefully improved somewhat.
Lovely language whose community and vm taught me an absolute ton that still resonates with me today.
But for a bunch of “cats” that need to be herded, engineers tend to be fairly packish in some regards so looks like it’s Go, Java, Typescript, and TypeScript/HTML/CSS(in JS)/React for the foreseeable future