Don't Wait. Step Up.
We all encounter issues and blockers, and it's inevitable, but how well we respond to them says a lot about our effectiveness and efficiency. So, when you face a problem
This edition of the newsletter contains
I have also shared 3 super-interesting articles to read over the weekend. Thank you once again for reading this edition of my Newsletter. Now, without further ado, let’s jump right in.
Don't Wait. Step Up.
We all encounter issues and blockers, and it's inevitable, but how well we respond to them says a lot about our effectiveness and efficiency. So, when you face a problem
take ownership, even if you didn’t directly cause the issue
if you're blocked, explore all options to unblock yourself
actively investigate and troubleshoot issues
be the person who gets things moving
ask thoughtful questions to clarify ambiguity
document findings so others can benefit from your process
follow through - don't stop at the proposal, push to resolution
It's easy to deflect responsibility and wait for someone else to step in. Instead, work within your defined scope, look at the bigger picture, and treat every problem as a shared team responsibility.
High-impact individuals don’t wait for solutions - they create them. Don't wait to be handed the answers. Roll up your sleeves, explore the problem, propose a solution, facilitate discussions, and take the first step.
Remember, challenges are not just tests of skill; they're opportunities to demonstrate ownership, resilience, and leadership.
The best engineers don't wait. They step up.
By the way,
Being hands-on is the best way for you to learn. Practice interesting programming challenges like building your own BitTorrent client, Redis, DNS server, and even SQLite from scratch on CodeCrafters.
Sign up, and become a better engineer.
Here's a video from me
I published a video - How to scope a microservice?
Microservices are extremely tempting, and you will always feel like writing a new service for every problem at hand. You might build a service with very fine-grained responsibilities, or you can build one that covers a broad spectrum. So, what is the best approach? How should you decide?
In this video, we talk about ways to model and scope a microservice such that the architecture remains robust and flexible, and to achieve this, we use the two key guiding concepts - Loose Coupling and High Cohesion.
Here's a paper I recently read
I spent some time reading The Bw-Tree: A B-tree for New Hardware Platforms
A good chunk of databases have relied on B-trees for decades, but can we do something better now that our hardware has evolved?
Stumbled upon this sometime back while brainstorming during a session in my cohort. We were discussing ID generation and going down the rabbit hole when we reached database-level operations and how they can be optimized. This is where someone suggested Bw Trees.
So, I read the paper that introduced the Bw Tree. Here's a short gist about it that will help you decide whether to read this paper or not.
Lock contention and cache inefficiencies slow down B Trees, and this gets worse as the number of CPU cores increases. This prevented the database from handling very high throughput systems, as we kept hitting this bottleneck, and every optimization we tried gave a diminishing return.
Bw-tree is a latch-free B-tree designed for multi-core processors and flash storage. The tree re-imagined two things: how updates and concurrency could be optimized.
It doesn't use locks. Instead, it relies on atomic compare-and-swap (CAS) operations for updates, making it highly concurrent. It avoids modifying pages in place, using delta updates to keep the CPU cache hot.
It maintains a table abstracting out the physical storage. This allows for efficient page splits, merges, and compaction without expensive pointer updates, leading to page thrashing.
The paper is dense but fun. If you find databases, indexing, performance optimizations, or high-throughput workloads interesting, give it a read.
You can download this and other papers I recommend from my papershelf.
Three interesting articles I read
I read a few engineering blogs almost every day, and here are the three articles I read and would recommend you read.
Thank you so much for reading this edition of the newsletter 🔮 If you found it interesting, you will also love my courses
I keep sharing no-fluff stuff across my socials, so if you resonate, do give me a follow on Twitter, LinkedIn, YouTube, and GitHub.