13) ElixirConf US 2018 – We're Just Getting Started - Our Three Years with Elixir – Maciej Kaszubowski

ElixirConf US 2018 – We’re Just Getting Started - Our Three Years with Elixir – Maciej Kaszubowski (@mkaszubowski)

The story begins on August 12th, 2015, not even one year after the Elixir 1.0 release. Phoenix is on version 0.16.1, Ecto callbacks haven’t been deprecated yet. My current boss pushes our first Elixir commit to Gitlab.

ElixirConf is happening on September 4th, 2018. Three years and 60 thousand lines of code later, the project is still alive, serving one million registered users. We’re now on Elixir 1.6 and Phoenix 1.3. Ecto callbacks are long gone and only few of us can remember them.

A lot has changed. We’ve made a lot of mistakes. This is a success story, though. Running the same project for such a long time gave us a unique opportunity to observe how the language changed and became really mature. This talk will try to share some of the lessons learned during this time and insights on how changes in the ecosystem affected our codebase.

Audience: Beginner, Intermediate
Topics: #production

All talks are available in the ElixirConf US 2018 Talks List or via the #elixirconf2018 tag

1 Like

Great talk Maciej! I was really interested in hearing how Elixir’s changed from someone who has been using it in production for several years. This was my favourite slide from this talk:



I never really felt like a Rails developer while using Rails, but more like a Rails user. Coming over to Elixir you start to learn about how you might want to architect your app with processes, supervisors, whether to persist data, state etc. It’s completely changed the way I think about building apps - before I would plan an app based on models and their r/ships, now, I’m thinking about processes, state, and everything else we’re exposed to thanks to Elixir and Erlang.


Thank you, I’m glad you feel the same way :slight_smile: This was actually the turning point for me when preparing this talk, when I realised that most of the problems we’ve been solving for the past three years are not elixir problems, but problems related to our domain or computer science in general.

This is really liberating when compared with other technologies, because I’m not longer thinking How should I do X in Elixir?, but rather How should I do X?. This means that I’m able to explore possible solutions across different languages and paradigms and I’m not constraint by any one tool.

I’m really happy that I see this trend across the entire community. A lot of people are exploring different technologies and ideas. Type systems, property based testing, Domain Driven Design, distributed systems are only a few examples of things that are extremely valuable (even if not used in day-to-day work), and none of them is really tied with Elixir/Erlang.