Programming · System Design

How does Kafka decouple services?

Throughout my career, I've heard over and over again, “Kafka decouples services”. Almost like a mantra, without hearing anything about or knowing how it actually helps in decoupling. I've been guilty of this too, telling my mentee exactly this, without fully knowing the reasons for this. While reading the incredible book Foundations of Scalable Systems, this became clear, and in this post, I'll go over the reasons for why Kafka decouples services. (because yes, it indeed does)

Git · Programming

Recovering a branch after force pushing (even main)

A mentee accidentally force-pushed, losing a README. Without a local copy, I recovered the commit via GitHub's CLI. By logging in and fetching the repository events, I found the lost commit's hash and was able to create a new branch, and rebase it onto main. A crucial notice: team members must also update their local branches. This experience shows the mutual learning in mentoring.