> You need to track every instance of your good work, every demonstration of your value to the company. You need to know what form your performance feedback will take (quick meeting? annual review? panel?) and be ready with all the ammo/leverage/savvy/whatever you want to call it. You have to be able to show what you're worth, what the company loses by losing you (loss aversion works on your boss too) and all that.
While it's true that you should know why you are valuable to your company, I think following this advice thinking it will help you to get ahead would be a misstep.
I've found since moving abroad that this attitude and the environment which cultivates it is one of the less healthy aspects of working for a US software company. I think anyone in a New Zealand software company who tracked their every achievement and bandied it about looking for their prize would be the least trusted person in the organisation.
As an engineer-turned-manager myself, I can tell you that the best way to get promoted is to consistently deliver value and to help others to do the same. While in a formal performance review it's likely necessary as a matter of process to hold up past achievements, you'll do much better to focus on the future value you'll deliver.
If you're feeling like your achievements are going unnoticed perhaps be a bit proactive and ask your manager if they might offer some advice on areas in which you could improve and how you might go about this improvement. Assuming they bite, follow their advice.
That said, if you feel consistently undervalued you're either not good at consistently delivering value, or you work for a bad manager/company. If it is your own incompetence you likely won't recognise it if you are spending all of your time tracking what you perceive to be achievements.