Not everything needs to be dumbed down
Some concepts cannot, do not, and should not have a “simple” explanation and should be covered with all their nuances. Some concepts are inherently complex because they solve a complex problem.
This edition of the newsletter contains
one quick write-up that will help you grow faster in your career
a video I posted
a paper I read
one SWE Math Weekly Question
I have also shared 3 super-interesting articles read 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, the admissions for my System Design February cohort are open. So, if you are SDE-2, SDE-3, and above and looking to build a rock-solid intuition to design any and every system, you will find my course super interesting.
Instead of drawing boxes, we go into intricate details of every single system and build an end-to-end understanding. The learnings from the course can be applied at your workplace from day 1. So, if you are looking for some real engineering discussions, or brainstorming, do check out my course.
Course curriculum and other key details - https://arpitbhayani.me/course
Not everything needs to be dumbed down
Some concepts cannot, do not, and should not have a “simple” explanation and should be covered with all their nuances. Some concepts are inherently complex because they solve a complex problem.
I am not against simplifying explanations; they are an excellent starting point. But, as you progress in your career, you might not find a beginner-friendly explanation for some things you are working on. The only way out will be to go through the tough explanation, some not-so-well-written doc, or some obscure code.
So, it is crucial to build a habit of reading more detailed, in-depth content, even as a starting point.
When something is dumbed down, nuanced details get lost in the process. Going through such over-simplified stuff gives you an illusion of mastery, but in reality, it has given you an extremely superficial understanding. This is precisely what makes people say things like “I will use NoSQL because SQL doesn’t scale”.
So, when you find time do hard things - read blogs, read papers, watch conference videos, explore OSS code, etc. you know the drill. By doing this consistently, you develop abstract thinking, which allows you to see patterns across different domains and helps you understand a complex system without getting lost in the details.
To be honest, abstract thinking is one skill that separates good engineers from great ones.
So, whenever possible, do not seek out the simplest explanation and challenge yourself. The goal is not to understand everything immediately, but to stretch your mental models, gradually build a deeper understanding, and in the process become a better engineer.
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 the video I posted
I published a video - Load Balancers are not Magic - Atlassian Outage Dissection
Load Balancers went out of memory. Atlassian faced an outage and their load balancers went out of memory. I just dissected their RCA and published a video explaining the same. Going through this will make you realize that Load Balancers are not magic :)
Paper I read and would highly recommend
I spent some time reading On-demand container loading in AWS Lambda
AWS Lambda scales to provision containers at 15,000 per second, and achieve cold-start times as low as 50ms, even for large container images (up to 10GiB).
Some time back, I read the paper from AWS where they covered the nuanced details of how they do this and the set of optimizations they did to minimize the cold start problem. The nuances covered will make you more curious about containers and their internals. definitely a good weekend read :)
You can download this and other papers I recommend from my papershelf.
SWE Math Weekly
SWE Math Weekly is where I post one CP-style math question every week. The problem won't just be random theoretical math exercises. It focuses on topics that are actually and commonly used in AI, ML, and other advanced domains.
If this sounds exciting, hop along, and solve the problems. It's going to be fun, I promise! This week's question is - Evolution of Tech Content Creators.
YouTube has a problem with Tech Content Creators!
YouTube needs to predict the evolution of tech creators' content and find out which ones provide good tech depth and which ones are entertaining. This is precisely the theme for the second challenge in SWE Math Weekly.
The problem will give you exposure to some key concepts in linear algebra, so, take it slow, and use this opportunity to understand things you always wanted to.
here's the challenge - arpitbhayani.me/math/2
other challenges and solutions - arpitbhayani.me/math
SWE Math Weekly is one CP-style practical math challenge every week.
Time to make math interesting (for us mortals) and in the process become better engineers :) If this sounds exciting, hop along, and solve the problems. It's going to be fun, I promise! You can find this and other questions on SWE Math Weekly.
Three 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.
Thankyou for writing this post, Arpit!