I'm trying to figure out the proper level of fidelity here: Should I have very granular estimates or something that's not super structured - Just a high-level idea of projects with some buffer built in.
I'm curious to know how to structure this plan to ensure that one doesn't take on too much and get overwhelmed, but is also full enough so that in case of blockers on core projects, there's a pipeline of projects to switch into. Would love to hear everyone's thoughts!
You can not plan for everything, but you need to have enough clarity. Imagine a road trip over many days. You don't print out turn-by-turn navigation for the whole trip on day one. You don't know if there's traffic or detour. However, you have rough ideas of which cities you visit and which route you travel along in your mind. When your gas is low you look up the next gas station along the route but you don't plan them ahead of time. That's what it's like.
Learn through trial and error. Practice more and you'll gradually learn what you need to plan ahead and what you can improvise.
Good question! I think you're already very much on the right track with that last point about having a pipeline of projects: That's definitely an example of E5 thinking!
I try to lean more structured, especially at Meta where things are so chaotic and blow up all the time. In more concrete terms, I would try to estimate projects in terms of weeks it would take with an uncertainty of +/- 2 weeks. However, there is a tension between taking a ton of time doing planning and moving really fast in the Meta style.
To clarify my thoughts here here, I can share how planning worked on my team at Instagram, Instagram Ads. I felt like the process didn't take too long (1 to 1.5 months) while being very structured and high-value. Here's how it worked:
All that being said, half planning is super important for almost all teams at Meta, and I highly recommend playing as big a role in it as possible if you're pushing for E5 to get a lot of credit on the Direction axis. And once you're pushing for E6, it is effectively required to be one of the most important people on the team in roadmap planning, if not just outright driving the entire thing.
In terms of how engineers can add value to this entire process:
For tactics around how to come up with ideas to put onto the team's roadmap, I recommend these discussions: