Francesco Cesarini

Founder of Erlang Solutions

Founder of Erlang Solutions Ltd. He has used Erlang on a daily basis since 1995, starting as an intern at Ericsson’s computer science laboratory, the birthplace of Erlang. He moved on to Ericsson’s Erlang training and consulting arm working on the first release of OTP, applying it to turnkey solutions and flagship telecom applications. In 1999, soon after Erlang was released as open source, he founded Erlang Solutions, who have become the world leaders in Erlang based consulting, contracting, training and systems development. Francesco has worked in major Erlang based projects both within and outside Ericsson, and as Technical Director, has led the development and consulting teams at Erlang Solutions. He is also the co-author of 'Erlang Programming' and 'Designing for Scalability with Erlang/OTP' both published by O'Reilly. Lecturer at the University of Oxford, participated in the Future Learn Erlang MOOC, O'Reilly and U. of Kent online Master Classes and regularly conference talks and tutorials.

Past conferences

Joe Armstrong / Francesco Cesarini
Code Mesh LDN 2018
Tutorial/ 07 Nov 2018
13.30 - 17.00

Thinking Concurrently

13:30 - 17:00

How do systems built in Erlang, Elixir or any other BEAM Language differ from other systems? To start with:

  • They are designed from the bottom up to run 'forever.’
  • They are designed from the bottom up to expect, and recover from errors.
  • They are expected to evolve.
  • They scale seamlessly

How is all of this achieved?

The answer is simple - by making systems from sets of isolated communication processes, and by treating errors and code as first class objects that can be sent in messages over a network.

In this tutorial, Joe Armstrong will introduce what he calls the `Erlang way of thinking.` He will cover:  

  • Basic data types
  • Sequential Programming
  • Concurrent Programming

In Basic Data Types & Sequential Erlang he’ll introduce the foundations and talk about Modules, Functions and Pattern Matching. Once you've understood the basic pattern matching mechanism the rest is easy. In concurrent programming he'll talk about processes and their life span. You will look at sending and receiving messages, selective reception, and passing data in the messages. Joe will conclude this section by introducing the simple but powerful error handling mechanisms in processes which help detect and isolate failure. Time permitting, he will also cover distribution, showing you how, by doing it right form the start or with very few changes, you can write a program intended to run on a single VM and distribute it in a cluster.


To learn the Erlang way of thinking when architecting and developing systems.


Developers and Architects interested in the principles which make Erlang, Elixir or other BEAM based languages unique.