8

How to grow better product vision as engineer?

Profile picture
Mid-Level Software Engineer [L4] at Snap2 years ago

One thing that I learnt in one of the taro videos is to choose the right project for the career growth. However, I lacked this kind of vision/ability to evaluate. What I can do to improve this weakness? Should I grow more engineering domain knowledge or should I take some business courses to further improve myself?

205
2

Discussion

(2 comments)
  • 8
    Profile picture
    Meta, Pinterest, Kosei
    2 years ago

    One common misconception about growing as an engineer is that you have to create (and then implement) a compelling vision. I actually think the minority of engineers reach very senior levels in this way.

    I'd argue that you need very little product vision to get to a senior+ level. Instead, just observe the problems on the team and solve them.

    Don't have an idea of problems within the team? Just ask someone, I'm sure they're happy to complain to you :)

    • If you notice an engineer is stuck, ask them if you can help, and see if others are also stuck.
    • Talk to the PM and ask if they're happy with the engineering team collaboration, and how it could be better.

    I'd strongly advise against taking business courses -- I don't know of anyone where that was actually an effective use of their time or money. I'm biased, but I'd say you'd gain a lot more by being active within the Taro community 💯

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

    Great question! Hybridizing as a product manager to develop your product direction is a very common behavior at Meta, so I know a lot about it. First, I recommend going through these discussions that have advice on this topic:

    Should I grow more engineering domain knowledge or should I take some business courses to further improve myself?

    This depends on what stack you work on and what team you're on, but regardless of all that, I highly recommend against taking business courses to develop a sharper sense there. A course by definition needs to be pretty general, but in order to really have a nose for impact and come up with high-leverage efforts, it's all going to be team-specific 99% of the time. It is near impossible to use external resources to get to senior, especially at a FAANG-level company like Snap.

    There's 2 major types of projects you can add:

    1. Roadmap projects - If you are on a product team, this will mean shipping new features/improving on existing ones (probably via A/B test at a giant company like Snap). To improve your product vision here, I recommend getting to know your PM, using competing products a lot, and looking for trend-lines among past projects.
    2. Infrastructure work - If you aren't on a product team, this will be especially relevant, but even product teams will have a lot of standard engineer infra like oncall process, internal tooling, and build ecosystem. For this, it does make sense to develop a deeper engineering domain knowledge of your team's system. Even if you're a product engineer, there's no reason you can't work on infra problems - Rahul has a good example of that in this video on how he built and scaled an internal tool to hundreds of engineers to get E6 (Staff) promo at Meta.