18

How to identify projects that are more suitable for senior engineers?

Profile picture
Mid-Level Software Engineer [62] at Microsoft2 years ago

At Microsoft, basic criteria for promotion is to deliver at next level consistently. Example: At L62, i need to work and deliver at L63s work level standards.

1.3K
1

Discussion

(1 comment)
  • 19
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    2 years ago

    First off, I want to caveat my response with the fact that this will vary a lot based on company. However, Microsoft is one of the world's most prestigious tech companies, so I imagine its bar for senior isn't too different from what I'm used to across Meta, Robinhood, and other FAANG/FAANG-equivalent companies.

    For me, here are the core axes when it comes to evaluating a project:

    1. Technical complexity - This one is hard to measure as it's very subjective. The simplest way to tell is if junior/mid-level engineers struggle working with the code behind the project: That clearly shows senior+ technical depth. Other ways a project can be more technically complex is if it's closer to the infra layer (and further away from the product layer) and if it's working with legacy code as opposed to new code.
    2. Number of stakeholders - For senior engineer complexity, I think you need at least 5-10 people relevant to the core execution of the project, which will generally be a combination of product managers, designers (if you're working more on the front-end), and other engineers.
    3. Time horizon - Being able to be proactive and see into the future is a crucial skill for senior engineers. If I were to put a number on it, a senior engineer project should take at least 4-6 months to complete.
    4. Ambiguity - Did you have a well-defined PRD and designs when you get the project or was it more of the "some scribbles on a napkin" level of fidelity? The latter makes the project more "senior".

    All that being said, I think what a lot of people don't realize is that even if a project is "senior-level" doesn't mean you're a senior engineer if you take it on. The level of credit you get on a project is actually the cross-product of 2 vectors:

    1. The scope of the project (covered above)
    2. The depth of your behavior while you were executing it

    It's possible to do a "senior level" project with a mid-level engineer's performance overall due to poor execution. It's also possible to turn a "mid-level" project into a senior engineer's performance with exceptional execution and expanded scope. Here's some axes to evaluate an engineer's depth of behavior when doing a project:

    1. Leadership - I mentioned that number of stakeholders is important, but it's not at all relevant if you're just functioning as yet another individual contributor. You need to be a lead or co-lead of the people on the project in order to claim "senior engineer" credit.
    2. Project Attribution - In other words, "Were you the one who came up with the project and successfully aligned people to get it on the roadmap?". You get a lot more credit when you were the driving force behind the genesis of the project as opposed to just receiving some well-defined project from your PM or EM.
    3. Quality Of Execution - Did the project complete on time? Was the team able to build in a healthy way without burnout? Did other engineers on the team grow due to the project's execution? Was thrash minimal? Did the launch go well with very few (or even 0) production issues? If you can answer "Yes" to all these questions, that's great sign of senior engineer behavior.

    Related resources:

Microsoft is an American technology corporation which produces computer software, consumer electronics, and personal computers. It developed the Windows line of operating systems, the Microsoft Office suite, and the Internet Explorer and Edge web browsers. Microsoft is often credited for ushering in the modern PC era.
Microsoft48 questions