I know at a lot of places I've worked managers only function is to keep programmers out of meetings so they can do the real work. Management is really a bad title. I think the mgmt structure needs flattening and the current system pits management against programmers... I think this has to change....as well as the whole management track vs technical track. The technical people are what you need to build the products. No amount of managers is going to get you a product without a programmer to build the products.
Companies are so obsessed with hierarchy that they lose themselves in the politics of it all. I think companies and people need to embrace the idea that programmers and communication people are at the same level in terms of financial benefits and in terms of treatment at a company and that technical experts should be making decisions not necessarily managers.