This is just an analogy, not a fact. Just something I observed over the years as I grew from an Entry Level Software Engineer (L3) to a Senior Software Engineer (L5) at Google.
How you interact with a design document evolves as you grow into your career.
- As an L3, you implement the design doc.
- Your main work is implementation, not the design itself.
- As an L4, you write design docs (or part of it if the scope is too big).
- A project usually corresponds to a single doc.
- You might have to implement it yourself to deliver it end-to-end.
- As an L5, you write more design docs and planning docs.
- You write multiple docs for a single project. You then need a separate doc (this could be the planning doc) that connects them all together.
- The planning doc helps track all the moving parts. This helps when leads ask you about project status.
- You need to delegate the part of the project (single design doc worth of work) to others and help in delivery.
This analogy can probably be stretched more. For example, at L6, maybe you write a requirement doc to justify “what” should be worked on. I can’t really say yet since I haven’t reached that level.