Good Day, Maxim

loop(0) ->
loop(Count) ->
    loop(Count - 1).

My first Erlang engagement was brief and fierce. I still remember shaking my head with “How do I do a loop” and “it’s better than a Makefile”.

I did not consider that affair serious, but was surely intrigued. And I was absolutely stunned to find out that WhatsApp, that I just joined in 2016, adopted Erlang as the primary language, and OTP for runtime, to run the largest messaging platform in the world.

It took me a couple of years to build confidence – I understood Erlang/OTP deep enough to make improvements. At the same time I realised how hard it was to find and collect knowledge bit by bit. There were only a handful of books and some blog posts on Erlang Solutions website. No community-endorsed guidelines, no coding style debates, just a few scattered blog posts here and there.

After making the same explanation – or debugging exercise – over and over, I decided to have that knowledge written down and stored for future reference. That’s how I created a series of internal wiki pages, collected under the “Erlang Workshop” title, and a lot of other content. But the company moves very fast, and in just a few months and several reorgs these documents were hardly discoverable. And I started looking for a better medium.

One idea was to introduce WhatsApp engineering blog (which we eventually did), but Erlang deep-dive posts won’t fit the narrative. Then I considered Erlang Ecosystem Foundation website, but found that I have to create the blog application first, before starting with content.

Several years passed, and I still didn’t have a web page to dump my absolutely brilliant posts to. One cold morning, pedaling up Mt. Umunhum, I remembered it only took me just a couple of days to build the original site. We actually spent just as much time in discussions what would be the right domain name for it. Quick ride down, lightning-fast check… unbelievable, but was mine to register.

So… hi, I’m Maxim. Or, just Max, the one that loves Australia. I’m going to talk about random things I found interesting on my Erlang Journey.

Leave a Reply

Your email address will not be published. Required fields are marked *