I haven't gotten a promotion for several years now. I'm still 2 levels away from senior engineer. My manager says that it's because we're not on a revenue generating team so projects are harder to come by. The projects he suggests don't succeed. How can I better understand why I'm not getting promoted?
There are at least 3 reasons why you’re not getting promoted:
Push your manager to provide concrete examples and feedback within these buckets – something like “our team is not revenue-generating” is not a good enough answer. The way to approach that conversation is to have a shared doc (written down) which covers your past projects and your anticipated future projects. You need to make it feel easy + collaborative for your manager.
For most companies, the majority of teams will not be directly revenue generating, so "we don't have a lot of scope as we don't make money" isn't a good excuse.
Meta is a good example: Ads make up 97% of company revenue but the ads org is maybe 20% of the company. There needs to be a reason for the other 80% of the company to exist. As a company, Meta understands that the "organic" product (non-ads content) feeds into the business as users don't use Meta apps to look at ads, they use the apps to consume social media content. So every "organic" team does contribute to revenue but won't goal on revenue since they don't produce revenue directly. They will have other OKRs and KPIs instead.
For your team, figure out what its overall charter is and why it exists. In particular, figure out the OKRs/KPIs behind the team, and from there, you can holistically observe the landscape and pick/propose projects that move the needle behind these metrics. If these metrics don't exist, this is a good senior engineer growth opportunity: Work with your EM/TL to propose them!