axelson

axelson

Scenic Core Team

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

Most Liked

AstonJ

AstonJ

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:

x1000000000000!

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.

mkaszubowski

mkaszubowski

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.

Where Next?

Popular in Talks Top

JuanjoA
Hi, I don’t know if I have the post in the right place. I put here in case you might be interested, I am not the author, I just found it...
New
CodeSync
Code Sync: Writing much better tests in Elixir by Xochitl Pérez | Code BEAM Lite Mexico 2023 Comments welcome! View the <span class="has...
New
brightball
Since the comments are turned off on the YouTube videos, I’m going to post on talk per day on here for viewing and discussion…starting wi...
New
CodeSync
Introducing Phoenix Sync - James Arthur | ElixirConf EU 2025 | ElixirConf EU 2025 Comments welcome! View the <span class...
New
axelson
ElixirConf 2017 - Managing Tables With Elixir and OTP - Robert Beene We’ve all waited for a table at a resta...
New
axelson
ElixirConf US 2018 – Simple is Beautiful: Building an SLA Monitoring Tool Using Elixir/OTP at PagerDuty – Aish Dahal ...
New
blatyo
Looks like videos have started to go up for ElixirConf US 2018. Here’s the playlist of ones available so far. I expect it’ll get updated ...
New
Lawrence_elixir
ElixirConf EU 2019 talk videos ElixirConf EU 2020 - Early bird tickets on sale now! Website: http://www.elixirconf.eu Twitter: www.t...
New
axelson
by @jon At PagerDuty, we run our systems across many geographic regions to ensure we’re always available, even when you might not be. E...
New
axelson
ElixirConf 2017 - Building Realtime Mobile Apps with React Native and Elixir - Osayame Gaius Obaseki Buildin...
New

Other popular topics Top

AstonJ
Posting this to see if we can make things easier for people to get into Neovim. If you use Neovim and have a favourite distro please let ...
New
greenz1
I have a phoenix application from which a user can download multiple(5-6) files of size 1MB. I couldn’t find anything related to sending ...
New
ovidiubadita
Hey all, I discovered Elixir and I love it. I always wanted to learn a functional programming and I intended to go for Haskell, but afte...
New
Lily
In templates/appointment/index.html.eex: &lt;%= for appointment &lt;- @appointments do %&gt; &lt;tr&gt; &lt;td&gt;&lt;%= appoi...
New
RisingFromAshes
I’ve read in another post that it may be possible with a router helper - but I couldn’t find an appropriate one, and tbh, I’m still just ...
New
nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
dblack
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar. I p...
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New
sergio
Kind of like when jquery came out, it was super necessary. Existing drag and drop libraries have a bunch of baggage to support old browse...
New

We're in Beta

About us Mission Statement