They don't really teach you this in college, but it's as important as any technical skill.

you will keep getting promoted

This is laughably not true. Over-delivering just becomes the norm in the eyes of your peers and leaders, and in order to appear like you're kicking extra ass you'll have to over-over-deliver. That, in turn, will lead to burnout and resentment.

I've seen it and been it. You don't get promoted because you do a good job. You get promoted because you fit a set of requirements for being promoted. There's a difference, and doing a good job is its component, but it's not the entire reason.

I have literally hired people who fucked themselves by accepting jobs for which they were overqualified. They ended up doing a much better job than anyone expected, but because HR has rules regarding merit increases and promotions, they could not be promoted quickly. Literally years went by, during which all that ass kicking became "the new normal". Benjiknows over there? Yeah, he's really great. He's always been great.

A much better scenario is start slow, and show steady progress. Get a B- on your first review, then a B, then an A, then maybe an A-. At that point, go have that promotion conversation. No one is going to promote a person who got A+, A, A-, B. All that is accomplished by being conservative in one's promises. Having that new feature checked in, reviewed, and pushed to the master branch during this sprint or next doesn't really make a difference in the grand scheme of things. Building in a couple of weeks for random crap like server upgrades, maintenance, outages, travel, holidays, vacations, and other life stuff will be the difference between what's perceived as success vs. what's complained about as failure.

/r/AdviceAnimals Thread Parent Link - imgur.com