Context: We are currently in the process of planning for the next half, and we have a few projects at hand currently being proposed. I've been at the company for around 1.5 years, but recently switched tracks within the same team 6-months ago.
My work so far has been mostly focused on onboarding (ie : low-medium complexity). I'm looking to get more scope for my next project. This aligns with feedback I received that I should take own a more complex component, to move to the next level.
Question: I'm wondering what criteria I should consider when choosing a project / what should I optimize for? Is scope / impact the biggest factor to consider here? I also want to avoid taking on work thats "too complex" or sets me up for failure.
I would look at your company's expectations for each level and try to work backwards from the next level. You want to try to figure out what the delta is between your current level and the next level and work on a project that can fill that delta.
Great question! First, I recommend going through this section in the promotion course about judging technical complexity: https://www.jointaro.com/course/nail-your-promotion-as-a-software-engineer/technical-complexity/
If you have more time, I recommend going through the entire "Project Credit And Scope" section of that course as well - Should be really helpful.
LinkedIn L3 with 1.5 years of experience alongside a track switch maps to later junior/early mid-level. From my experience mentoring many engineers at that level, you should take on a project that's:
#3 is very important, maybe even more important than the project complexity/impact itself, as you want to make sure you have a couple people who can "bail you out" if the project turns out to be overwhelming. At your level, I still think it's good to play it fairly safe. Once you get closer to senior (3+ years at LinkedIn), that's when you want to start taking on projects where there is nobody to save you and you need to become the expert/pioneer in that area.