Roman Imankulov

Roman Imankulov

Full-stack Python web developer from Porto

search results (esc to close)
10 Jan 2023

Most Popular Posts of 2022

What I wrote about in 2022?

In 2022, I wrote 20 blog posts starting from a Dealing with large pull requests and closing the year with Stop Me Before It’s Too Late.

Additionally, I tried to record my TIL findings in May and June, but quickly abandoned this idea after only three posts, still trying to determine if the format made sense.

The topics of my blog posts ranged from niche technical subjects like Parse JSON-encoded query strings in FastAPI, to thoughts on management and teamwork like Be kind to your manager, to classic rants like AWS Surprise Bill and musings on society and the dark sides of human nature in 1984 is now.

The year 2022 was also when I migrated away from Google Analytics and switched to the privacy-friendly Plausible analytics. By looking at their stats, I wanted to see what people found most interesting on my blog in 2022.

Here is what came out on top.

Top 10 pages for 2022

Top 10 pages for 2022

What is in top 3?

Don’t let dicts spoil your code is the top post. While reviewing my old posts, I found one I wrote in 2021 as a reflection on fighting against various organically grown codebases. Without expecting much, I added it to HackerNews and almost immediately forgot about it. The next day, as they say, I experienced “overnight success.” In just a few days, the single blog post had more views than the rest of my blog for the entire year.

The visitor statistics show how HackerNews boosted my daily views. You can see where my “Don’t Let Dicts Spoil Your Code” hit the HN landing page. The overnight popularity vanished as quickly as it came.

Daily visitors for 2022

Daily visitors for 2022

SQLAlchemy and Alembic surprisingly reached second place. It was not quite a post, but rather a memo that I compiled to remind myself of surprising bits of SQLAlchemy and Alembic. The write-up gets hundreds of leads from Google by the search request “sqlalchemy default value.” I never would have expected it.

Optimize pip install with wheels is another technical post that I never expected to be in the top three. This article summarized my exploration of a particular problem I faced trying to speed up CI builds of a moderate-sized Python project with a few dozen dependencies.

The other posts in the top feature Python, and even more specifically, SQLAlchemy, Pydantic, and other things that I would qualify as niche.


As usual, I’ll try to draw some takeaways from the results.

Don’t Aim for Perfection, Write More. I am not equally happy with all of my blog posts. Some of them read like well-rounded stories with solid takeaways, while others are just personal notes that I never would have published if I had set my bar higher. I can’t predict which content will resonate with people. The posts that I thought had some potential went unnoticed, while surprisingly, ad-hoc notes that I wrote for myself became popular and even went viral.

Would it have been better if, instead of 20 posts, I had written two ideal blog posts that went unnoticed? I don’t think so. I like the story Quantity leads to quality about a group of students who were graded solely on the amount of their work and ended up achieving better results than an equal group that was told to aim for creating a perfect piece of art.

Technical and Niche Content Beats Rants and Reflections on Generic Topics. This is an unsurprising result that might lead me to write more of this type of content, but I won’t. I’ll keep writing about what concerns me, regardless of the appreciation. For me, blogging is an exercise to bring clarity to my thoughts and verbalize my ideas and concerns.

Well, that’s about it. Let’s see what the coming year holds.

Roman Imankulov

Hey, I am Roman, and you can hire me.

I am a full-stack Python web developer who loves helping startups and small teams turn their ideas into products.

More about me and my skills

Schedule a meeting to talk about your project