System Design Demystified
What you'll learn
- System design basics without any trending terms.
- Shaping system design coversations using fundamentals as pivots.
- An overview of components and distributed systems with resources to follow up and build expertise as needed.
- A knowledge oriented interview preparation framework that can be easily altered by student.
- Planning the phases of interview process to avoid burnout
- Become better at current job while preparing for a job change by systematic upskilling
- Finer software engineering and technical details that help a candidate standout during interviews
Requirements
- Working in or planning to work in software industry
- Thinking about a career change in near future
Description
Guide to uplevel engineering skills and search for better opportunities without burning out.
Interviews are becoming more time-consuming as the software industry gathers pace. In addition, new trends keep getting introduced, leaving candidates exhausted to keep up.
The course recommends a more systematic knowledge-driven framework over a burst coding mode in browsers.
Course Ethos
"Give a Man a Fish, and You Feed Him for a Day. Teach a Man To Fish, and You Feed Him for a Lifetime" - Anon
Questions the course will answer:
How to upskill at current job?
How to prepare for a job switch?
How to ensure the job switch doesn't lead to burnout?
Is it worth preparing for MAANG/FAANG interview throughout the year?
How to understand development, deployment, and production systems from a career growth perspective?
How to plan a career change in the next 9-12 months?
How to construct the system design conversation during the interview?
What is the importance of distributed systems in system design?
What is the role of concurrency, and multithreading, in system design at scale?
Importance of simplicity in system design
In general, simplicity is a key principle in system design as it allows for better scalability, maintainability, and ease of understanding. A simple design is easy to expand upon, easy to troubleshoot, and easy to communicate to others. Complex systems are more prone to bugs and can be harder to understand and modify. A simple design also allows for greater flexibility and adaptability as the system evolves over time. Therefore, it is important to strive for simplicity in system design in order to create a system that is efficient, reliable, and easy to work with.
Key Roadmap Takeaways:
The idea is simple, prepare at your pace throughout the year and apply only when ready to invest 8 weeks for the potential employers.
Maximize the learnings to capitalize on the current workplace or the new one!
What doesn't the course offer?
The course does not talk about compensation and HR interview handling
The course does not talk about the behavioral interview and dress code etc.
The course does not explicitly target FAANG/MAANG.
The course does not deal with urgent career change situations like a layoff, reaction to a bad performance review, etc.
Who this course is for:
- Professionals planning to make a career change
- Professionals in cooling off period of their desired comapnies
- Software professionals from emerging countires trying to crack interviews of MNCs like FAANG/MAANG
- Recent graduates trying to understand the system design interview process
- People looking to rejoin the industry after a break
Instructor
About Instructor
=============
Subodh is a programmer with an MS in Electrical Engineering and 17+ years of experience in the software industry. Subodh has held roles of principal engineer across multiple organizations, building products that serve billions.
Subodh has been designing and implementing software solutions for Digital Cinema Distribution, Distributed Systems, Embedded Systems, Map Making, Insurance, Email Servers, and Data acquisition systems for a problem in the Astrophysics domain (master's thesis) since 2005.
Subodh finds peace in exploring the connection between the "How" and "Why" of any technical problem. Over the years, he has realized that research is a lifestyle and engineering is an attitude.
Mission
======
Helping people build burnout-free careers in the software industry. The primary uncertainties happen to be the following three questions.
WHY are you pursuing your current profession?
How long do you WANT to pursue the current profession/job?
How long do you HAVE to pursue the current profession/job?
The intent of all courses will be practical implementation and a long-term career perspective.