Congratulations, you made it to the end of our system design series! If you liked this series and want to see more like it, give this video and all the others in the playlist a like!
You can find the full system design doc here - Feel free to use it as a template for when you are working through a system design at your job!
Here are the core points from the video:
- Creating the system design doc is just the 1st step of the process: The next step is getting aligned from the team!
- Here are the steps to get strong alignment and the technical and overall product direction on a project:
- Time-box the exercise: Have a firm date in mind on when this alignment needs to happen and work backwards from that date.
- Share the doc with teammates and stakeholders and push them to leave feedback asynchronously. You can directly cc important people on relevant portions for them to look through.
- Set up a tech review meeting as a forcing function to solidify all the alignment and talk through any remaining points of content. This meeting should probably be 45 minutes or more. Book it far ahead of time as senior+ engineers, tech leads, and managers tend to have very busy schedules.
- Remind people before the meeting to go through your system design doc beforehand and try to resolve as many threads before the meeting as possible. You might need to do this several times.
- Everything covered in this system design series is effectively a requirement to be a competent senior+ engineer and tech lead, especially if you work at FAANG or some other Big Tech company.
- This can all be done reactively as well. If you're working on a small, tightly-knit team with very high synergy (common in startups), raw tribal knowledge and ad-hoc collaboration may be enough to ship projects consistently well. In this case, doing all this probably doesn't make sense. However, if your last couple projects have been pretty rocky, you might want to consider adding all the processes outlined in this series.
If after all this, you're still hungry for more system design resources: