A few years ago (2019, to be precise), while doing some sort of training, Bossman, our boss (not his real name, of course), arrived in the boardroom while reading something on his phone. “You’ve got to try this,” he said while showing us a snippet of code. “This is Elixir, a progeny of Erlang. It runs on the BEAM as well.” He was teaching us functional programming in Erlang.
From the official site:
Elixir is a dynamic, functional language for building scalable and maintainable applications.
Elixir runs on the Erlang VM, known for creating low-latency, distributed, and fault-tolerant systems. These capabilities and Elixir tooling allow developers to be productive in several domains, such as web development, embedded software, data pipelines, and multimedia processing, across a wide range of industries.
By then, I, in particular, had no prior knowledge of programming whatsoever. Erlang was my first ever language and I was a little bit overwhelmed. So, I didn’t try Elixir out of pure, untapped laziness. Last year, somewhere around August, after grasping the basics of Erlang, I decided to try the Elixir track on Exercism. Even though I didn’t finish the track, I somehow liked it and wished Erlang had some of those Enum functions. Oh, hot damn, the pipe operator was freaking awesome.
Now, I’m back, in full swing, to learning the language because of DockYard Academy’s awesome open-source curriculum. Thanks to Brooklin Myers, the content creator behind the lessons and exercises in the course. The curriculum was still in the beta development stage when I discovered it around November last year. I even made minor (typo fix) contributions to it (well, what do you know, a contribution is a contribution).
Even more exciting for me is that somehow, by luck, I get to be part of the first cohort which starts today (see the post date, will you?). It’s my first ever boot camp and as usual, I’ve no clue what to expect. I’ve read blog posts from some of the beta students and testers here and there and the expectations seem scary (in a good way, though).
For starters, the classes run Monday to Friday from 09:30 to 15:00 PST, which, in EAT, is 20:30 to 02:00. Damn! Timezones and I have always got beef. Despite all these, I’m still excited to learn and plan to give it my best because it’s not like I’ve got children who would die of neglect as I juggle the course with my side hustles and everyday life needs.
For those who have never heard of or tried Elixir (which is a shame!), this curriculum has got all the basic stuff you need as a newbie full-stack Elixir web developer. What to expect includes but is not limited to;-
- Elixir fundamentals.
- Mix projects.
- OTP fundamentals and how to build fault-tolerant concurrent systems.
- Advanced Elixir syntax.
- Building full-stack web applications with Phoenix.
- Managing Relational Databases with Ecto to model real-world data.
- Using LiveView to build interactive, real-time web apps with minimal JavaScript.
- Best practices for developing robust and maintainable web applications.
- Troubleshooting and solving problems that arise while building web applications, etc.
Generic Servers reading material from the GenServers section of the course
Anyone can access the Elixir curriculum for free and learn to build scalable and maintainable applications. This, coupled with what the BEAM is known for (creating low-latency, distributed, and fault-tolerant systems), might just be what you’ve always been looking for. The same curriculum is used for the paid instructor-led academy.
I plan to post regular updates on what I learn as I go through the course, probably on cohost (oh, yeah! A new social media platform) as it allows for longer posts and even markdown as compared with other social media platforms. Do check it out if you want.
Did you know that Elixir was released in 2012? Yes? Au revoir!