Erlang Kung Fu in Three Hours

Location: Portland 256 Level: Intermediate
Average rating: ****.
(4.00, 25 ratings)

If you don’t have Erlang in your toolkit of languages, this crash course by expert Erlang instructor Garrett Smith is an opportunity for you to add it in just three hours!

Erlang is not just a language for building massively scalable, fault tolerant telecom applications. It’s a high productivity functional language that you can use every day for general programming.

This tutorial takes a unique top-down approach in teaching the language. You’ll first learn what makes Erlang different and powerful and why you’d use it. Then you’ll learn how.

Hour One: The Tao of Erlang

We’ll start with the most important feature of Erlang software design: Erlang applications are actually systems of smaller, isolated applications and processes.

This is the secret of Erlang’s incredible reliability – grokking it will set you forth on the One True Path of Erlang development.

Topics covered:

  • Erlang systems design
  • Software modularity in Erlang
  • Erlang process isolation
  • Process supervisor and fault tolerance

Hour Two: Coding Principles

With a basis for approaching Erlang applications, it’s time dive into code!

Erlang is referred to as a “high productivity functional language” – we’ll use this time to understand why. You’ll learn how to do more with fewer lines of code than you ever thought possible.

Topics covered:

  • Erlang pattern matching
  • Happy path coding
  • Error handling
  • Recursion
  • Erlang API design

Hour Three: Developer Workflow

At this point you’ll be raring to start coding! Patience, padawan. You are not yet ready to navigate the troubled waters of Erlang developer workflow by yourself!

Streamlined Erlang workflow is notoriously time consuming to pick up. In the final hour, we’ll explore our options and learn how to become productive as quickly as possible.

Topics covered:

  • Your new “favorite editor”
  • Building Erlang projects
  • Running and testing your code
  • Debugging techniques

What Isn’t Covered

The secret of teaching Erlang in three hours is to strategically leave stuff out!

Here’s what we won’t cover:

  • Language syntax and semantics – you’ll pick this up as we go along
  • Low level message passing primitives – these are implementation details that even expert Erlangers rarely use
  • OTP – we’ll use OTP under the covers, but will not learn it directly; there’s just too much there to cover in such a short time
  • Hands on coding – this is also notoriously time consuming; but the trade off is, afterward, you’ll have ample opportunity to code Erlang as long as you live!
Photo of Garrett Smith

Garrett Smith

Guild AI

Garrett Smith is a senior architect at CloudBees, a leading Java platform as a service provider. Garrett specializes in distributed systems and reliable software. His weapon of choice is Erlang, a high productivity functional language specializing in concurrency and reliability. Garrett is an Erlang instructor with ErlangCamp and the author of the e2 library extension, which was built from his experience teaching the language. Garrett is also known for his gritty tech satirical videos including “MongoDb is Web Scale” and “All the Cool Kids Use Ruby”.

Comments on this page are now closed.


Kevin Williams
07/18/2012 1:07am PDT


Picture of Garrett Smith
Garrett Smith
07/17/2012 7:59am PDT

You can get the source code created in the tutorial here:

Slides are here (in case they’re not yet posted on the speakers page):

Kevin Williams
07/17/2012 2:53am PDT

I would love to download the sample code used. Will it be available?


For information on exhibition and sponsorship opportunities at the conference, contact Sharon Cordesse at (707) 827-7065 or

View a complete list of OSCON contacts