Did you migrate from a different architecture (which one)?
Pros & cons of the migration.
General pros & cons.
General impressions of the ecosystem/community as a whole?
No migration, did some early prototyping of the web frontend with rails but backend was always elixir. Phoenix matured enough and really used it from early on in development.
I am really a big fan and feel like its allowed me to do things that would have been very difficult to do in other languages. As I've learned more about the erlang/elixir and the BEAM in general I've become a big fan of it. Theres some things its not great for, but I really like the actor model/message oriented approach and the huge amount of things that you get "for free" by building on the it. At this point I would need a good reason to use anything else for a network-centric application.
The community is great and its been fun seeing it grow. I got into rails a bit after the huge wave of growth there, I feel like elixir is seeing similar and that I have the tide rising under me.
There is a _lot_ to learn about the BEAM and you have to be ready to do that for a serious application. Nothing is free and your system isn't going to be magically fault tolerant and well designed just because you're writing it using elixir. You have to do things the "erlang way" and lean into it or you're going to have a bad time.
Functional programming isn't something a lot of people are familiar with. Its going to take a bit to onboard engineers who haven't thought about problems in that way before. Hiring is more difficult, but there is also a lot of self-selection at play, bad/mediocre devs probably aren't interested and while there are some good/great ones who aren't interested as well I find they're usually much more open minded.
Devops groups are going to have to work differently than they're used to. There could be some pushback on that.
For me the cons is vastly outweighed by the pros and 2 years in I would make the same decisions over again.
From my initial dive into Elixir/Phoenix/FP (coming from Swift-Python-JS land) I find it a bit daunting but also exciting in a way.
From a personal standpoint I'm not very fond of OO generally, it's just never clicked completely for whatever reason. The concepts I've learned about FP make a lot of sense, although I don't yet have a deep understanding of them.
Could you elaborate on 'things its not great for' - what types of things and why?
Also - could you suggest a few of the major concepts to take a look at RE: the BEAM.
The ecosystem is still young -- a lot like Rails was in the early days -- so there are rough edges, but I'm betting they will get sorted out, just like they did in Rails land.