I got rejected for a senior promotion three times. They hired an external candidate
at $40K more than I was asking. I trained him.
I'd been a mid level engineer for four years at same company. Each promotion cycle my manager said I "wasn't quite ready" and gave me a stretch project to prove myself. I delivered each one. and got same feedback.
After the third rejection, they posted a senior role externally. The job description was almost word for word what I'd been doing for two years. I applied to it internally as a joke. HR told me I "didn't meet the qualifications."
They hired someone from outside a month later. His start date came through in our team Slack channel. His starting salary was leaked in a comp doc that got accidentally shared the next quarter. He was making $40K more than the number I'd asked for in my last review.
My manager asked me to "onboard him to the codebase." I did it. It took six weeks. He's a fine engineer. He's also six years younger than me with two fewer years of experience.
I left four months after he started. He still messages me on LinkedIn occasionally to ask questions about the system.