2021 Year in Review

December 28, 2021 10 minute read

Another twelve months have slipped by. In recent years I can’t keep up with the calendar’s pace and I finally understand what my grandmother meant when she said that time went by quickly.

The memory of my last “Year in Review” post is still fresh. I remember where I sat and how hard editing it was. Now I’m at a different place but the editing process is still daunting.

In a way, nothing happened in 2021. From a bird’s eye view, I spent most of my time in front of a screen, running or reading. I only left the town that I live in once and I once again skipped visiting the seaside.

At the same time, the last year contained a whole decade. Knowing every street sign in my town made me look inwards and discover a version of me buried somewhere deep. The last 365 days were hard, but they were also great.

So where do I start?

January 1st, 2021

My grandmother taught me that the way you spend the first day of the year is how the rest of it will go. So around 10 AM on January 1st I put on my running shoes and went for a jog. I ran around the quay, breathing in the smell of fireworks still hanging in the air from the night before.

The town was deserted, only a few parents had taken out their toddlers for a morning walk and I remember the cold air hurting my throat.

In the afternoon I read a book about distributed systems with a cup of coffee. I had the insatiable desire to work on a large-scale system where I could put all my theoretical knowledge to use. I thought that I’d never see myself as a capable software engineer until I did something like that.

I have little memory of the rest of the day but I know that at one point I had the text editor open, working on the outline of an article with the working title “Tao of React”. I had decided that I would move away from front-end development for a while to pursue my ambitions in distributed systems.

This article was my way of sharing the hoard of front-end knowledge I had gathered before my memory got reallocated to something else.

And it turns out my grandmother was right. I spent my year running, working on distributed systems and writing. If you don’t want to read further, that’s pretty much it. But there are details to the journey which are worth sharing.

Running

I’ve been doing various forms of physical training throughout the years. I’ve wrestled, lifted weights, and done calisthenics but I hated running with a passion.

My mind was used to dynamic environments where pace and stimulation changed frequently. Weight lifting is about short bursts of effort, wrestling is a great athletic and creative challenge, but jogging for miles with a constant speed seemed dull. The monotony was destroying my mind long before my body gave up.

In March I read David Goggins’s “Can’t Hurt me” and that book changed the course of my year. His story is amazing because he was a man who had given up on success, yet through the force of his will, he became one of the mentally strongest people I’ve read about.

The book left me with a single question in the void of my mind - if he can do it why can’t I? The very next day I put my running shoes on and instead of my regular 3 km I ran 7. All by telling myself “just a little bit more”.

Two weeks later I did 10 and finally came to the realization that my mental strength is my limiting factor. I could do hard things for a little while - lift something heavy or wrestle for a round. But I couldn’t run long distances because I wasn’t used to playing the long game. I couldn’t maintain focus and stability.

After my first 10 km run, I did a challenge inspired by Goggins again. I ran 4 km every 4 hours for a day. The night I finished it, feeling the pain in my knees and hips, seeing my socks all bloody - I thought whether the same principles for stability and focus apply to my career as well.

I started telling myself “just a little bit more” at work and it turns out I was capable of a lot more than I imagined. I wrote a book and a browser game in a matter of months.

Software Engineering

Writing, reading, and learning about software probably takes half of my awake time. I came to this industry out of the desire to create and I wanted to spend most of my time doing that. So at the beginning of 2021, I stepped down from my tech lead position and went back to an individual contributor role.

I joined a team working with Go, Kubernetes, and Kafka to improve a large distributed system - the FT’s content publishing pipeline. I felt that my next big challenge was as an engineer, not as a manager.

I knew that if I move to management without working on something really complex I would have doubts whether I was capable of doing it at all. Half a year in this position was enough to chase away my fears and teach me that any system can be demystified with enough time

This position removed the magical shroud around software development. Turns out that like anything else, it’s just a matter of effort over time. Complex problems don’t get solved by a single person and in a large system, you probably own only a small piece of it.

Designing a successful Kafka migration was the final confidence booster that I needed to move to a more high-level role. A friend recruited me for a principal engineer position in News UK and with the sense of magic gone, I could finally let myself become more of a leader and walk out of the trenches.

It wasn’t an easy decision to detach myself from the code at least a little bit and take on more management opportunities. But I think that I’ve finally hit a point where I can bring in more value mentoring and leading instead of doing hands-on work.

A big factor that contributed to my decision was my desire to go back to the JavaScript ecosystem. They say the language doesn’t matter but I love the direction in which JS and React in particular are moving and I felt I wanted to be a part of that.

Imperfection

At the beginning of the year, I made the final decision to move away from the big city and bought a place to live in a smaller town. I was in no way prepared for the complexity of creating a home. My electricians put a socket 10cm off and installing the kitchen had to be delayed by a week.

Two weeks after I moved in I had to deal with a leaking roof and I saw how months of work gathered in buckets that I would send down the drain. It was unpleasant, to say the least. But it taught me that everything is an opportunity to make things better.

That yellow spot that the water left on the ceiling beat the perfectionist out of me. All those little stains and cracks are a pain to look at but they’re inevitable. In a building and in human relationships as well.

A perfect place is one where no one lives and maintaining a house requires continuous effort. In the same way, perfect software is one frozen in time where no one fixes bugs and adds new features.

Reading & Writing

In January I picked up Norwegian Wood by Murakami, a friend of mine recommended it when we met in the subway. I devoured the whole book in a matter of days and it left me hopeful in the sadness that I experienced. Then I went to the store and got a couple more books by Murakami without even knowing what they’re about.

Until the start of the year, I had read mostly fantasy, sci-fi, and occasionally a classic. My rare dabbles in other genres showed me that there’s an entire world that I hadn’t explored until now. After Murakami, I picked up books by Ishiguro, Dostoevsky, Kafka, and Camus. I read books I never thought I would and I found wisdom that I never thought I’d find.

At the end of the year, I even found the courage to pick up a couple of poetry collections. But out of everything I read, Brothers Karamazov by Dostoevsky left the biggest mark. It’s a deeply philosophical book disguised as the story of three brothers and their hopes, beliefs, and suffering.

I read predominantly fiction books with a technical one for change every now and then. But I feel I’m learning, experiencing, and feeling more this way. Maybe I haven’t improved that much as an engineer. Maybe I haven’t optimized my way of living. Maybe I haven’t squeezed out every ounce of productivity.

But I do think those books have made me a better man.

Why am I reading so much? Because I love a good story and because I want to become a better writer. This leads me to my other creative endeavor besides programming. I wrote my first technical book this year and I’m currently writing my next one alongside my first short story collection.

I think that at 27 I found that writing is a passion I’ve repressed for too long. I never saw it as a lucrative endeavor so I neglected it even though again and again I found myself with pen and paper.

Now I realize that I don’t need to make all my money from writing. I don’t even have to make any money from it. I can do it on the side as an outlet for the creativity that is bursting in me.

I write software for other people, but I write for myself. That’s the only way I can truly create what I want, not because it needs to be marketable.

Consistency

Small continuous effort over time amounts to a lot. I find it much easier to do something small every day than to make herculean efforts once a month. I’m not writing a lot, but I make time for at least a couple hundred words each day. This amounts to a full book at the end of the year.

I don’t train like an athlete but I do something every day, even if it’s only a few pushups and kettlebell swings. I don’t get out of shape because I don’t have long periods of inactivity.

I’ve given up on end goals and targets. Inspired by James Clear’s Atomic Habits, I don’t set goals because that puts me in a binary mindset - I either hit the target or I don’t. I focus on the things I do daily and their output. In a long enough period of time, this gives better results than occasional bursts of creativity and effort.

I don’t want to achieve something and forget it. I want to forge the kind of lifestyle that I can maintain for years and years.

But the biggest plus of this approach is that it doesn’t obsess my life. Little things are easy to do on a daily basis and don’t require long nights or great sacrifices. The only thing I need is discipline and I’ve got a big supply of that from my wrestling days.

Idleness

In the past seven years, deeply infatuated with hustle culture, I had few idle moments in my day. I used to train first thing in the morning, listening to loud music. Then walk to work listening to a podcast. I would eat lunch with a video or a book for company. I’d walk home listening to something else and even fall asleep to the sound of a YouTube video.

It’s not like all of them contributed to my professional development. Some of them I read, listened and watched purely for entertainment purposes. But the fact remained - I spent every free moment in my day consuming other people’s thoughts.

One day in September I forgot to charge my headphones and I had only the sound of passing cars to make me company. But on the way to work, I was so bored that I started thinking about a story I was writing. In twenty minutes I came up with a better ending than the one I had written in my first draft.

So I started taking walks without the great silencer that are my headphones and more and more ideas started bubbling up. It’s obvious when you think about it - all the constant noise was suppressing my own thoughts, not allowing them to form properly.

Boredom is not something I want to exterminate from my life anymore. Boredom is required for my ideas to surface. Sometimes a thirty-minute walk is enough, sometimes I need hours of staring into the distance to get a good one.

What Didn’t Go Well

Failures and problems don’t make it to the highlight reel, but I think including them in this post is important for the sake of honesty. My year hasn’t been a series of wins, but a spiral of victory and defeat.

I still have a lot to learn about marketing. I feel uncomfortable selling products and I struggle with conveying the right message. I’ve become more open on social media and I’m not that afraid of sharing my thoughts, but I’m not good at talking about the things I’m working on.

I didn’t find time for exploration. I only left the town once and I feel there’s so much on the other side of that sign that I’m missing out on. The concrete has always been my home, I’ve never been the person to enjoy long hikes but I think having rich experiences is important for one’s character. I’ve got tickets for a couple of concerts next year and I plan on spending more time with interesting people.

The sense that I’m not doing enough doesn’t go away. This was by far the most successful year in my life and I can’t let myself catch a break. Each night I decide to spend watching Netflix or reading a book I get the urge to write or do something “productive”. But sometimes I just need to smother that desire, enjoy the nothingness and let the creativity and curiosity pile up. I can’t be draining everything all the time.

Plans for 2022

The funny thing about making plans is that they never work out. So I no longer make specific goals.

I don’t think I’m made to be working all the time and I don’t want to exist for the sake of productivity. I’ve found a good balance between work and creativity but I think there’s something invaluable in stillness, in idleness.

So the only plan I have for the next year is to start meditating again. This is something I’ve taken up twice in the past and both times I couldn’t keep it up enough to create a habit. But I sense the need for an activity like this in my life.

And if I keep going back to the idea of meditation then there’s something in it for me.

Tao of Node

Learn how to build better Node.js applications. A collection of best practices about architecture, tooling, performance and testing.