2 ms·
I am studying system design as it relates to interviewing. I wish I could go back in time and study this consistently throughout my career. Why? 1. I am not g
by jonnycoder 4y ago
I am studying system design as it relates to interviewing. I wish I could go back in time and study this consistently throughout my career.
Why?
1. I am not good at verbalizing the details unless I read or practice the concepts periodically, even though I grok the main concepts due to past experience.
2. Last 10 years has been a boom in horizontal scaling. I just learned what a MinCount sketch is and I did identical work in this space back around 2015. Designing Data Intensive Applications book was published in 2017 but I recently bought it.
3. Not all of us work for FAANG companies and don't always get to work on scaling problems. I find them fascinating though and fun to work on. Studying about it and doing a small side project is a great way to learn.
4. Money. There is a better chance of landing a role at a FAANG company with top pay if you can ace the system design interview and coding (leetcode) interview (at least before the recent downturn). Or a higher pay at 2nd tier tech companies by coming across as more senior.
5. Learning and growth mindset. I spent too many years at working chasing results and learning as I go, but not enough time in stepping back and investing in my training in areas (see above) that are very important but not very urgent. System design resources are plentiful and free, and it's easy to find good resources if you search via the lens of interviewing.
I've always been a little overwhelmed with the amount of new software/cloud tech that comes out and not choosing to start somewhere (unless my job at the time called for it). I've personally found that looking through the lens of finding a new job provides accurate and motivating results. Even if it's not studying system design, you can at least find out the hot skills by looking at senior/principal software roles. Aside from machine learning, I keep seeing AWS and Kafka on the list of tech aside from the normal python+linux skill requirements. And while the tech skills may change quickly (it was cassandra and rabbitmq back when I remember), the concepts in Designing Data Intensive Applications provide core foundations/understanding for a lot of depth in systems.