How to get promoted in Silicon Valley
Warning: this is tongue in cheek!
Junior Engineer to Senior Engineer: Build a cache
When joining a team the engineers are building features and functionality. No one has time to address performance issues, so when you come in, you can easily improve a performance bottleneck by building a cache. Now you can claim 10x speed improvements and clear savings.
Senior Engineer to Staff Engineer: Build a dashboard
Now you have metrics and can easily spot some low hanging fruits in the project. Solve those and you can quantify your contribution to the project.
Staff Engineer to Senior Staff Engineer: Build a key value store
It doesn’t matter that the company already has 6 different key value store systems or that you can find open source solutions. Your problem is surely slightly different. Building a new one shows deep technical chops.
At this point getting promoted on the Individual Contributor track becomes difficult, so you do a lateral move to Management.
Manager to Director: do a reorg
BTW you might be able to apply the same trick several times in a row.
bonus If you’re in testing:
Senior Test Engineer: build a new testing framework and get teams to use it.