I'm mid level, new to the company.
I got assigned a chunk of a bigger project owned by a staff level engineer, let's call him X, who has worked on the product for a long time and has a lot of context.
Things that were new to me: the language, the tool chain, product context. The codebase is several years old.
My skip level manager (1 level above my direct manager) once encouraged that I should aim to finish my work in less than 2x the amount of time it would take X to do it (but besides this I received no pressure, or reminder to push for this target from managers).
This was overly ambitious. I worked longer hours and harder than anyone around, including weekends but still could not finish it in 3x the amount of time initially estimated.
The staff engineer overestimated what I can do too. He's very willing to explain but I had a hard time mapping his high level explanation to what happens at the code level.
I could not tell if the standard here is high or the task is too hard. So I leaned towards putting in more effort rather than voicing my concern.
I also did not have a good sense of "are these unknown parts of the code base grok-able with a little bit of time or do they require a lot of time?" to estimate time spent up front.
In the end I got some barebone thing out and he took over. Still took him a couple more weeks to get the thing finished. Along the way he solved some problems I'm sure I have no chance of solving in that timespan.
With this evidence I was sure the task was legitimately too hard for me and was comfortable letting my manager know my opinion.
Back up a little bit, when I started working on the project, my manager knew I could not stick to the original timeline set by the engineer and encouraged me to take my time to learn the codebase. What is puzzling is my manager did not tell the engineer about this unrealistic estimate. The engineer reports to a different manager and has been around way longer than my manager.
Maybe there is some politics going on that I'm not aware of.
Anyway this has been a very stressful experience.
What could I do better? What should I do to mitigate any harm done through this experience?
Seems like this ordeal was pretty stressful for you, sorry to hear that. Please take care of yourself more in the future!
That being said, I don't think there's any dark politics or anything here so I wouldn't read too much into it. I might be missing something, but it seems like your team had a lot of good intent:
I feel like the only mistake here was the skip providing the 2x estimate. When it comes to a new mid-level engineer vs. the tenured staff engineer, I would expect the staff engineer to be 4x to 10x faster, not just 2x. But managers shouldn't be too technical, especially a skip manager, so I'm not surprised they whiffed with this estimate.
In terms of what you could have done better:
Lastly, I recommend these 2 masterclasses if you haven't gone through them already:
Incredible answer. Thank you Alex!
I'll go through the master classes you mentioned.