Earlier quoted context omitted.
The company I currently work for switched from Java to Elixir/Erlang because developer productivity was so much higher. Being able to turn around features and fixes in a fraction of the time has been quite valuable for us.
I would love to hear more about this if you're willing! Java shops (In my experience) have been the most unlikely to switch shops there are. Some questions: What pain were you feeling? Who came up with the idea/proposal to switch and how did they deliver it? Was it hard to get people on board? How difficult was it for people to learn Elixir? Did people take to it quickly and/or were there people who had a hard time?…
> What pain were you feeling?
The turn-around time for refactoring, adding new features, changing API endpoints, etc. was taking too long in Java.
> Who came up with the idea/proposal to switch and how did they deliver it?
The engineering team, staff engineers, and the VP of Engineering recognized the productivity issues and decided to experiment with other languages to see if a switch would result in quicker turn-around times.
First, we came up with a long list of objective metrics we could use to test various languages against each other.
Next, we made a list of languages we wanted to test (e.g., Java, Elixir, Go, Clojure, etc.).
Then, we defined a test program, including a REST API, that we would build to compare the languages.
Finally, we broke up into small teams, assigned each team a language to test, and spent about a week writing our test program in a variety of languages.
Once we were done, we had a retrospective and scored our experiences with each language we tested using the list of objective metrics we had created.
In the end, Elixir won.
> Was it hard to get people on board?
It wasn't hard to convince the team we should switch to Elixir. The team's own test data revealed that.
> How difficult was it for people to learn Elixir?
It wasn't too bad. Most of our engineers grasped it quickly. I think two factors made the switch successful:
1. Two of us already had professional Elixir experience and could mentor other team members.
2. The company purchased team licenses for the Pragmatic Studio's Elixir courses, which were invaluable.
> Did people take to it quickly and/or were there people who had a hard time?
Most of our engineers were able to pick up Elixir quickly. Some of the backend data engineers took longer though, just because they didn't have to work with it every day.
> How long did the transition take to complete?
We completed the rewrites of all our products in less than a year.
I hope this was useful. Let me know if you have any other questions.