The main idea I want to get across here is to work backwards from a problem instead of proposing something entirely new. The latter is something I've seen a lot of engineers struggle with at the mid-level and senior level when trying to get promoted.
Here's some ideas on how to create scope:
- Be detailed-oriented and look for bugs - When you work at a massive company like Apple, there are bound to be thousands of bugs lying around in the products. If you work on something user-facing, use it yourself and pay close attention. This is how I found a multi-million dollar bug in Instagram. After I found the bug, I expanded its scope, and it was a big help getting me from mid-level to senior.
- Play around with competitor products - Again, this is more relevant if you work on something consumer facing. If a competitor has a feature and it's doing well, you can just propose building it on your side as well. There was a very talented engineer who did this back at Instagram Ads by suggesting TikTok features.
- Get to know your PM - Assuming you have one of course. But similar to the above with competitor products, you want to build up more product intuition in general. This helps product ideas "flow" more easily within your brain.
- Talk to other engineers, learn their problems - This is especially relevant if you're working on a platform/infra team. Even if you aren't, you can probably some pain points with developer experience where a nice internal tool would help. I made a really slick ad injector back at Instagram Ads, because testing specific ad types was very difficult.
- Increase test coverage - If there's something that's a constant at massive tech companies, its test coverage being low and flaky somewhere. If there's some part of your team's codebase that fits that bill, you can spin up a testing workstream. I saw mid-level engineers do this to create scope all the time.
- Add more logging - It's annoying to add comprehensive logging and then write queries to stitch the data together. Back at Robinhood and Meta, I always felt like I had some user-understanding questions that couldn't be answered with the current analytics, leaving room for more logging and/or a new dashboard.
In terms of how to convince people to buy-in to your projects, I have a lot of thoughts here. In a nutshell, the best way to get buy-in is to just build an MVP of your idea on your own and foster it until it gets some clear traction.
If you want more specifics on how to dive deeper into any of these, happy to expand! I'm also happy to vet potential project ideas as well and whether it would qualify as senior-level scope.