On promotion and growth beyond senior
As I progressed from a junior to senior software engineer within Amazon, I came to view leveling up as a function of wisdom - f(wisdom)
- where as your applied or practical knowledge increased you were rewarded with a promotion. Therefore, when a peer got to level up to principal from senior engineer, my interpretation was that the organization valued my judgment less than my promoted peers, which made me deeply restless.
However, I am realizing that I need to change my perspective on what it means to level up beyond senior engineer. Instead of f(wisdom)
, my observations from the promotion process suggest that leveling beyond senior functions more as f(strategic_work, visibility)
. This isn’t to say that engineers getting promoted aren’t highly knowledgeable (they absolutely are!) but rather that strategic work and visibility is paramount in the promotion process. People advance when:
- Their projects are deemed critical to deliver for the organization. Successfully delivering and launching initiatives aligned with organizational priorities is weighted more heavily than impact metrics like user adoption or satisfaction feedback.
- They successfully advocate for themselves among key individuals in the organization. They earn trust with sponsors at higher levels by delivering on their commitments.
The key takeaway is that if one wants to get promoted, you should place yourself on strategically important projects.
This change of perspective brings me some peace. I wish Amazon, and the industry at large, would consider branching into different software engineer archetypes rather than just levels beyond senior. For example, if one got the title “Principal Engineer - Architect” (provides direction with year-long vision and strategy documents, influences organizational structure to execute), or “Principal Engineer - Specialist” (dives extremely in-depth in a niche domain such as virtualization), I’d have no issues with it because those are not my strengths nor areas of interest. If a single archetype is too limiting, one could consider a picklist such as “Principal Engineer - Architect & Program” to highlight that the main strengths of the individual are around long-term planning and being a glue that removes roadblocks and ensures decisions are made in a timely manner. Personally, I love being a generalist or product-focused engineer.
I need to occasionally remind myself that my happiness increases significantly when I stop comparing myself to others. Ultimately, for me, joy comes from increasing my knowledge (e.g., reading books, articles), creating connections with my existing knowledge, applying that knowledge to practical problems to internalize it, and then teaching it to others through blogging.
Even if I stop equating senior+ levels with superior engineering wisdom and let go of comparing myself to others, do I still want to be promoted? Yes, because I am being excluded from the internal principal engineering community and hence excluded from learning opportunities. From my conversations with friends, the principal engineer Slack groups and offsites are full of self-reflective people that have deep conversations on what they learned. I want to be surrounded by such people where they have dialogues on software engineering.
I hope this post brings some peace to my fellow software engineers grappling with feelings of their skills being valued less by shifting their perspective on what it means to get promoted.