BEAM Dreamers #3: Concurrency in Practice


Details
BEAM Dreamers #3: Concurrency in Practice
Reading + Discussion: Concurrent Data Processing in Elixir
Elixir is famous for concurrency—but once you get past `Task.async`, the ecosystem can get overwhelming fast. Supervisors, GenServers, GenStage, Flow, Broadway... when and why do you reach for each?
This month, we’re diving into Concurrent Data Processing in Elixir, a practical guide to writing performant, scalable, and fault-tolerant systems on the BEAM. Whether you’ve read the book cover-to-cover or are just curious about the tools, you’ll leave with a clearer map of the concurrency landscape.
We’ll cover:
- When to use `Task`, `GenServer`, or Supervisors—and when not to
- What back-pressure really is, and how GenStage handles it
- How to build multi-stage data pipelines with Flow and Broadway
- Patterns for scaling your systems without breaking them
If you’ve ever felt uncertain about which OTP tool to reach for—or just want to build systems that stay up under load—this meetup will give you the insight and vocabulary to make the right call.
No prep required, but if you’ve read the book or experimented with any of these tools, come share your perspective.

BEAM Dreamers #3: Concurrency in Practice