2023 Year In Review
tl;dr - Even though I barely wrote anything on this blog, 2023 was an eventful year for me. I rediscovered my love for public speaking and solidified my foothold in the Elixir ecosystem with a new job at GetThru.
Getting the Speaking Bug Again
I started the year by attending CodeMash in January for the 10th time. CodeMash was the very first conference I ever went to way back in 2012 and it holds a special place in my heart. It’s always been a welcoming space I can return to every year. This was my first time back since 2020.
2020 was the first time I ever spoke at a public conference when I gave my talk on the history of version control. I had hoped to use that as a springboard to dive further into public speaking, but then COVID intervened. I gave the talk at one virtual conference, but didn’t enjoy the experience. (Ask me sometime about the only panic attack I’ve ever had in my life and how it was recorded for all to see.)
I’ve been really happy about my shift from Evernote to Obsidian, so I decided to give my first ever lightning talk on Obsidian’s DataView plugin. It was essentially Aggregating Weekly Notes With Obsidian and Dataview in lightning talk form. Unfortunately, it didn’t ever get posted to YouTube, but a version I gave for Virtual Coffee was.
I was incredibly nervous to get up on the big stage in the main ballroom, but it was exhilarating. My mediocre jokes landed and I had a steady stream of people asking me questions about it over the next couple of days. I walked off the stage that night immediately knowing that I was interested in getting back into public speaking. That came to fruition later in the year.
THAT Conference Wisconsin
Almost immediately after CodeMash I started submitting a talk on LiveView to conferences. I was disappointed to be rejected from a couple, but very excited to be accepted at THAT Conference in Wisconsin in July. I had always wanted to go that THAT, but never made it.
Getting a talk accepted is both exhilarating and nerve wracking. I’m incapable of starting to work on a talk until it is accepted somewhere. I knew that putting together this talk was going to require me to level up my Elixir OTP skills. I wanted to give a solid explanation of how LiveView works and that involves really being able to explain the Elixir process model.
I’m happy with how things turned out. Diving so deep into LiveView greatly expanded on my OTP knowledge. I’m pretty sure it was essential in me getting a new job later in the year. I put a lot of time and effort into putting both the slides and the demo app together.
A very big shout out to my breakout room in VirtualCoffee a few weeks before the conference. I was really struggling to pull together my talk into a coherent narrative and the kind folks in that breakout room really helped me out. I came into that conversation with a strong bias against live coding. That bias was so strong that it was holding me back from considering presentation patterns that are live coding adjacent.
I ended up settling on a rebuilding my demo app with checkpoints that I tagged in git. I planned out what I wanted to demo at each checkpoint and was able to fast-forward my repo to the next tag for each part of the demo. This let me iteratively build up the app without actually doing any live coding, which I still believe is mostly disrespectful to the audience’s time. Things go wrong when you’re live coding. Using tags gave me the flexibility I was looking for to show an app being built without wasting the audience’s time.
(Finally) Speaking at Momentum
I was unexpectedly invited to speak at Momentum this fall in Cincinnati. My relationship with this conference has been cursed. I first spoke with the organizer after giving my history of version control talk at CodeMash in 2020. He encouraged me to submit my talk for Momentum that fall. I was scheduled to speak in 2020, but the pandemic had other ideas.
I was invited back as an emergency replacement in 2021, but the timing was terrible and I couldn’t accept. I was literally standing in my dad’s garage figuring out how to clean out his house a few day after he died. I regretfully (and correctly) had to decline.
I was then rejected in both 2022 and 2023. I assumed the moment had passed and didn’t plan to submit the talk again in 2024. Fate intervened though and I was invited once again as an emergency replacement. It was a nice bookend to the history of that talk. I certainly won’t complain if I get invited somewhere to give it again, but finally getting to present it at Momentum felt like a bit of closure on the beginning of my speaking career.
In October 2022 I finally made the momentous (for me) switch to Elixir. I had tried to make this switch back in 2021 when leaving InfernoRed, but nobody wanted to hire me without production Elixir experience on my resume.
I’m incredibly grateful to an old acquaintance for reaching out to me when I posted something about Angular in August 2022 indicating that I was job searching. She greased the wheels to get the process started for me at Online Rewards. The odds for the following confluence of events and skills necessary to get the job are incredibly long
- I was an acquaintance (a friend of a friend) with someone whose husband worked at the company. I had met her husband a handful of times.
- I had previous professional experience with Perl, the language they were converting from.
- I had hobby experience with Elixir.
Sometimes things work out though. As my acquaintance put it, “I knew you were good people”. Karma is not always a bitch. Be kind to others and it can sometimes pay off.
However, that’s all a prelude to changing jobs again. I’m incredibly grateful to my friends at Online Rewards for getting my foot in the door in the Elixir ecosystem, but I also know early on that it was not a good cultural fit for me. That led to me keeping feelers out. I got pretty far in the interview process with a couple of well known Elixir shops, but didn’t get an offer from any of them.
In October I got an offer from GetThru. In general when considering an offer, I take the long view. Twenty years from now, will I regret not taking this opportunity? Being able to take that long view is a definitely a privilege.
That is what led me to turn down a much more financially lucrative offer when joining Husmus. I knew I would regret not rolling the dice on a startup again.
That is what led me to turn down a somewhat more generous offer when joining Online Rewards. I knew that I would regret turning down the opportunity to switch over to Elixir. I had tried so hard to make the transition only a year before and now it was being placed into my lap.
And I knew that I would regret turning down GetThru. It was still in Elixir and our values seemed very well aligned. I still had that moment of indecision when I got the offer though. Once again, I stepped back and considered, twenty years from now would I regret not taking this opportunity? In that light the choice was easy.
That decision has been completely validated so far. I’m part of an engineering team that loves Elixir as much as I do, but has far more experience with it. It’s been reinvigorating (yet again) to join a team that I have so much to learn from. I’m hoping to ride this wave as long as possible.
Continuing at VirtualCoffee
In the background of all of this, I have continued to my enjoy my time at VirtualCoffee. I haven’t talked about his publicly, but the VirtualCoffee community has been essential to my sanity since I joined in October 2021. At the time, I was the only dev at Husmus and really missing any since of wider community after I left InfernoRed. I learned about VirtualCoffee on the Greater Than Code podcast (RIP) and never looked back. I’m eternally grateful to all the organizers and community there for giving me the kind of connection I never felt from any other online community.
This year I gave my DataView lightning talk during the annual lightning talk event and tried to volunteer as much as possible as a note taker during weekly coffee chats. Volunteering didn’t happen as much as I would like, but I tried to balance work responsibilities against VirtualCoffee time.
I was very happy to meet up with many VC members during THAT Conference this summer. It was entirely different conference experience for me to have connections to both present and past keynote speakers. It was weird to feel somewhat part of the “in” crowd.
On to 2024
I’m looking forward to 2024. We’re building great things at GetThru. I’m hoping to turn at least one thing we’re working on into a conference talk. It’s a fantastic example of the power of Elixir and OTP.
Beyond that, I’m not sure what is ahead. The last few years have been choppy waters for me, but I’m in a much better place at the moment. Here’s looking forward to calmer seas and continued friendships.