2021 was certainly a hectic year, to say the least. I’m going to dive into some of the key events that happened in my life this year, both personal and professional.
At the start of 2021, I was working as a contractor for Daimler Trucks North America on a project called Techlane, a tool for technicians performing repairs and maintenance on Freightliner vehicles. I was primarily responsible for working on the backend, working with a combination of tools such as Java, C# (.NET Core), Docker, and SQL Server, as well as architecting the frontend (which primarily was built using Vue). We had recently shipped what was internally called version 1.0, and our team was wondering what was going to happen next.
The answer came soon enough, as word spread through our team of a support team that was going to be maintaining the app. This was espcially troublesome for a coworker of mine who was part time on our project, and part time performing support for other internal software. Seeing the writing on the wall, I started applying for new positions at the end of 2020, and was fortunate enough to start as a software engineer at This Dot Labs in February 2021.
For those unfamiliar with This Dot:
This Dot Labs provides architectural guidance, staff augmentation, on demand Subject Matter Experts, temporary CTOs, one-on-one pairing, mentorship, and open source strategy support.
Blogging, Podcasting and Presenting
As part of my new role, I was going to be working more closely with the Vue community, as part of This Dot’s online events and trainings. Through working at This Dot, I was able to start more regular blogging, and got to participate in a number of events (including JS Marathon, Vue Contributor Days, and the Vue Global Summit by Geekle). I also was able to host some of This Dot Media’s shows, including Modern Web Podcast, She’s In Tech, Build IT Better, and JamHack. After being a part of Views on Vue through 2020, it was so much fun to be a part of This Dot’s podcasts and videocasts as well. I learned so much about presenting and teaching while I was there. I really enjoyed working with Sarah Ronau, Tara Hampton, and Ann Marie Tonog while working on the all the shows.
In addition, I continued to participate in Views on Vue, which has been an amazing way to meets lots of awesome folks in the Vue community. In total, I participated in 58 events across podcasts, YouTube shows, meetups, and conferences.
Working with Wikimedia
I wasn’t only working on the community side, of course. Since This Dot is a consultancy, I had a handful of clients that I was able to work with (most of which I’m under NDA about). One client that I can certainly talk about was the Wikimedia Foundation. I was able to work with Wikimedia from my first week at This Dot until my last day (spoilers!). I worked with Adam Baso, Denny Vrandečić, and the rest of the team behind Abstract Wikipedia. From the public page on this project:
The goal of Abstract Wikipedia is to let more people share more knowledge in more languages. Abstract Wikipedia is a conceptual extension of Wikidata. In Abstract Wikipedia, people can create and maintain Wikipedia articles in a language-independent way. A particular language Wikipedia can translate this language-independent article into its language. Code does the translation.
Wikifunctions is a new Wikimedia project that allows anyone to create and maintain code. This is useful in many different ways. It provides a catalog of all kinds of functions that anyone can call, write, maintain, and use. It also provides code that translates the language-independent article from Abstract Wikipedia into the language of a Wikipedia. This allows everyone to read the article in their language. Wikifunctions will use knowledge about words and entities from Wikidata.
This will get us closer to a world where everyone can share in the sum of all knowledge.
If this is something that sounds interesting to you, I highly recommend checking out this video presentation from Wikimania (at least the first 12 minutes or so):
I absolutely loved working on this project! The mission of providing Wikipedia articles in any possible language sounded incredibly interesting, and getting to work on the Wikifunction part of the project was so much fun. I loved getting to work with James, Geno and Cory on the engineering side, and Adam, Denny, Nick, Aishwarya, Diana, Moriel, and all the other members of the Wikimedia Foundation while I was there. There are so many wondeful and insightful people working there, I wish I could list them all.
Work From Home
As with most tech companies and organizations, Damiler Trucks was forced to send our team to work from home, rather than work from the office. However, this work-from-home situation was always couched as temporary. Before we knew the extent to which Covid would impact 2020 onward, we had regular check-ins with our direct managers to ensure we could keep working. By the end of April, this wasn’t required, and we were allowed to work from home until otherwise stated. There was no plan, however, for how remote work was supposed to happen. While there were some distributed teams (we were working with a team in Detroit), meetings were all held in meeting rooms, calls were with desk phones, and digital communication was typically through email. We eventually got up to speed, but there was always a looming “back to the office” feeling across the company.
With starting at This Dot Labs, I was able to shift to working from home 100% of the time, without any worry that I’d eventually be required to go to the office. I no longer had to think about a commute, and I was able to set my work hours (I like working early in the day). This permanent shift to working from home made me feel more comfortable investing in my home office setup, as well, leading me to buy some new equipment over the year (including a high quality webcam and external microphone). I felt so embarrassed at my first event with This Dot due to my nose camera (my laptop at the time had its webcam mounted into the keyboard).
A Chance Encounter
Through podcasting, I’ve met a ton of amazing folks (if you want to see who, go check out my media page). I started participating as a co-host on Views on Vue in November 2019, and quickly my favorite part of podcasting was talking with cool people about what they find interesting. I got to continue this as part of Modern Web Podcast, but with the added benefit of connecting with folks beyond the Vue ecosystem. In July, I had an opportunity to interview Richard Feldman, head of technology at NoRedInk and a major voice in the Elm ecosystem (if you haven’t watched any of his talks, I highly recommend From Rails to Elm and Haskell and Why Isn’t Functional Programming the Norm) about Elm. For context, I interviewed at NoRedInk in October 2020, but due to Covid and my level of experience at the time they weren’t able to offer a position to me at the time. During that process I’d gotten a chance to meet Richard, and thought it would be a great opportunity to connect again. The episode, titled Elm with Richard Feldman, was a high point of the summer.
In the end, I decided to take the offer, and make the switch to NoRedInk. I treasure all the friendships I made while at This Dot, and while I was only there for a brief period I know it has made a huge impact on my life.
A Functional Start
I began working at NoRedInk in October 2021, as part of the writing experience team. For those unfamiliar, NoRedInk is an education platform for learning English and writing, targeted towards middle and high school students. I met my new team, and got to work on the product. I was quickly immersed in functional programming languages, getting to write Elm on a daily basis and starting to explore Haskell. The culture at NoRedInk is also fantastic, with a strong tradition of pair programming and teaching these more obscure programming languages to new hires. I was regularly meeting with team members, learning more advanced concepts of functional programming and actually using them in production code.
Because of the immersion into functional programming, I was also able to take that knowledge to my side projects. My longest running project, a turn-based strategy game, is programmed in Elm, but with the technical finesse of someone unfamiliar with the language. I’ve since been able to go back through the codebase and clean it up, improving performance and stripping away functions that I didn’t actually need after all. I also was able to put a lot of effort into a library for rendering Elm apps inside of Vue, called elm-vue-bridge. I originally started that project a couple years ago as an experiment, but I’ve since been able to update it to work with Vue 3 and integrate nicely with the Vue API. I also got to try out Vuepress on a real project, which is something I’d been wanting to do as well.
I’ve also started doing more blogging on Elm in general, and even did a live stream on Twitch (as an experiment) on the basics of Elm. It’s been pretty fun overall, and I look forward to continuing to do more in the future!
Into 2022, we go!
Looking forward into 2022, I’m very excited for what is to come in the future. I plan on continuing to blog and podcast about the tech that’s interesting to me, and take care of myself and my family as we continue to navigate the pandemic. I wish you all the best, and that you are all able to stay safe and be well. Here’s to 2022!