The Stack Overflow Developer Survey 2020 is open, it was going to close tomorrow but apparently an issue in EMailing it out caused it to not be sent to most people so they delayed it until Friday thus we still have time to fill it out and get Elixir more up there!
There was this question…
You search for a coding solution online and the first result link is purple because you already visited it. How do you feel?
Last day I was searching a solution for an Ecto problem… I found one, it was mine I gave a year ago to somebody on this forum.
I answered amused, but only because there was no weird option
Lol, I’ve had the exact same experience with other issues. ^.^;
Oh. I thought it’s purple because it’s here on the elixir forum!
Elixir is not mentioned, erlang either.
Much to my disappointment, Elixir did not make it.
Interestingly, neither Elixir nor Erlang were mentioned in the results. I didn’t participate in this year’s survey, so I’m not sure if they were offered as options (or whether there was a write-in option).
This differs from previous years, where both have been present in the results in some form.
I believe the community is not big enough to produce that much issues on SO to get listed.
Secondly, there is the elixir forum where the chance to get the answer is bigger imho.
While I think that having our own ElixirForum has big advantages, I do think that one advantage to being on a big site like SO is exposure. My original impression of Elixir/Phoenix was that it is a powerful FP niche language. Now, that I have been exposed to it for 8 months, I see it as a viable alternative to Ruby/Rails and so many of the other platforms out there. I think this is probably a common experience.
The SO survey is not the end all be all of developer surveys, but I do think it has an impact with development managers for considering new languages/technologies/frameworks to explore. I think if we want to grow Elixir, we need to promote it (beyond it just being a great language/framework) with things like, possibly, encouraging people here to go hit the survey next year.
I think the interesting thing is that the 2019 survey showed that Elixir was on the Most Popular list (1.4%), Most Loved (68.2%), and Wanted (3.4%).
I’m surprised that it’s not in the 2020 lists at all.
I understand the desire to appear in a list like this. We want the language to grow in popularity and persist for many years. Having said that, it’s really important not to assign any negative meaning to Elixir’s absence from this list. I don’t think it’s possible to express in words the number of different types of selection, sampling, and confirmation bias that are present in this type of survey. Only the faintest hints of methodology are actually on the site, with most of it black box. The survey treats SO like a gold standard. It avoids all sorts of nontrivial confounders, like people having more SO questions in challenging languages, or languages having a better forum (like this one).
How is it really determined that Rust is more loved than TS? What does it really mean when they make that statement? Does it reflect your actual experience? Does Rust have “An Adoption Problem” or not? Is it perhaps time to admit that all these hot takes are unscientific clickbait?
Elixir and it’s ecosystem + community are amazing. Your actual experience tells you that. Don’t be gaslit into doubting what you see firsthand every day. If you’re worried about it, don’t focus on SO, instead donate to The EEF, where you can have a meaningful impact via people who have made the promotion of this ecosystem their life’s work.
At this stage, I think most managers are aware of Elixir and its ecosystem. I’ve had many encounters where they also express love for the language. But, there is always the “but” of the lack of a reasonably sized workforce to justify the risk of adopting the language.
Well, I adopted Elixir 5 years ago for my startup and we suffered greatly. For the past 2 years I’ve been working in a company with 100+ developers from all around the world and we are just 2 Elixir developers, for a very specific project.
For many other recent projects, I always try to bring Elixir to the table and the answers are almost always the same: “Elixir and Phoenix are a perfect fit for the project, but we wouldn’t have enough developers (or not even a single developer to maintain the project in case I leave), so let’s do it in Kotlin/.NET”. I had to learn Kotlin in order to stay relevant inside the company - at least the knowledge is transferrable, but of course I’d love to keep doing Elixir.
On the other hand, I agree with you that bringing exposure to the ecosystem in a survey like this could be an important stage of gathering the attention of developers (not managers).
The biggest problem with Elixir is that it is perceived as a niche language and even if decision makers believe that it is powerful and a viable technology to use for their solution, the fact that Elixir programmers are 1. expensive and 2. scarce, is a huge factor in adoption. Exposure in these types of surveys, regardless of the quality of the survey, is important to counterbalance that perception.
Don’t worry, I am not daunted by the fact that it did not appear in SO’s survey. I will continue my evangelism both at my company and outside it. My point is that when people hear about these types of surveys, we should probably do a bit of brigading and get our voices heard to combat that niche solution, expensive/scarce developers perception.
I think the number one question here is: “Why is Elixir not mentioned at all?”
- Elixir has a very tight and nice community, people usually do not have to go to stackoverflow, they go to this forum, Slack, Discord, and all the other channels. SO admits that they kind of failed in getting more people outside their own sphere of influence. Would the result be different? idk
- Phoenix LiveView has blown away minds of pretty much anyone I have been talking to over the last few months. It might actually be what
Ruby on Railswas for Ruby.
- The survey kind of shows that people just learn and then preach. And people hate as much as they love and want. I can not remember the last time I said “MongoDB” without “f*ing MongoDB”. I hate this technology with a passion, but I understand it has its place… Maybe, somewhere?
- They of course cut out technologies that were not relevant, like lets say they had 50 Elixir developers report hey earn more than 90% of everyone else - they would have to cut it out, otherwise it would change what the actual market looks like.
- What we should take away is that Elixir has lost some ground (at least judging at the time they did the survey) - we can all do something. Write blog posts, tweet about it, experiment with it… The most important thing is to let people know.
Well, I adopted Elixir 5 years ago for my startup and we suffered greatly
I’d love to hear more about this statement!
According to this thread they removed elixir and erlang as an option completely?
Which is quite surprising considering it was one of the most loved languages of last year.
I don’t personally have a source to confirm/deny that Elixir developers are scarce, expensive, etc. But if the data does say that, it’s worth the community’s time to think about why that might be. For example, any combination of the following could be true:
Elixir developers are expensive because the community is biased toward developers with a lot of experience. This might mean that few developers choose Elixir as a first language, or early on in their careers. Cultivating the young or experientially junior developer could then be seen as an important goal for the Elixir community.
Elixir developers are expensive because there is a supply/demand mismatch. If the market favors developers, then that almost certainly would indicate that Elixir is increasing in popularity among companies that ship production software. This sort of supply/demand inequity tends to right itself in time, as word will eventually make its way to new developers that they can double that entry level JS salary if they learn Elixir. The community can then focus on making sure that Elixir jobs are posted in the places that inexperienced developers would look. The community can focus more energy on entry-level instructional courses, books, etc.
Elixir developers are expensive for some other reason: Maybe Elixir is much harder to learn, and fewer devs that attempt it gain competence (unlikely, but we’re being thorough). Or maybe the Elixir community attracts very independently-minded and entrepreneurial types, who would rather strike out on their own than work for someone. There are any number of possibilities.
Ultimately, what I’m saying is that it’s up to the community to study this on their own. Relying on Stack Overflow will never tell us who we are. And until we know who we are, we cannot know who we are not. And until we know who we are not, we cannot expand who we are, by strategically enlarging the big tent to make room for the missing groups.
There is also something to be said for letting time do its magic. Elixir is 9 years old. JS and Ruby are both 25 years old. I think it’s awesome that young languages like Rust are getting mentioned in these surveys, but for most languages, the on-the-ground usage in production still takes time, even for languages that are “wanted” or “loved” by devs. Languages need to prove themselves. Again, it’s worth thinking about how the community wants to acquire these numbers, such that they really feel they know what Elixir’s market penetrance/adoption is. Perhaps this data is already being gathered by EEF. Keep in mind also, that Elixir is doing this without the backing of Mozilla or Microsoft to give them a megaphone. It makes what has already been accomplished that much more impressive.
Lastly, I would just say that little things, like working out the details of the logo permissions, could make a big difference. If awesome sites all over the web start displaying that little droplet, I think you’ll be surprised at the impact.
I think Elixir isn’t hard to learn per se, note this might be a bit biased because I’ve been working with it for quite a few years already (happily!), I truly think it should make more sense to a beginner than most stuff we have around. Less magic, while keeping things simple, great docs and community, the tooling provides super helpful output and options. A lot of concepts to learn, that’s for sure, but I believe they can be introduced gently over time.
That said, I’ve heard from beginners struggling to start programming with Elixir, I think there isn’t material for introduction to programming with Elixir, meaning people with no previous programming language experience.
On the “hiring problem”, hiring good experienced developers is hard and expensive in any language. Having some experienced Elixir developers makes the difference, but (depending on what your company do of course) you can and should have a mix of backgrounds in your team, as long as they are willing to share and learn together. If you only hire senior Elixir devs, then I imagine yeah will be hard to find, but I believe there are a lot of good programmers willing to work with Elixir.
It does seem like Elixir is on decline a little bit…
One contributing factor is this: vast majority of resources are dated 2017 - it really seems the interest peaked that year.
I understand that it’s partially caused by erlang being mature, thus elixir and in turn phoenix not really in need of rapid evolution or revolution anymore. But the psychological effect is that of “abandoned language”. You find githib repos untouched for 3-5 years, most search results are 3-5 years old too.
Also seen here a few posts looking for maintainers of packages for pretty common technologies like AWS or Mongo. That feels like people jumping the ship, rather than growing userbase.
I think LiveView is one of the bigger things that could re-ignite the interest, but it feels like it’s the last chance. I would bet big on it, and create a lot of example apps with it, like the 15-minute Twitter clone
^Maybe this could be a community effort – first agree on a couple of really common use cases for Elixir, for Phoenix and for LiveView, and second, help write these sample apps in a slightly more polished and detailed fashion, with good educational docs/annotation…?
First reason - lack of workforce: There were just a bunch of Elixir developers in Brazil and they were mostly already working as remote freelancers for Europe/USA, so their cost was insanely high for a early stage startup (context: they were being paid in Euro/Dollar, which made it very hard for us to compete in salaries paid in Brazilian Reais).
Then, my other option was hiring foreigners remotely, but that also turned out to be pretty expensive.
Second reason - deployment was rough back then.
The solution was that I learned Elixir and did all the backend, so I juggled between being CTO, CEO and lead backend developer, which brought a lot of problems (either focus on the product on or customers, for example).
We needed something to be real-time and easy to consume many third-party APIs. Had I chosen RabbitMQ + (PHP (+Redis Channels) or Node.js (+socket io)), the story would be completely different, at least in terms of workforce and cost.
But, I still don’t regret choosing Elixir. At least I got in love with it, and even although the startup is not live anymore, it brought many opportunities for me as a developer (i.e. right now I live in Copenhagen thanks to Elixir).
My answer above is in regards to the situation of my startup in 2015/2016, and it is true that the scarcity and high cost factors still hold true by this day.