Why System Design Interviews Need a Migration Follow-Up on Existing Systems

The article argues that candidates should prepare for the follow-up question of evolving an existing system safely rather than only designing a clean target architecture. It uses a practice scenario where a profile service must rename a database column from display_name to profile_name under a contract, while web, mobile, and import clients move at different speeds. The author stresses identifying all consumers and writers, since old and new versions often coexist during deployment. The piece also references Netflix's engineering work on tracing API changes to their consumers, noting that absence of observed references does not prove absence of consumers. It recommends mapping version compatibility combinations before deciding the deployment order.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.


Discussion (0)
Log in to join the discussion and vote.
Log in