I’m an E5 on a platform team at a Big Tech company. I'm under aggressive timelines to create a proof-of-concept (POC) for a partner team. My skip-level emphasized the importance of this POC as well as its timeliness to me.
Our team's E6 is coding our platform infrastructure and is slipping his dates. The E6 said his infra code should be production ready in 2 weeks, but claimed there should be enough there to unblock my POC. I tried to forge ahead, but my POC is now delayed because I spent so much time trying to work around the deficiencies in our platform infrastructure. I eventually decided to prioritize some other parts of the POC to avoid losing more time while the E6 is taking his time with the infra work. How much of this should I communicate to our partner team's stakeholder? I'm hoping that I'll be able to hunker down to get the project back on track without slipping our dates. Another E5 on our team told me that he doesn't like to air our team's dirty laundry outside our team, so he usually says everything is fine until the last week of the project when he suddenly flags delays. Is this a good strategy? Or should I be honest and upfront with cross-functional partners external to my team?
How much of this should I communicate to our partner team's stakeholder?
Pretty much all of it but make sure to communicate diplomatically and not seem like you're throwing the E6 under the bus. You can just say something like "We're working through some tricky dependencies, so we'll be delayed by X weeks." Make everything about "We" and don't mention individual people.
Another E5 on our team told me that he doesn't like to air our team's dirty laundry outside our team, so he usually says everything is fine until the last week of the project when he suddenly flags delays. Is this a good strategy? Or should I be honest and upfront with cross-functional partners external to my team?
I'm going to be honest: I think this is a pretty bad strategy. Hiding issues is a prime recipe for disaster 99% of the time, and I have learned that the hard way repeatedly.
When it comes to unforeseen project blockers, my strategy is always to:
#1 is pretty straightforward, so I'll expand on #2. When I ran into a project blocker at Meta, my goal was to make sure that absolutely everyone was on the same page. The tricky thing is that important stakeholders like PMs, EMs, and TLs are super busy, so they can miss one-of updates here and there. So I would over-communicate:
I don't know how darkly political your organization is, but unless things are really bad, honesty should be the best policy. Sharing early and transparently brings the following benefits:
Here's some additional resources to help with this:
Thanks, Alex! Plot twist: The E6 demoed a working end-to-end test of his infra code in a testing party with our team to show that his platform infra works. I told the TPM that my project is back on track. Afterwards, the E6 refused to share some of his code changes. He said one part was done in a hacky way, so he'd like me to give it a shot. Since this is a POC, I told him that a hacky implementation is fine. However, he still refused to provide that code. Now the project is delayed because I'll have to reimplement that piece myself.
I escalated it my EM with 2 options (I recommended option 1):
My EM told me to go with option 2. He told me that the E5 expectation is that you unblock your project on your own. Does this sound right? Should I escalate to my skip? My skip had previously asked me why our team takes so long to execute and I had mentioned redundant work within our team. This is just another example of this. How should I communicate this to our partner team's stakeholder? In this particular case, I could probably get this project back on track by working an extra weekend, but not if this continues.
He told me that the E5 expectation is that you unblock your project on your own. Does this sound right?
This is technically true, but it feels like a cop-out response on the EM's side to avoid conflict. The real E5 bar is this: Unblock projects on your own properly. Duplicating work seems like a bad idea...
Should I escalate to my skip?
Yes, avoid wasting that extra weekend. However, a lever I would try to pull first if you haven't already is to have a meeting between the E6, your EM, and yourself. Make your case:
Going to the skip on your own can make other parties feel like you're going behind their back, so I would try to resolve this locally ASAP (literally book an emergency meeting during lunch or something within the next 2 days). If local doesn't work, escalate.
Thanks, Alex. Miraculously, I was able to convince the E6 to hand over the code! Our TPM happened to attend our team standup, but my manager wasn’t there. In my standup update, I mentioned that we lost the code from the testing party last week, so the POC will be a little delayed since I have to reimplement it. The TPM said, “Wait, what?” The E6 said, “Let’s take this offline.” The TPM, however, said, “Wait, what’s going on? I want to understand what’s happening.” I said, “We’re missing part of the code from the testing party, so the backend engineer is blocked.” The backend engineer protested, “I’m not blocked.” The E6 said, “It’s a 5 minute thing to fix.” I said, “Oh, would you mind spending 5 minutes to take care of it in that case? It would really help out the POC project.” The E6 said, “It’s a 1-line fix. You can do it.” I said, “Oh, would you mind putting that in for us? It would take me a lot longer to figure out where that line goes since I didn’t write that code. It would really help us out and put the POC back on track.” At that point, the E6 realized that he painted himself into a corner and had a sheepish grin as he agreed to do it. I said, “Oh, when can we expect that by?” He agreed to have it that day. Surprisingly, he quickly followed up in our team’s slack channel as soon as he pushed his changes to my branch (it was not a 1-line change). My EM was completely useless, so I can probably claim that I unblocked this project on my own in my performance review. I assume the TPM put some pressure on the E6 though!