I don't think I mentioned office politics once in my response. If you regard all communication in your office as 'office politics' you are probably going about things in a less than optimal way.
A 'good developer' is someone who can speak to his team, his bosses and if exposed, the stakeholders, to identify the problem and be able to identify any potential hurdles or roadblocks that may pop up. All of this is learning to be a good communicator, (not politician), learning that your tools have limitations and learning how to manage peoples expectations and understand that what they ask for isn't what they actually want.
For what its worth, your post is an oxymoron - you can't be a 'good developer' without the above. You might be able to code but you aren't a developer.