Reflectoring Review 2021 - Growing Slowly

  • January 2, 2022
Table Of Contents

It’s the time of the year again when I reflect about the Reflectoring year (pun intended). In this article, I share a bit about my successes and failures as a creator of code, text, and (coming up) a SaaS product.

As always, I’m probably the one who benefits most from this account, because it allows me to reflect on my projects and make decisions for the next year.

Projects

Let’s start with the projects I’ve been working on in 2021. Each of those projects is a side project next to my full-time software developer job in my new(ish) home in Sydney, Australia.

Reflectoring Blog

This blog isn’t just me anymore. Over the course of the year, 17 other people have contributed 39 articles to the blog. I wrote another 22, making a total of 61 articles in 2021. That’s more than the goal of 1 article per week that I set at the beginning of the year.

I’ve paid about $5,000 to those authors for their articles. Well deserved! Thanks to everyone who contributed!

One author stands out: Pratik has contributed 18 articles over the course of the year! That’s insane! It’s been really great to have a consistent writer like him on board and seeing him grow to become an ever better writer!

That investment didn’t pay out as much as I wanted, though. The number of visitors “only” grew from 1.1 million in 2020 to 1.4 million in 2021.

To monetize the blog, I tried a different tactic regarding advertisement this year. Previously, I was running subtle ads managed by the CarbonAds network. That netted about $200 a month. But since CarbonAds sits between the advertiser and myself, they take quite a chunk out of it. And with 150,000 monthly visitors, this chunk feels quite big.

So I tried direct advertisment. I cold-emailed 10 or so tech companies whose products I’m interested in and whose products I think my readers might be interested in and sent them a link to my advertisment page.

And with two of them I made a deal! One deal with LaunchDarkly for 12 months of exclusive ads and 12 sponsored blog posts about feature flagging. And another deal with Logz.io for 3 sponsored blog posts about logging and tracing.

I feel very lucky to have these sponsoring partners. I get paid to write about topics I’m interested in, those articles will help my readers, and my sponsoring partners will get some attention. That’s what I call a win/win/win situation.

Together, I made about $15,000 from these partnerships. That’s quite a bit more than the $200 per month that I made with CarbonAds! But it’s also more work, so it’s not really comparable - I have yet to write 7 more blog posts to fulfill my part of the bargain!

On top of that I made about $1,600 with affiliate links to Philip’s Testing Spring Boot Applications Masterclass, which I placed in some of my top-performing Spring Boot articles (by the way, the previous link is an affiliate link :) ).

Lesson: cut the middle man. If you are interested in placing ads or are looking for affiliates, let me know and we’ll have a chat!

The plan for next year is to invest into even more authors and to find one or two editors who can help me get their articles over the finish line. More high-quality articles mean more visitors to the blog, which means more ad revenue and more conversions to any products I offer.

Newsletter

The Newsletter got a complete overhaul in 2021. Previously, the newsletter pretty much only contained a link to the latest article published on the blog. Not very valuable. A newsfeed app can do that job better than my newsletter.

So in late 2020 I started to add value to the newsletter by including what I called an “inspirational nugget” about some “softer” topics like productivity or habits with each newsletter. I also increased the frequency of the newsletter from one every other week to one per week (more than 50 weeks in a row without missing one!).

I changed the wording on the newsletter subscription form a bit, too, to clarify the value proposition.

The newsletter started 2021 with 2,300 subscribers and ended the year with 4,600 subscribers. The first 2,300 subscribers took me 3 years and the last 2,300 took me only a year! Nice to see growth on that front.

Writing about those “soft” topics helped me clear my mind, too. I’ve started the year with writing some haphazard productivity tips and ended the year with a collection of some pretty cool insights.

For 2022, I’m going to give the newsletter a rebranding to make it its own “product” apart from my blog. I’ll continue with the “soft” topics, but I’ll probably reduce the frequency to biweekly again, because it was quite taxing to come up with something worthwhile every week. I’m loosely planning to polish last year’s content into book form and publish the book chapters in the newsletter. Now I just have to find the time for writing that book… .

I also started doing Newsletter ads. All together, I made $400 with paid newsletter ads. I realized that it’s a lot of work to get newsletter sponsors, so I decided to not spend too much time on it, because it’s not worth my while. Anyhow, if you have a product that is interesting to my newsletter audience of software engineers, let me know!

Get Your Hands Dirty on Clean Architecture

My book “Get Your Hands Dirty on Clean Architecture” is still my flagship product. I published it back in 2019 and it’s selling pretty consistently since then. It’s also getting great reviews on Amazon, Goodreads, and Gumroad.

I have made the book available on Gumroad this year, for the main reason to get to know Gumroad as a platform. It’s also still available on Leanpub, but Gumroad provides ratings and some other community features I haven’t used yet, so I wanted to give it a go.

Also, the team from educative.io has asked me if they could make a course from the book. For a couple of months, the course has now been live on educative under the name “Hexagonal Software Architecture for Web Applications”. It’s only making $60 or so per month, though (I only get 30% royalties … I could have gotten 70% if I had created the course myself instead of letting them do it, but I didn’t have the time).

Anyway, with the sales from educative, Gumroad, Leanpub, and the print version with Packt (which has been translated into Korean last year!), the book netted a total of about $19,000 in 2021. Not bad for a book that runs on autopilot most of the time.

If you haven’t read the book yet, make sure you do. It provides very valuable software architecture insights that were eye-opening to me when I wrote it.

Stratospheric

Back in 2020, I started a project with Philip & Bjoern to write a book about AWS and Spring Boot, because there was no book about this combination of technologies out there, yet. In August 2021, we finally released version 1.0 of the book.

It’s been a great experience to work with those two. There was virtually no argument, no bad blood, no mismatched expectations. But it took longer than expected (which was to be expected, I guess, because projects always take longer than expected).

The result is “Stratospheric - From Zero to Production with Spring Boot and AWS”, in which we show how to deploy and run a Spring app on ECS. I have learned a lot while writing this book (which was the main driver for me). If you’re interested in Spring Boot and AWS, make sure to take a look.

The book made me about $4,000 in 2021 (one third of the proceeds, because we’re three authors). This includes a sponsoring from AWS through the GitHub sponsors program, which was unexpected, but welcome.

We’re planning to add a video course in 2022. That’s going to be another insane amount of work, but video editing is something I wanted to learn, anyway, so there’s synergy.

Blogtrack

Then there is my neglected step child project - Blogtrack. I started coding it almost 2 years ago and the other projects were always more important so that it never took off. After finishing the Stratospheric book, Philip joined me as a co-founder, we put in some renewed effort, and we’re going to finally start a public beta in January - with a brand new landing page and everything.

If you have a blog (that already has some content) and want to get some insights into your analytics, sign up for the newsletter on https://blogtrack.io.

I’m not sure where the journey will go - the feature set is kind of unpolished, yet - so we need a lot of feedback from users to make it the best tool possible to help them grow their blogs.

As for income, it has only produced costs, so far. Most of it for paying a developer to flesh out some features and the rest for running AWS servers. This year I want Blogtrack to earn back its monthly costs, at least.

Summary

It was a lot of work nurturing these side projects next to my day job, but I’ve been rewarded with some fun partnerships and opportunities, and of course with some money (if my crappy accounting is correct, about $55,000 of revenue with $36,000 of that being profit - if I wasn’t living in Sydney, that would be a lot of money…).

It helped that my day job doesn’t require me to go to the office anymore. This saves me 1.5 hours of commute time every day, which I can now share between my family and my side projects.

And the good thing is, that although I have feeled stressed sometimes, I have never felt burned out. I guess the good Sydney weather plays its part for my mental wellbeing, as I’ve taken every opportunity to grab my laptop and sit outside for a bit of work.

Habits that got me through the year

What also helped to keep me sane through all the work and the general shitshow that is the world these days, is to stick to some habits I’ve built up over the years and to start some new ones.

I’m sharing those habits here because they have been greatly valuable for me and I can imagine they might be valuable for others, too.

Getting !@#$ Done in the Morning

I have started this habit when I started writing my book “Get Your Hands Dirty on Clean Architecture”. I had to make some time for writing the book. So, I started to get up at 6 am - before the family is awake - and write a couple hundred words before getting ready for my day job at 7.30 or so. I have also started to go to bed earlier, naturally.

This morning time has become very enjoyable for me. I have a sense of accomplishment before the day even really starts. It’s so enjoyable that I’ve become a bit compulsory about it. When I sleep in late because I went to bed too late, for example, I feel bad about having “lost” an hour of “me time” before the family wakes up.

Today, I’m still getting up at 6 am almost every day to work on one project or another to get !@#$ done before the actual day starts. And I enjoy it a lot.

Shaping Tomorrow

Since I’m working on different projects, some mornings I couldn’t decide what to work on. Should I continue writing that blog post? Or should I review my authors' article submissions? Or write the next newsletter? Or write a page for the book?

A couple times this decision was just too hard for me the first thing in the morning and I ended up procrastinating and not doing anything. Starting the day with an hour of active procrastination doesn’t really set you up for a good day.

So, I started “shaping” the next day the night before (I wrote about it in my newsletter). Every evening before going to bed, I take my trusted e-ink tablet and write down what I want to work on tomorrow. I pick one or two things to do for my day job and one or two things to do for my side projects.

In the morning, when I sit down at my desk, I already know what to work on and just get started. No more freezing up in decision procrastination.

Reading

I’ve been reading fiction novels since my early teens. I always have a sci-fi or fantasy novel lying next to my bed. In the evening, I make it about 5 pages in before I get too sleepy to continue. It takes quite long to get through a book this way.

When I wanted to read a non-fiction book, I would replace that fiction novel with a non-fiction book. That means I would get through 1 or 2 non-fiction books per year, tops.

Now, I’m taking reading non-fiction more seriously. I have a stack of books waiting for me at any time so when I’m done with one, I can pick the next depending on what I feel like.

I also read a chapter or so in every lunch break, and more on weekends in my leisure time. What motivates me to read is that I “collect” book notes on my e-ink tablet (and in a paper notebook before that). Finishing a book gives me a sense of accomplishment not only because I finished the book, but also because I have recorded all the insights that book gave me.

Later, I transcribe these hand-written notes into more structured book notes (see next section on taking notes). This makes them searchable and usable for any of my projects. The ideas for many of my newsletter episodes have come from these book notes.

Similar to getting up early, I have become a bit compulsory about taking notes when reading a non-fiction book. If there’s no pen or paper around and I can’t take notes, I don’t read.

Reading has become an activity I very much look forward to and I enjoy it a lot to take notes and think through the things I just read, and then think through them again when I transcribe the notes into electronic form weeks or even months later.

Taking Notes

As I mentioned above, I’ve become somewhat of a note-taking maniac. I’ve made it a habit to write everything down into my Obsidian vault. It’s basically just a bunch of Markdown files, hierarchically organized into folders and linked with hyperlinks.

I’m using Obsidian for pretty much every writing task these days. I’m writing this blog post in Obsidian right now. I will later copy it into my blog and publish it from there. But I will still have the raw version of this blog post in my notes, just in case that it could spark some inspiration for another idea when looking through my notes.

Writing blog posts is only one of the things I’m doing in my notes. Others are:

  • a note for each person I’m interacting with (at work and in my side projects) containing that person’s expectations toward me, my expectations toward them, feedback notes, etc.
  • a note for each recurring meeting with a section for each time the meeting took place and my notes of that meeting
  • a “project log” note for each project that I’m working on, where I add a new line with today’s date whenever I did some task for that project, and where I keep a list of the very next tasks that need my attention
  • book notes transcribed from my hand-written notes as discussed in the section about reading above - one note for each idea from the book

I have only started with the “project log” notes two months or so ago, and they are a lifesaver. They make it easier to get back into the context of a project, saving a lot of time! They also make it easy to talk with others about your work, for example with my manager, to make sure he knows what I’m doing.

Video Calls with Peers

Aside from my team mates in my day job, I haven’t seen a lot of people last year. With lockdowns coming and going and coming again, that’s no wonder (at least that’s my excuse - I’m not sure if I had seen more people if there hadn’t been any lockdowns).

Anyway, I enjoyed meeting people online a lot, especially like-minded creators with similar (but different) problems and ideas. With Philip & Bjoern I meet almost every 2 weeks about the progress in the Stratospheric project. I’ve also started to meet up every couple of weeks with Matthias (who builds GetTheAudience.com) and Felix (who builds devops-metrics.com) to just talk about our side businesses.

Also, I joined Monica Lent’s Blogging for Devs community last year and took part in an “Accelerator” program where I met with a group of other bloggers every week for two months. This has created the accountability I needed to write those cold emails to get the advertisement deals I wrote about earlier. Lots of opportunity here!

Mission for 2022: Simplify!

Recently, I’ve thought hard about what I’m trying to achieve with all my side projects. Sure, I want to make some money on the side (and potentially get to a point where I can reduce my day job and get more control over my own time). But there has to be more than that.

I’ve come to realize that the common theme across all my work, be it in my day job or my side projects, is to simplify things.

I hate complexity with a passion. That’s what made me write “Simplicity nerd” into my Twitter bio.

  • In my day job, I write simple code that makes it easy to understand and maintain.
  • With my blog, I write simple text that makes it easy for readers (future me included) to understand a certain concept.
  • Same with my books, just with a bigger concept.
  • With my newsletter, I write about simple ideas that make it easy to grow as a person and as a developer.
  • With Blogtrack, I organize information in a simple way to make it easy for bloggers to grow their blogs.

Things have to be as simple as possible. My brain is just not smart enough for complex things.

My mission is to simplify things. For myself and others. And that’s what I’m going to do 2022 and beyond.

Written By:

Tom Hombergs

Written By:

Tom Hombergs

As a professional software engineer, consultant, architect, general problem solver, I've been practicing the software craft for more than fifteen years and I'm still learning something new every day. I love sharing the things I learned, so you (and future me) can get a head start. That's why I founded reflectoring.io.

Recent Posts

Optimizing Node.js Application Performance with Caching

Endpoints or APIs that perform complex computations and handle large amounts of data face several performance and responsiveness challenges. This occurs because each request initiates a computation or data retrieval process from scratch, which can take time.

Read more

Bubble Sort in Kotlin

Bubble Sort, a basic yet instructive sorting algorithm, takes us back to the fundamentals of sorting. In this tutorial, we’ll look at the Kotlin implementation of Bubble Sort, understanding its simplicity and exploring its limitations.

Read more

Quick Sort in Kotlin

Sorting is a fundamental operation in computer science and Quick Sort stands out as one of the most efficient sorting algorithms.

Read more