This edition of the newsletter contains one quick write-up about
Roadmaps are just satisfying your urge to follow a syllabus
I have also shared 3 super-interesting articles I read this week along with a paper that I am reading over the weekend. Thank you once again for reading this edition of my Newsletter, now without further ado, let’s jump right in …
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. [Sign up and get 40% off]
Roadmaps are just satisfying your urge to follow a syllabus
If you always chase a roadmap then you are just continuing the behavior of sticking to a pre-defined syllabus from your school days, where it was discouraged to go beyond.
I understand that roadmaps provide a sense of comfort and a structured and clear way to achieve something, but, if you are focused on doing the bare minimum, then you
miss the opportunity to stumble upon something amazing
are at risk of developing a shallow understanding
More importantly, you are robbed of experiencing the joy of learning something super interesting. Some of the most interesting and helpful things I know happened because I went out of the way and spent days understanding the nuances.
To be honest, going out of the syllabus forced me to dig deeper because I started exploring it out of curiosity and genuine interest and not because of some peer pressure. I was driven by intrinsic motivation rather than an external impulse.
I personally believe that deeper understanding is what separates good engineers from the better. By not sticking to some predefined roadmap, you
become adaptable and comfortable with uncertainty and change
learn how to navigate through errors quickly
build an ability to learn any and every concept
become great at connecting the dots
and most importantly, you learn how to learn.
Again, I am not telling you to abandon roadmaps entirely. They are useful guides, especially when you're starting out. The key is to use them as a starting point, not an endpoint. Let it not limit your learning and curiosity.
You excel when you dare to differ.
You can find this post on my LinkedIn and Twitter; do leave a like.
📹 Video I posted this week
This week I posted A bug in GitHub's Rate Limiter
GitHub faced an interesting bug when they moved their Rate Limiter implementation from Memcached to Redis. I spent this week dissecting their engineering blog to understand the nuances and compiled my learnings.
By the way, after a very long time, I recorded a longer video to slowly cook and explain every little detail. Watching this video will make you understand why you cannot assume latency to be zero and why we have to always think about clocks whenever we build distributed systems.
🧠 Paper I read this week
This week I spent reading Near-duplicate question detection
I always wondered how Amazon and other e-commerce show common questions people ask and their responses at the end of the product page. Because two people can ask the same question in different ways.
This is an interesting problem to solve where we need to find "near-duplicate questions" and then pick the best response of all and show it. Given raw text matching won't work, Amazon needs to group the questions semantically and then pick the top answer/response to it. It is a pretty neat problem :)
This week, I am reading a paper by Amazon that talks about this very problem and how they solved it at scale. The paper is a fun and breezy read and I skimmed it twice already. An easy read for the weekend :)
You can download this and other papers I recommend from my papershelf.
You can find this post on my LinkedIn and Twitter; do leave a like.
📰 Interesting articles I read this week
I read a few engineering blogs almost every single day, and here are the three articles I would recommend you to 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.