I'm really surprised how much pushback my comment about "managing your manager" has gotten here. I'll respond to your post in particular.
If you really are some genius, you may be able to write good code and also be more talented than your manager at people stuff such that you can manage your own boss with some seriously tricksy Machiavellian maneuvering.
Well, no, you aren't required to have better soft skills, or be decietful/conniving, to manage up as they say. Also as an aside, writing "good" code has very little to do with being a working programmer, sadly.
In my world view, managing up is better described as "standing up for oneself". Does your boss know the trouble you've had with the build, test, and deployment environments? Does your boss know that Senior Person X doesn't respond to emails or other queries in a timely manner? Does your boss remember they said to do task X before assigning you task Y? Does your boss intend for you to stay late every night for a week to accomplish X and Y or are you just assuming that? Do they remember you stayed late 3 nights last week? Managers are people, they forget things. I am advocating for keeping your activities and challenges front of mind for them. One must obviously must be engaged and delivering, for any of this to be effective.