>Not by writing self-promotional documents.
>> Exceeding expectations for your current position is how you get promoted.
>Unfortunately, it is not by "exceeding", but documenting that you have exceeded, and knowing how to document it right, sometimes not really exceeding at all.
You're stating the problem to be documenting. Yes, Amazon, I, and many others think that having concrete examples and data outlined explicitly is a good way to make these important decisions. Otherwise you have nepotism and gut-feeling type promotions for employees. If you thought about this more, would you really want promotions handed out randomly? How else do you show you're "completing activities, optimize, reduce costs, work on POC". Do you want to leave this all up to one person, your manager? What if they have a slight against you? Do you want your manager to do the work of documenting your progression? You still run into the single point of failure problem, on top of your manager's workload increasing for each developer, on top of them usually being already busier. Amazon et. al. constantly seek data on doing these types of things better, but you haven't proposed much of an alternative.
(Disclaimer: Amazon employee, opinions are my own, not my employer's)