Today, I presented my first programming conference talk at ElixirConf US 2021. My talk was called The Elixir Community And How To Get Involved. You can access the slides here.
As part of that project, I wanted to write a few relevant blog posts. This is the first post of a set of three:
- How I got involved with the Elixir community (this post)
- How I prepared my ElixirConf 2021 talk (upcoming)
- How you can get involved with the Elixir community (upcoming)
I prepared a brief story of how I got interested in and involved in Elixir. It’s a bit self-indulgent in that it’s I did not bother to cut much after I wrote. I’m not sure who will find this interesting or useful, but I’ll put it out there anyway.
I don’t want this to be considered anything like a prescriptive guide - it’s a description of my own unstructured journey.
In terms of method, I am using things like archived emails and my Youtube history to reconstruct this narrative. It’s quite easy because I am still in the first chapters of this story. It is still being written.
In the beginning…
…there was Javascript.
After realizing that I could not (skill, effort) and should not (mental health) continue in the world of physics, I started my journey into programming in 2017. I took a bootcamp that summer. My bootcamp was in Ruby on Rails, which I found I did not enjoy at all. I went down the front end path, in particular preferring React. I found the mental model fit how I wanted to think about software.
I worked at two or three startups in the Toronto area in full stack, mostly front end roles. I became quite familiar with NodeJS and the Javascript ecosystem.
I first heard of Elixir from Why Elixir Matters, which I watched in May 2018.
I enjoyed the talk. I was into functional programming, but I was focused on learning Haskell and FP in Typescript. I knew that too much mutable state felt wrong, and I knew that side-effects caused headaches. But Elixir didn’t seem like the right fit for me at the time - maybe it seemed too similar to Ruby.
I forgot about Elixir for a year.
I first learned how to write Elixir over a year later, in September 2019. It was for a technical challenge as part of a job interview that I did poorly on. I think it’s a testament to the simplicity of the language and the quality of the documentation that I was able to learn it in a week and hack together a Phoenix app, even if the app was poorly structured and poorly written.
I did not get the job. I forgot about Elixir for a year.
The next time I came across Elixir, it was another year later for another job interview that I also did poorly on. I did not get the job. But this time, something stuck.
I first got hooked on Elixir in October 2020. I re-did the official language guide. I realized that the language itself, especially the pipe operator and pattern-matching, fit exactly the way I wanted to express myself. I realized that I felt relief.
The day that I installed it, a bug was briefly introduced into some tooling. It was fixed less than a day after I opened an issue on Github. This was my first brush with the Elixir community, and I was impressed.
Content
Giving back
The Elixir community is so welcoming and giving that it makes you want to give right back. Briefly (because I’m running out of time to write), I’ll talk about how in my short experience with Elixir, I’ve contributed to open source and spoken at ElixirConf US.
Open source
I’ve contributed to two projects:
- Papercups, Intercom alternative in Elixir - I implemented a few features relating to SMS and email notifications
- Phoenix LiveView, Rich, real-time user experiences with server-rendered HTML in Elixir - I added two utilities that I needed when writing tests for LiveViews
My experiences here were great. I got to write code that is being used by lots of people. I got to interact with really friendly and helpful developers who gave meaningful feedback.
ElixirConf
In June 2021, I submitted a talk proposal for ElixirConf US 2021. I heard back in August that I was accepted to speak! My next post will detail this further.
Wrapping up
So there you have it, a year in review of learning and being involved with Elixir. I will likely come back to this post and include more subjective thoughts about these experiences, but I’ve laid out most of the things that went on.
I did skip a few details, like people who I spoke to along the way who were important, as well as the employment in Elixir that I’ve been lucky to land. But overall, I hope it was interesting to see how someone getting into Elixir today might do it.