I started programming professionally around 5 years ago. At that time, I used Python because it was the only programming language I knew. With Python and Django (and some Javascript), I was able to create a simple app (with a lot of simple customizability) for helping sales people input orders with some required business logic. At that time, no other product on the market could fulfill the requirement. So, I built it myself. It worked well, and the company was happy.
Fast forward 2 years later, the small project was becoming bigger. My employer wanted to make it a startup. They then decided to appoint me as the founding engineer to make it a SaaS. I continued the project using Django with Python and added a separate frontend with Nuxt.js. It quickly required a lot of technology to serve the growing requirements: Celery, Redis, websocket to name a few. As we were a small team (5 people at that time), this was quite a burden.
Just about early 2023, I learned about Elixir. It was when I needed to develop notification system functionality. I eventually chose Elixir since it is the right fit and I like the syntax and paradigm more than the other choice (Go). It was also the first time I learned about functional programming and fell in love with it since. After I successfully deployed the notification feature with success, I then decided to use Elixir for all the new features, and rewrite some of the features that’s previously written in Python, especially for the ones that require high concurrency. So far, I was very happy with the current setup that only requires dockerized Python, Elixir, and Nuxt with managed Postgres. Simple, but not any simpler.