Who is a true generalist software engineer?
Thank you so much for reading this edition of the newsletter 🔮 If you found it interesting, you will also love my courses
Who is a true generalist software engineer?
All good engineers I know are generalists, but if required, it would not have taken much time to become a specialist. They all could grasp any concept quickly and start contributing to any system from day one.
Don't get me wrong, I am not saying you should not specialize. Specialization is important and you need to eventually become one because early in your career you are paid to get things done, while you are paid to minimize the blunders in your later stages.
During the first 6-8 years focus on becoming a generalist and explore many verticals. While doing this, identify one thing you love, and build raw expertise. To be honest, it takes time to figure out a domain you genuinely are passionate about.
By the way, being a generalist does not mean being mediocre in everything; it means building a strong foundation across core concepts, allowing you to be flexible, adaptable, and ready to tackle any problem statement. The strong foundation and varied experiences will help you
spot gaps in existing systems, which specialists might overlook
you cross-pollinate and come up with innovative solutions
you become empathetic and hence a better team player
So, don't say no early in your career; optimize for learning and exploring as much as you can, while building an ability to learn, unlearn, and relearn quickly.
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 Converged Indexes makes Rockset super-efficient in all kinds of queries
Rockset built a super-interesting Index structure called Converged Index that is efficient for all kinds of lookups - row, column, and even inverted indexes; in the video, I have dissected and explained its internal details.
By the way, this is the 2nd video in the Rockset internals series and I dissected and researched through 18 of their blog posts and 2 whitepapers. Exploring the details was fun, and I am sure you will love it too.
Build a habit of reading RCAs
I get excited whenever there is a production outage because I know I will be learning something new and interesting very soon. I always hop on the call, even when I am not on call :)
Being part of stressful situations and seeing how seniors fixed the issues and operated with a calm head made me a better engineer. Reading old postmortem documents (RCAs) of outages at all my workplaces became a habit.
If you are an engineer early in your career, do not shy away from being on-call and spend some time reading RCAs. They are filled with interesting, practical, real-world insights about the systems, coding blunders, tuning parameters, etc.
To be very honest, you will learn more from being on-call than literally anything out there.
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.