
← BEAM There, Done That28 Aug · 35 min
Inside WhatsApp with Roberto Aloi & Michał Muskała
<p>Everyone quotes WhatsApp when the topic of Erlang and scale comes up. Fewer people know what it actually looks like from the inside - what was hard, what was never hard, and what the team spent their time on once the concurrency stopped being the problem.</p><p>Roberto Aloi and Michał Muskała work on the team keeping it running. This is the first of two episodes with them.</p><p>Topics include:</p><ul><li><p>what Roberto's first Erlang moment was - implementing a GenServer for a robot at university and learning binary pattern matching felt like cheating</p></li><li><p>why Michał came to Erlang backwards, from Elixir, and what the tooling gap actually felt like</p></li><li><p>the column numbers OTP bug that caused cascading failures and taught Roberto what no documentation could</p></li><li><p>the optimization that made the JSON Unicode parser slower - binary pattern matching was the wrong tool, and a custom state machine was faster</p></li><li><p>what "let it crash" actually means at WhatsApp scale: letting it crash is the easy part, recovery is where the engineering lives</p></li><li><p>why the 30th employee was the first person at WhatsApp with Erlang experience - and what that means for hiring</p></li><li><p>the most misunderstood thing about Erlang at WhatsApp: scaling isn't the exotic part, keeping the codebase healthy is</p></li><li><p>how WhatsApp does deployments: 1% of servers first, one region next, monitoring throughout, ready to roll back</p></li><li><p>what types of failures become normal at this scale - and why disaster recovery drills are a regular practice</p></li><li><p>overly dynamic code as the anti-pattern that creates the most sustained pain</p></li></ul><p>Part two covers ELP, Equalizer, and the tooling that keeps a codebase this large navigable. You want both.</p><p>Recorded June 25, 2026.</p><p><br></p>