Year-end review 2023
The last three years have been…interesting, but I finally feel like my life is getting back to some sense of normal. 2023 was my first full year as a tech lead, and I have noticed a definite change in my day-to-day activities. My wife and I also celebrated an important milestone that I’m grateful to share. With that in mind, here’s the obligatory look back on my year, as well as a look forward to what I want to accomplish in 2024.
2023 Goals
First, let’s tackle by 2023 goals from last year. I feel like I fared rather well, all things considered.
-
❌ Mess around with music more this year.
Yeesh. This was the one goal I pretty much did not accomplish. I don’t even think I picked up my guitar once this past year. I purchased a music theory course early on, but faltered a couple weeks in.
I guess I’m not surprised. Most of my spare time is devoted to coding or reading. I think one of the biggest challenges here is I don’t really have a good set up for playing/writing music. My work computer is always hooked up in the office, and I have to rearrange a bunch of stuff (and update software) just to record anything.
-
✅ More reading for pleasure.
I read 30 books this year, which is probably more than I’ve read in the past ten years combined. I rediscovered my love of fantasy with The Wheel of Time and read my first Stephen King novels with the Dark Tower series.
I think a big contributing factor to reading so many books this year was the heavy emphasis on series. It’s easy for me to read a lot when I know what I’m reading next. It’ll be interesting to see how many I can read in the coming year.
-
😐 Revisit some of my favorite books on software engineering.
While I did revisit concepts in some of my favorite books, I did not get around to writing about them. I didn’t do any writing at all! What I did do was share those books with my team members.
One book that continually came up in conversation was John Ousterhout’s A Philosophy of Software Design. It reads like a novel and offers some compelling thoughts on software design, something that’s, surprisingly, not well-taught. If you haven’t read this book and you are a software developer, I highly recommend it.
-
✅ Get back to lifting two or three times a week.
This year was my most active in a long time. I’ve continually walked on my treadmill, and, most recently, I’ve begun working out with the X3 Bar. It’s somewhat controversial (or, rather, I guess it’s inventor is), but it’s really helped me get back into lifting.
If you don’t know what the X3 Bar is, it’s basically latex bands that hook onto a bar that’s meant to mimic barbell lifts. The bands offer variable resistance, which its inventor claims is superior to working out with traditional weights. I don’t know whether or not that’s true, but it’s a compact system that gives me more than enough resistance for the time being. I’ll hopefully have more to talk about in the next year-end review.
-
✅ Rearchitect the front-end project I work on.
Without getting too much into detail, we’ve begun several projects that are slowly rearchitecting our project. We are slowly breaking our application up into several applications that will all live in a monorepo. I’ve been learning a ton about Nx, particularly how to use it to manage dependencies and enforce module boundaries.
I’m really excited about Nx and the potential it has to streamline our development process. There are some intriguing features they have planned in the near future, and I can’t wait to really dig in.
-
✅ Build a form system.
After about a year of messing around with the API design, I’m finally shipping production code that uses our new form system. It’s heavily inspired by Formik, but with a true fast field array strategy inspired by React Hook Form. The system was built in layers: a state layer managed by Zustand, an adapter layer that uses custom hooks, and a component layer. This should (hopefully) make each layer easily replaceable in the future.
I’ve now shifted my focus replacing the multi-step form component we currently use with a new design that leverages this new form system. I really enjoy this type of work because of all the challenges involved, particularly with the API design. This component needs to handle extreme customization and still be easy to use for the majority of use cases.
-
😐 Finish my talk and/or article on component architecture.
Let me start by saying there is an article. In fact, there are seven. I’ve just not felt good about the content, mainly because I’ve never been sure of the interest and whether or not I have anything new to bring to the table regarding this topic.
Another reason I’ve not put out anything on this topic is I’ve needed time to organize my thoughts. Those seven articles all say a lot of the same things but in different ways. I’m still trying to find the best way to communicate my ideas and opinions in a way that’s organized and very much from my own experience. Having said that, I think one of my goals this next year will be to finally publish this latest incarnation of the article, so look forward to that.
The highlight of my year
If you read my year-end review for 2022, you’ll know my wife was diagnosed with breast cancer in September of that year. She underwent an experimental treatment in December 2022, then surgery in November of this year.
It’s been a long, scary, sometimes extremely stressful road, but I am more than pleased to report she has been classified cancer free! After the experimental treatment, her tumor has completely disappeared, and there was no sign of microscopic cancer cells in her lymph nodes. This has been a huge relief to us both, and we’re taking some time to celebrate.
2024 Goals
- Publish three articles to my Dev Community account. I would like to do this once a month, three months in a row. I already have some ideas, including the component architecture article mentioned earlier.
- Give three presentations. My team hosts a discussion hour every other week, and I try to contribute regularly to it. Some of those presentations can even end up being article ideas, and even talk ideas for meet ups, conferences, etc.
- Read at least 24 books. I intend to keep my reading pace up. I’m always open to reading suggestions, so please send some my way if you have any.
- Take the Primeagen algorithms course on Frontend Masters. This is the year I gain better knowledge of algorithms. The problems that we solve in our front end architecture scale to massive size with some of our brands, so more and more we are relying on algorithms to help solve these scaling challenges.
- Travel to two places I’ve never been before. If there’s one thing my wife and I have learned from the past three years, it’s that the time to create experiences is now. We’re checking out Asheville, NC, first, but I’d like to see Chicago, Vancouver, and Montreal (maybe Quebec City for Christmas 2024?) as well. We’re putting some ideas together for a European trip in 2025, and I’d love to see Japan as well.
See you in the New Year
That’s all I have for now. I hope you had a great year and I hope your 2024 is even better. You’ll hopefully see more of me in the near future now that I finally feel like I have my bearings. Until next time!