30 Years On and In the Beam. Mastering Concurrency

Erik Stenman


This presentation charts the evolution of the BEAM virtual machine over 30 years, focusing on its concurrency model and its role in fostering robust, fault-tolerant systems. It will cover the progression from Erlang’s implementation in Prolog to the creation of JAM and the subsequent development of the BEAM. The talk will include technical experiences from Klarna, highlighting how BEAM’s architecture supports efficient and reliable concurrent programming. It will give you insight into how to think when developing concurrent programs.


  • To provide the audience with a comprehensive understanding of the BEAM virtual machine’s evolution over three decades, focusing on its concurrency model and fault-tolerance capabilities.
  • Inform the audience on technical aspects of BEAM, such as schedulers, process isolation, and memory management, and to demonstrate how these components contribute to efficient and reliable concurrent programming.
  • To guide attendees on approaching concurrent system design using BEAM, advocating a shift from traditional object-oriented thinking to a more flow and task-oriented approach.
  • To inspire current and future developers, engineers, and enthusiasts to engage with BEAM and to foster a sense of community among BEAM users and enthusiasts, encouraging collaboration.

AUDIENCE All developers on the BEAM

Introductory and overview