of programmers. They reflect a belief that managers know nothing but arrogantly act like they do and that they are the more important than the programmers; while the programmers know they actually do know everything and are truly the most important people in the company.
The reality, of course, lies somewhere in-between. There are bad managers just as there are programmers who never seem togged the message their job is to ship code that works, not spend a lifetime creating their one great masterpiece. Assuming everyone falls into one of those two camps is a recipe for failure; the reality is you are in it together.
One piece of advice I'd give aspiring managers is to make friends with sales. They can help you understand what the company needs to make to be successful as well as broaden your perspective beyond doing a product. You can help them understand what the product can and can't do and that helps them make sales. Managing is as much about building a network so you can anticipate needs and deliver results as it is about shepherding a project to completion.
Also, make sure your team understands the direction and end game for what they are developing. They are in the trenches and can see problems and solutions and offer advice to make the project successful. Recognize their contributions and ensure they get credit when deserved.