Operable Erlang and Elixir

Any system that is successful necessarily grows more complex. This means that code gets messier, but also that the people who are part of the system have to handle ever-increasing complexity.

It is not sufficient to take a code-centric approach; to make our Erlang and Elixir systems truly operator-friendly, we have to understand how our mental models work, and what constitutes good automation. Finally, we need to be aware of all the tools the Erlang VM makes available to us to truly deal with the unexpected.


  • Introduce some concepts to think about complexity in large systems and how humans cope with it
  • Give measures of what makes a good or a bad abstraction in complex systems; what to automate and when to do so
  • Present some of the tools that the Erlang virtual machine provides to deal with big surprises and point to ways to introduce them to your regular workflow


People nervous about having to operate and debug the Erlang and Elixir systems they put in production, or curious about the ways in which they could improve that experience.