Admissions for my System Design June 2024 cohort are open, if you are a senior engineer looking to build a rock-solid intuition to design any and every system, check out my no-fluff course on System Design Masterclass.
My other no-fluff courses that you will find amusing are.
You are not hired to “just” ship features
You are not hired to just ship features, but rather ship features that matter. All great engineers I know understand the worth of their work and the business impact it brings; this way they prioritize the tasks that matter.
Do not be a transactional engineer - given a work, get it done without thinking too much about it. Operate like you own it, almost like the CEO, ensuring things are put to completion on time and with maximum impact. A few things I highly recommend you do are
understand the worth of your work
prioritize work that matters to the business
be responsible about your work and deliver on time
if something goes wrong, own it
acknowledge the help you got from your peers to get it done
When you get some work, step back and see the bigger picture. Elevate from being just a coding machine.
You can find this post on my LinkedIn and Twitter; do leave a like.
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.
📹 Video I posted this week
This week I posted How JioCinema live streams IPL to 20 million concurrent devices
"Live streaming is all about CDN" and if you are one of then who think that is the case, then watch my latest podcast to understand the infra setup, the scaling techniques, and the challenges it takes to live stream a cricket match to 20 million concurrent users without hiccups.
I spoke with Prachi Sharma, a Sr. Engineering Director at JioCinema leading the Backend Platform pod to understand the nuances of live streaming at scale and some fun wartime stories. Fun fact, it was Prachi's 6th IPL 🤯
🧠 Paper I read this week
This week I spent reading DecLog: Decentralized Logging in Non-Volatile Memory for Time Series Database Systems
Databases use WAL to maintain consistency and durability of transactions, but it can become a bottleneck when we have a massive IO ⚡
This happens because every entry in WAL has a log sequence number that needs to be generated in a single thread to ensure ordering and correctness, hence this is not suitable for multi-threaded CPUs.
Because LSN generation lies in the critical path of transactions, high contention for WAL affects the throughput. What if we could log multiple transactions concurrently? This is where decentralized logging comes in ...
To understand this better, I read a paper titled DecLog which leverages NVMs (persistent RAM) to make concurrent logging possible. I skimmed the paper already and hence shooting this out as a recommendation.
You can download this and other papers I recommend from my papershelf.
How long should the functions be?
"Functions in your code should be no longer than five lines" is the stupidest practice I have seen many codebases follow. This just fills the codebase with a ton of tiny functions that do nothing important but call other abstract functions surrounded by some trivial logic.
Such a codebase is a nightmare to understand and make changes to. Just imagine taking 79 clicks to just navigate and reach the place of interest, a sheer waste of time and effort. After a few taps, you will even forget where did you begin and how did you end up here.
As a general rule of thumb, optimize the code for anyone to understand, extend, and modify today. Keep your functions large enough to be doing something substantial, but short enough to be reused at other places.
Remember, functions were introduced to programming languages to increase the reuse of business "logic".
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.