I am currently midway through a business oriented system design course that has been incredibly valuable so far. The course covers essential topics such as gathering and prioritizing business requirements, preparing a utility tree, and performing availability calculations for systems. We have also learned how to write Architecture Decision Records (ADRs) and create various diagrams, including context diagrams, container diagrams, and sequence diagrams. Additionally, we have explored advanced topics like sharding, rate limiting, and caching strategies.
One of the standout features of this course is the home tasks assigned after each class. These tasks have been instrumental in helping me consolidate and apply the concepts learned. The timely feedback from Vladimir on these assignments has been extremely helpful, and the opportunity to discuss different approaches and clarify doubts with him significantly enhances my understanding of the material.
Overall, the course has been comprehensive and practical, providing both theoretical knowledge and hands-on experience in system design. I am looking forward to the remaining sessions and confident that they will continue to build on this strong foundation