Looking back at 2021
- 1643 words
- 9 min
Another year has passed - time for a yearly review!
- The blog
- The book
- Open source
- Next year
Let's start with the blog!
2021 was the second year in a row of consistent writing - 8 articles in 12 months. It was not as profilic as 2020, when I managed to write 14 pieces, although the average length was higher this year (4540 words in 2020 vs 6610 words in 2021).
There was definitely less variety this year - all articles were part of Zero To Production In Rust with the exception of an essay on caching patterns in a microservice architecture.
I tried hard to keep the main thing the main thing, as my CRO Max loves to say. Finishing Zero To Production In Rust was my top priority and I tried to avoid side quests as much as possible. I'll start digging through my various notes and drafts in 2022!
What about readers?
At the beginning of 2021 I switched all my websites to Plausible.io, a privacy-friendly alternative to Google Analytics. As a bonus, the numbers for my blog are now publicly available!
2021 was another year of significant growth - 112k unique visitors! Almost 2 times more than 2020 (66k). Almost all articles managed to "break through" when published - a significant improvement compared to 2020 when some of the posts were simply ignored on launch.
The top ten articles (in terms of visits) span both 2020 and 2021:
My review of Rust web frameworks keeps going strong, although it is in dire need of an update. I have been repeating to myself
"I'll update it when
actix-webgo out of beta/rc!"
but that took way longer than I initially estimated. Expect a 2022 edition in a couple months, no matter what happens in the ecosystem.
Looking at the new entries in the top ten, I am particularly proud of Error handling in Rust - A deep dive and Password authentication in Rust - from scratch - my two favourite pieces among the ones I published in 2021.
Where is the traffic coming from?
Organic traffic through Google accounts for roughly half of those 112k readers, especially when it comes to older articles. This year I spent some time doing basic SEO optimisation - it seems it paid off.
The rest is a mix of referrals from social platforms (Twitter and Reddit, primarily), traffic from my newsletter and a few Rust-specific websites (arewewebyet.org, This Week In Rust, etc.).
In 2020 I started writing a book on backend development, Zero To Production In Rust. The goal for 2021 was to finish it!
Sadly, I didn't succeed - I published the last part of chapter 10 a couple of days ago, but there is one more chapter to write (plus the editing work required to release a deadtree version).
I had another yearly goal related to Zero To Production In Rust: sell at least 1000 copies.
Well, it went a lot better than I imagined:
More than 3000 sales!
The book revenues are now comparable to my yearly salary - wild. I am also quite happy with the reach of the discount program - I managed to offer a free copy to ~100 students and unemployed readers, on top of location-based discounts.
I am looking forward to writing a retrospective on the entire project.
I am particularly keen to dismantle the myth that "you cannot make money on a tech book" - it takes a lot of hard work, but it is possible. You need to be mindful of the traps along the way though - e.g. publishers who won't pay you more than 15% of net book sales.
Really curious to see how the book is going to perform, commercially, in 2022.
Something else happened in 2021 - I launched a readers' Discord server.
I was a bit wary, at the beginning - community management is its own kind of challenge and it can easily consume tons of time. In hindsight, I was overly pessimistic - I am happy I jumped. We have had many interesting conversations on the server and it gave me the opportunity to have a closer look at the issues readers struggle with as they go through the book - the content improved signficantly as a result.
2021 followed the same ethos of 2020 when it comes to my personal Open Source projects - small and self-contained.
My crates (
tracing-actix-web, etc.) did not require a lot of maintenance - just the occasional bug fix or small feature PR.
I ended up releasing a new crate as a side effect of working on Zero To Production In Rust -
actix-web-flash-messages, a port of Django's flash message framework to
actix-web. I have also started a significant rework of
actix-session, yet to be merged.
It is fair to say that I got more and more involved with the overall
actix-web ecosystem as a by-product of Zero To Production In Rust - I am quite liking it so far! I expect to contribute more in 2022: not to the framework itself but more to its "plugin" modules (
I finally had the opportunity to meet many of the colleagues who joined in the midst of the first and second waves of the pandemic. It was long overdue!
From a business perspective, TrueLayer had an amazing 2021. The company is now valued at 1 billion dollars (🦄), product usage is skyrocketing and we have grown to be over 300 people - 15x more than when I joined!
Speaking for myself, I managed to put a name to the work I had been doing for a while - I was promoted to Principal Engineer at the beginning of the year!
The product I helped to launch in 2020, Payouts API, has grown in scope and ambitions (Europe!) and it is now supported by tens of extremely capable engineers.
This gave me the opportunity to shift my focus elsewhere in the latter part of the year - preparing for the Engineering organization for another year of crazy growth, both in terms of people and technology.
Leadership hiring, technology governance, architecture, organization-wide initiatives - they have taken a much larger part of my day to day compared to last year.
That was clearly not enough though to keep me busy though - at the end of Q3 I decided to spin up a new team, Engineering Ops.
The approach and goals are very similar to Twitter's Engineering Effectiveness group - multiply the impact that every single engineer can have inside the organization. The team is still incubating, but it has already managed to make a dent on a few long-running issues (e.g. alerting noise/targeting). The scope is intentionally broad - from operations to build tooling, whatever makes the biggest impact on the day to day life of TrueLayer's engineers. If that sounds interesting, we are looking for an Engineering Manager!
My work plans for 2022 are intentionally vague. The pendulum might swing in the other direction. Or I might end up sinking my engineering teeth in a new area. Gotta keep it interesting!
Food, friends, some travel - I breathed a lot more in 2021 compared to the first year of the pandemic.
I also got married!
Organizing a wedding during a pandemic is... quite an experience. It all went well in the end and we had a magical night - I couldn't be happier.
How did I do compared to the goal I set at the beginning of the year?
- ❌ Finish Zero To Production In Rust
- ✅ Sell 1000 copies;
- ✅ Build in public! Both when it comes to my blog/book and my side projects;
- ❌ Launch a small SaaS as a side-project;
- ✅ Speak at a conference that is not Rust-related;
- ❌ Get one PR merged into the Rust compiler;
- ✅ Travel when it'll be safe again.
I am still keen on all the ones I didn't manage to achieve.
In 2022 I am looking to:
- Finish Zero To Production In Rust, including a paperback version;
- Launch a small SaaS as a side-project;
- Get one PR merged into the Rust compiler;
- Visit three new countries;
- Diversify my content.
See you next year!