Being promoted to Staff Engineer levels and above has to be around the impact you're working on and producing visibility around it - where are we heading, can we feel the confidence we need when you lead it, how others around you feel about it. Will Larson wrote a post I believe all software engineers should read: "Find the right mix of activities that leverage your strengths, aren’t already overburdened with volume, and feel authentic to you. If you’ve never done much communication of your work, it may feel awkward to self-promote your work. You never want to wholly lose that sense of awkwardness–restraint helps–but you will have to get comfortable with some of it."
Very important & underappreciated skill. Anyone who wants to climb needs to be part politician.<p>I once saw someone's Senior Manager promotion announcement/congrats from the department VP include the justification "I see you on a lot of e-mails" and little else. The guy was by all appearances merely noisy and feckless, but his career ramped up faster than did mine..so I guess - ultimately - not so feckless after all. Just min-maxing on the skills that resulted in advancement, and delegating the technical functions to others under and around him.<p>The same VP once told me over coffee, "[your location] is out of sight, out of mind-- and I mean that as a compliment." I've since managed to match my noisy colleague's career level, but first I had to learn to put on my public face and be visible in my work.