A few days ago I said Iād make this website more personal. The year is coming to an end and Iāve got some free time. So I thought Iād hit the āsnoozeā āpauseā button, look back and reflect on what happened in 2023. Iām not the kind of guy who does new years resolutions but I think doing a retrospective and capturing the what was important to me is a good way to end the year. Who knows, maybe this will become a recurring thing moving forward.
This is going to be a long one. I wonāt tell anyone if you skip straight to the sections youāre interested in:
- š» Work
- š Learning
- āØ Pet Projects
- šŖ Health & Exercise
- šŗļø Travelling
- šø Music
- š Books
- š Cooking
Work
2023 has been a wild roller coaster ride at Stack Overflow.
The year started out with fantastic news for myself. I got a promotion in April. Iām now a Principal Software Engineer. Instead of working on one of our product engineering teams, I now report directly to the CTO and act without a direct team. My work revolves around engineering-wide initiatives, establishing a strategic direction for our engineering teams, doing tons of research work, and evolving our architecture in a collaborative way. This promotion was quite a big change for me and I still feel like I donāt have a good idea of what Iām doing. The new role is a healthy stretch and Iām learning a lot about working strategically, software architecture, and influencing people. Jody, our CTO, is honestly a great role model for me (and no, he didnāt pay me to say this, but maybe he shouldā¦?) and I learn a lot from working closely with him.
We had a company meetup in Chicago a little later. It was amazing to see a lot of my coworkers in real life for once, and we had a good time over food, drinks, games, and exploring the city.
Over the course of the year we managed to turn our newly established āArchitecture Guildā into a highly collaborative community. Engineers across the company feel safe and comfortable pitching new ideas, getting feedback, discussing trade-offs and agree on distinct and helpful steps forward in a respectful and collaborative fashion. Iām really proud of what we achieved here and Iām happy to see that we take a much more collaborative approach to software architecture that enables teams to act more autonomously at the same time.
Unfortunately, a large part of the year has been much less sunshine-and-rainbows for the company and many of my coworkers.
The company announced layoffs in May (letting go of 10% of our people) and once more in October (this time 28% of our folks have been affected). I got lucky. Iām still there. But seeing a lot of people I loved working with being let go sucked big time and had a massive impact on my morale. The new focus on AI seems understandable given the excitement LLMs generated this year. Personally, Iām skeptical about the current industry-wide trend of sprinkling āAIā over each and every product in an attempt to cash in on the current hype. I understand why it can be a reasonable and necessary move for Stack Overflow, and some of the features weāve got in the pipeline genuinely look like huge steps in the right direction. But thinking about LLMs and AI isnāt really that exciting to me personally at this point.
Taking some generous vacation at the end of the year helped me to take a deep breath and recharge. Iām happy to go back and kick butt in the new year, and I hope we can soon recover from whatās been a challenging year.
Learning
Learning new things isnāt just a necessity in my job as a software developer, itās also something that naturally excites me. Obviously there are a lot of things I learn unintentionally, because I mess up and learn the hard way. And then there are things I learn intentionally, by setting aside time and focus to learn more about a given topic.
Here are a few things I learned this year:
- Software Architecture: In my new role as Principal Developer, thereās a bigger focus on software architecture than before. I took a lot of time this year (and the year before) to sharpen my saw and (re-)discovered a lot of evergreen lessons around software architecture. My main takeaways revolve around the benefits of modularization, awareness of coupling and cohesion, and how architecture and organizational structure influence each other.
- Elixir & Phoenix: Elixir continues to fascinate me. I started playing around with Elixir and Phoenix, an Elixir-based web framework, years ago but I never got beyond early explorations. The language and its ecosystem excites me like hardly any other language before. The functional programming style takes time to get used to as Iām someone who grew up on object-oriented languages. I donāt have an excuse to learn Elixir on the job so Iām trying to get better by doing silly pet projects a few exercises on exercism, and reading a ton of books about Elixir, Phoenix, LiveView, and OTP. Itās challenging me in a fun way and makes me think about distributed systems much differently than ever before. My progress is slow, but its progress nonetheless, and Iām still having fun.
- CSS & Frontend: I rebuilt my personal website a few weeks ago. This gave me an excuse to start from scratch and learn a few new things that popped up in CSS and frontend land since I last paid attention. I got to play around with astro (which was really fun), get a deeper understanding of CSS
flex
andgrid
layouts (and freaking margin collapse), the new native CSS nesting, transitions and animations, and much more. - Svelte: Stack Overflow finally decided to adopt Svelte as a modern JavaScript framework after years of using jQuery and home-grown solutions extensively. I had taken a look at Svelte before, but seeing it being used at work gave me another excuse to go deeper. I built two tiny pet projects for myself and friends that proved to be great fun (Iām absolutely not going to share those projects here, theyāre way too silly and personal). I continue to be hesitant around using single page application (SPA) architectures by default (and I think stackoverflow.com works great as a server-side application with the occasional JavaScript sprinkled on top for better user experience) and I appreciate the flexibility Svelte brings to the table, from being the small sprinkle of JavaScript all the way to being a full-blown SPA framework (via SvelteKit).
- AI & LLMs: Learning something about AI, neural networks, large language models, and embeddings turned out to be inevitable in 2023. For me, this was no different. Due to the massive hype that large language models like ChatGPT sparked this year, everyoneās trying to jump on the hype train. As I was largely ignorant about anything related to artificial intelligence, machine learning, and natural language processing until now, I had quite some homework to do in order to understand the basic concepts and what everyoneās talking about. Iām happy I did my homework and got to a good enough understanding, but I canāt say that this is anything I get particularly excited about.
- Leadership: Being authentic, transparent, and vulnerable is my preferred way to lead. I learned this before, and Iāve discovered this again and again over the course of this year. Saying āI donāt knowā if you donāt know something is often a great idea. Admitting and owning your mistakes builds trust like hardly anything else. So does being yourself instead of putting up a facade. In my new role, I need to convince and influence a lot of smart and experienced engineers. I need to find and shape a long-term direction for all engineering at Stack Overflow, and that means getting buy-in from a lot of people as Iām leading without authority. Iāve been most successful convincing and influencing people to consider a new direction when I openly admitted I donāt have all the answers, when I was open about where Iāve been wrong, when I apologized and owned mistakes I made along the way. Tanya Reillyās The Staff Engineerās Path has been a great resource for me.
- Making decent Neapolitan-style pizza: Iāve probably made over 100 of those over the course of the year. Iām still far away from making perfect Neapolitan-style pizza, but Iām getting better every time. It takes practice and patience, and itās a super fun process. And a shitty pizza is still a great pizza, so itās a tasty journey.
Pet Projects
I havenāt done a lot of programming on the side over the past few years. Spending a good portion of my time at work writing, reading, and reviewing code didnāt exactly spark a lot of desire to do more of that after work. In the past Iāve built projects like doppelkopf.party (which is still unfinishedā¦) but I couldnāt get myself to create or maintain anything as significant as that recently.
Towards the middle of this year, things started to be a little different. As my day-to-day job became increasingly hands-off, I missed building and shipping actual software and experiencing the thrill of building something out of nothing. I gradually started doing a few things on the side again. It started innocently, with me overhauling my dotfiles a little bit, tweaking my tmux
config and getting a pretty sweet neovim
configuration set up. After that bike-shedding was largely done, I moved over to a few tiny and fun projects that I only shared with a few close friends.
Next up I decided to rebuild my personal website (thatās the site youāre looking at right now) from scratch. The previous version had been built on top of Jekyll about 10 years ago. Over the years, messing with Jekyll and Ruby became more of a hassle than I liked, and the global CSS structure I used proved to be pretty brittle. On top of that I wanted to get a fresh design. With that I got the perfect excuse to rebuild everything. I ended up picking astro and really enjoyed its component-based approach that allows me to build small, isolated components easily and compose them into a full-blown website. It also made me think a lot about how I want to use my personal website moving forward and I sincerely hope that I can get into the habit of writing more frequently.
Lastly, during my winter vacation, I decided to build the prototype of a silly digital trading-card game for my friends. The prototype is based on SvelteKit and feels like a weird yet hilarious mix between PokĆ©mon cards and Dungeons and Dragons. Itās full of inside jokes, light-hearted jabs at everyone of us, and turned out to be a fun surprise for everyone.
Iām happy that I got back into the habit of programming for funās sake. Itās always been one of the best ways for me to learn new about new technology, feed my creative urge, and share something fun with friends. Working on pet projects is a balancing act since it means working on a computer even after work is over. My wife often makes fun of me for sitting at my desk during my free time, indistinguishable from my regular work day, and I appreciate that sheās got a point there. Itās important that doing side projects provides relaxation and healthy stimulation, not stress, and that I keep room for enough time away from screens, time with family and friends, time to simply unwind.
Health & Exercise
Iām stoked to say: Iāve probably never been in a better shape than now. Iām fortunate that Iām healthy, both physically and mentally, and can do all of the things I want to do. Letās hope it stays that way for a long time to come.
A few years ago, I started exercising more seriously. I assembled a small home gym that has grown into something more substantial over the years. Iām mostly doing powerlifting-style training, chasing heavy PRs in my Squat, Bench Press, Deadlift, and Overhead Press.
My garage gym, including a rack, barbell, lots of weights, bands, a few kettlebells, and an Echo Bike.
Getting a wide range of gym equipment right in my garage was the best decision I made to improve my physical health - and my mental health by extension. Thereās hardly any excuse. āGoing to the gymā means changing clothes, walking into the garage, and going wild. Thereās no long commute, no shitty weather, no annoying people preventing me from going. This works so well for me that I consistently manage to work out 4 to 5 times per week without needing a lot of convincing. Itās grown into a habit and if I skip workouts I feel like somethingās missing.
I work out during my lunch break. A workout session usually takes between 45 and 60 minutes. This allows me to split my day into two distinct halves, interrupted by a heavy-ass workout and some light lunch. Since a lot of my colleagues are located in US time zones while Iām sitting here in Germany, my mornings tend to be quiet, with a lot of focus time, while my afternoons are for meetings. My workout/lunch break allows me to move from being focused and heads-down to the more social part of the day. Both parts take a very different mindset, so having a clean break in between really helps me switch gears.
This year I did a bit of experimentation and changed my routine a few times. In the beginning of the year I got tired of constantly trying to grind out personal records on my main lifts and wanted to change things up. I wanted to shed a few pounds, too.
I chose Brian Alsruheās Reps Per Minute program over summer. Itās a 9-week program with a focus on conditioning, taking a break from overly heavy lifting, and losing some fat while youāre at it. It kicked my butt in a good way and was so much fun that Iām probably going to run it again next year.
The program was as fun as it was effective. My conditioning went up, I learned about and improved on a few weak points I was unaware of before, and I lost a solid 5kg (11 pounds for my American friends, 0.787 stone for my UK friends) of weight while retaining my old rep maxes. While the program certainly contributed a good amount to my weight loss, tracking my diet more diligently probably had a bigger effect. In the past I always struggled with tracking macro-nutrients and food intake. It stressed me out and made me feel guilty and anxious non-stop so I quickly stopped doing it altogether. This time I tried a (paid) app called Macrofactor and itās been working well for me. The app provides a lot of data and insights into what youāre eating, comes with great recommendations how much of what you should be eating to reach your goals (fat loss, maintenance, or gaining weight), has a very effective self-regulating mechanism, and ā most importantly ā is absolutely non-judgemental. If you overshoot your caloric goal while youāre trying to cut weight, thereās no āyeah, buddy, you messed up here, didnāt ya?ā. It just reports that you overshot your target. No biggie. Weāll do better tomorrow.
Over the course of the year I managed to increase my Deadlift 1RM and my Squat 1RM while dropping my bodyweight . My Bench and Overhead Press remained fairly stagnant. Thatās okay, Iāll try do drive those numbers up next year.
2022 | 2023 | Ī | Ī (%) | |
---|---|---|---|---|
Weight | 93kg | 88kg | -5kg | -5.4% |
Squat 1RM | 152kg | 165kg | +13kg | +8.6% |
Bench 1RM | 110kg | 115kg | +5kg | +4.5% |
Deadlift 1RM | 178kg | 192kg | +14kg | +7.9% |
Overhead Press 1RM | 78kg | 78kg | 0kg | 0% |
Physical exercise and its second-order effects are a large contributor to my mental health. Time and time again I discover how doing heavy workouts regularly helps me process the things that happen around me, at work, in my family, with my friends, all the things that occupy my mind. On top of lifting heavy, I walk the dog 2 to 3 times a day, most of the time together with my wife. These walks force me to get outside (which can be harder than you think if you work from home all the time) and give me and my wife time to connect and talk about anything from big life events to the mundane trivialities of everyday life. Exercising gets me tired, which means Iām more likely to stick to a healthy sleep routine, which in turn has a positive effect on my wellbeing itself. Exercising gives me time to step outside, spend quality time with my wife, which means we have a healthier relationship. And exercise keeps me excited as Iām getting better at what I do, and getting better is super motivating in itself. Also, seeing my dog Lenny roaming woods and meadows just makes me happy. I mean, how couldnāt you be happy joining this gorgeous fella doing what he loves?
Iām fortunate to have a job that allows me to work like this. My work can be intense and challenging but the time spent at work is usually predictable and doesnāt bleed much into my private life. Stack Overflow, the company I work for, truly cares that you take time off, donāt work too long hours, and separate work and private life, and I wouldnāt want to have it any other way.
As I get older, I notice that I need to cut back on alcohol much more as it messes with my mental well-being much more compared to when I was younger. I enjoy drinking with friends in a social setting. I donāt have any trouble completely staying away from alcohol for weeks, and Iāve never been a person to drink by myself. When Iām out with friends, however, I really enjoy having a few beers and the ocassional schnaps (Korn is a significant part of the culture in the small town where I live). I try to drink in moderation (I donāt always succeed, no doubt). Iām seeing that alcohol has an immediate negative impact on my sleep, which by itself will have an effect on my next day. On top of that, the symptoms Iām getting when drinking alcohol seem to be more than just a light headache or an upset stomach. Iām experiencing light symptoms of anxiety and feeling depressed for a day or two in the worst cases, and I rarely think this is worth it.
Overall, Iām more than happy with where I am regarding my physical and mental health. My current routine helps me stay sane and stable most of the time. If I donāt watch out, I tend to have a bad temper, get cynical, and have a short fuze. I regret when that happens as it means the people around me, my family, friends, and sometimes coworkers, have to deal with my shit. It seems that keeping my sleep and physical health on track is a good way to keep my mental health on track, too, so Iām focusing on these things a lot.
Travelling
Iām not much of a traveller. If it wasnāt for my wife kicking me in the butt every now and then, I probably wouldnāt much at all. I like being elsewhere and experiencing something new. I just donāt like getting there. The āgetting thereā part has become worse as I moved back to the countryside 5 years ago. It takes me about 2 hours to get to the next airport, taking the train often means changing trains twice to get out of my neck of the woods ā and with Deutsche Bahn this unfortunately massively increases your chance of missing a connection, and that often leaves driving as the quickest and most comfortable option.
In 2023, I managed to leave the country twice (wellā¦ more than that, but Iām not counting driving across the Dutch border since thatās literally around the corner):
- Chicago: In April, I travelled to the United States and visited Chicago for a week. We had our annual company meetup there and it was great to see my colleagues in person for once. I had a great time connecting with people, having my first deep dish pizza, and exploring the city and its truly spectacular architecture.
- Madeira: In late summer my wife and I visited Madeira, a gorgeous island in the North Atlantic Ocean. We stayed at a super sweet hotel, enjoyed the local cuisine, went hiking, swimming and sight-seeing. Trips like this make me wonder why I donāt travel more often in fact.
Porto Moniz, Madeira
Music
2023 was a wild year for Punk Rock. Iām super stoked about the current revival (or wave of nostalgia?) thatās breathing new life into my favourite genre.
- blink-182 got back together and dropped a new album. I think itās their best work since their self-titled album from 2003, and Iām happy about the energy and fun they put out there. I went to see them live in Hamburg this year and the showās been spectacular.
- Hot Mulligan is easily my favourite newer act in the entire Pop Punk / Emo scene and their Why Would I Watch is one of the albums I listened to the most in 2023. I saw them live in MĆ¼nster in fall, together with Spanish Love Songs, and both really nailed it. It was a small venue and the energy was really something else.
- Speaking of Spanish Love Songs, they released No Joy this year and itās a decent album with a fresh direction. I like their old stuff better but I think itās great that theyāre experimenting and evolving.
- The Menzingers released Some Of It Was True in October. Itās a mixed bag to me and once more I like their older, more rough stuff better, but the Menzingers are always on rotation over here.
- Sum 41, a favourite of mine since my teenage days, announced that theyāre breaking up. But not before releasing a new album early next year. The first two singles are absolute bangers, much better than most of the stuff they put out over the last few years. Iām excited.
- Besides that, we got new exciting stuff from PUP, KennyHoopla, LiL Lotus, Bring Me The Horizon, IDLES, Spiritbox, Jeff Rosenstock and of course the absolute madness that is Ski Aggu.
If you havenāt heard of Hot Mulligan yet, go check them out:
I started tracking my stuff on last.fm again after not caring much about it for years, and I was surprised to see how good their service has gotten again after falling into a deep hole a few years ago.
Spotify claims that Iāve been listening to music for over 100,000 minutes, which, quite frankly, sounds ridiculously high. Yes, music is playing pretty much all the time during my workday when Iām not in a call, but that still sounds like a lot. Anyways, hereās what Spotify Wrapped came up with:
Books
I finished 12 books this year (I think it might be more, but I skimmed some of the technical ones I read and didnāt bother tracking them properly).
- Hyperion by Dan Simmons (thatās 4 books). This was so good that I wrote an entire blog post about it.
- Domain-Driven Design Distilled by Vaugh Vernon. A quick refresher on DDD concepts as I was diving deeper into the interplay of software architecture, domain boundaries, ownership, and team structures.
- Team Topologies by Manuel Pais and Matthew Skelton. Finding proper boundaries for teams is a huge topic for my work, so this was an essential read.
- The Staff Engineers Path by Tanya Reilly really helped me make some sense of my new role as a Principal Engineer and I took a lot of inspiration from her book.
- Dracula by Bram Stoker. I read this via the Dracula Daily newsletter and it was a super fun experience.
- Software Architecture: The Hard Parts by Sadalage, Dehghani, Ford, and Richards. Did I mention that āSoftware Architectureā was a big topic for me this year? Yeah. I was a little disappointed by this book, to be frank. I didnāt get an awful lot of new information out of it unfortunately. Maybe thatās because most of the ideas the authors share have floated around within Thoughtworks during my time there already. Itās been a good refresher and reassuring in a lot of ways, for sure.
- Tidy First by Kent Beck: This one was fun and contained a lot of great points about optionality, the value of software and how much time to spend on improving your code. I wrote a dedicated review in this blog post.
- All Systems Red by Martha Wells: After finishing Hyperion, I wanted to continue with more SciFi. This one gets recommended quite a lot, and the first book of the āMurderbot Diariesā is a quick read, so I took it for a spin. It was pretty okay, I guess. A solid story with somewhat likeable characters, but it really didnāt grip me much so far. I might try another one later next year.
Cooking
My wife and I enjoy cooking. My wifeās a much better and more versatile cook than I am. I make kick-ass snacks, but otherwise I like doing things that take some practice and many attempts to get better at.
Late last year my wife got us an Ooni pizza oven for Christmas and itās been the best gift ever. Weāve fired it up almost every week since, making delicious Neapolitan-style pizza at home. It takes some practice and you can run infinitely deep into the pizza making rabbit hole, but thanks to a few friends who are much more experienced than I am, we got to some quite solid results pretty quickly. The first few attempts were rather shoddy, but the latest ones turn out better and better. And hey, a shitty pizza is still a pizza, and pizzaās simply amazing.
Besides making pizza, I enjoy smoking meat. This year I fired up the smoker a few times. My favorite was honey-glazed pork belly burnt ends and St. Louis-style ribs over cherry wood. Throw in a sunny day and a few beers with your friends and youāre off to a great day.
Pork Belly Burnt Ends
Ribs for days
During my winter holidays last year I started curing and smoking home-made ham. Itās been a wild success, lasting several months, and I learned a lot about the old technique of curing meat like my grandparents did. I shared a lot of the ham I made with family and friends and everyone who tried it seemed to love it. Iāve got another, bigger batch coming up right now since the seasons just great for curing ham right now. I hope this one will be as good or even better than last yearās ham. Weāll see.
Cured and cold-smoked ham
Hereās to a great next year!
Iām grateful that I can look back at an overwhelmingly positive year. Iām fortunate that Iāve got so many great people in my life, that Iām healthy, and have a lot of fun.
To everyone reading this, whether youāre a stranger browsing by or someone I know: I hope you have an amazing year ahead. If youāre struggling at the moment, I sincerely wish you that things will get better soon.
Be excellent to each other and party on!