2

How to handle an E6 who shoots down your ideas but doesn't offer any alternatives?

Profile picture
Senior Software Engineer [E5] at DoorDash2 years ago

I've seen multiple E6s point out flaws in others' proposals, but don't offer any alternatives of their own. What's a good way to navigate this? This is extra tricky when we're on the same team and they're the designated code reviewer for my work.

Example: I ran into a limitation with a 3rd-party SDK. I proposed 2 options as workarounds, but an E6 rejected both options due to their limitations. When I asked him for his recommendation, he could not provide any alternatives but still insisted that I find a solution without any limitations. Thankfully an E7 on another team helped me by providing a viable workaround after 3 E6s were stumped by this problem. What should I do if I'm not lucky enough to have an E7 help me next time?

297
2

Discussion

(2 comments)
  • 10
    Profile picture
    Senior Software Engineer [E5] at Meta
    2 years ago

    I am not sure how the company culture is at DoorDash but my answer will be slightly different from Alex's. I think you are paying too much attention to the level of people. It is very common to run into a problem where others cannot propose any solution. Since you came up with the initial proposal you are the best person to identify any better alternatives.

    In your situation, I would've tried to reach out to my teammates or some internal Q&A forum or may have re-read some more documentation to find the solution. Irrespective of what level the person providing the solution is I would've treated and looked at the solution the same way the first reviewer looked at yours. And eventually would've tried to come to the solution with the help of others.

    Hope you don't take my suggestion the wrong way, what I am trying to say is instead of trying to tie people's opinions to their level try to understand everyone's point of view. That'll give you an opportunity to have good relations with everyone. Just having a good relationship with an E7 will limit you in a lot of ways, you ideally should've good relationships with E6's and E7's and E5/4/3s.

    Also, one more tip, don't treat others as someone who can provide solutions right away. Most of us don't know the solution to like 99% of the stuff. Try to treat them as a sounding board of ideas. Come up with a couple of talking points and brainstorm with them. That way you'll leverage their experience and can come to a solution to which both of you will agree.

  • 7
    Profile picture
    Robinhood, Meta, Course Hero, PayPal
    2 years ago

    My first thought: How are these E6s sharing the feedback?

    • "Shooting things down" is an important thing senior/staff engineers have to do often to protect the integrity of the system, but there's a right way of going about it and a wrong way.
    • Do they phrase their concerns in a considerate manner and are thorough explaining why your approach has problems? Or is it more crass and a curt "This doesn't work because of X, find something else?". The first way is constructive and teaching you mature software principles alongside important context about DoorDash's technical complexities. The second is just being a wet blanket.
    • To illustrate the difference between good code review feedback and bad, check out this video. If their feedback is more of the unhealthy kind and you don't feel like they're seriously trying to give you an alternative when they ask, you should let your manager know. It's expected of E6s to uplift E5s.

    What should I do if I'm not lucky enough to have an E7 help me next time?

    2 thoughts here:

    • Deepen the relationship with the E7 - Make that E7 like you as much as possible, so they'll be around to help you next time. When they give you their answers, strive to understand how they came up with it so you can replicate their "magic" and not be dependent on them anymore.
    • Work backwards from the deadline - At the end of the day, things need to ship. This means that you often times need to land hacky code to meet the deadline. If the E6s shoot you down in the future and you can't find a better solution, be frank and put your foot down. Tell them that they'll need to choose between your more "sub-optimal" approaches so your project can ship, and if they don't want to, the deadline either needs to be extended or they have to do what the E7 did and come up with something. Being able to stand up for yourself starts becoming really important at E5.
DoorDash, Inc. is an American company that operates an online food ordering and food delivery platform. DoorDash went public in December 2020 on NYSE and trades under the symbol DASH.
DoorDash20 questions