• Good article. Interesting points. I've been at both extremes of the scale at large & small companies. Heck, I even went through the management change at a large company where the good manager was replaced with the demon manager from hell (who, by the way, when I quit, told me that if she ever had the chance to prevent my getting a job or could fire me in the future, she would, lovely person).

    I don't know that I agree that things are getting worse & worse as far as management goes. My worst managers are in the past & most of my most recent managers are good people trying to do a good job. The thing is, just as I screw up occasionally on a database design or a process or a new query, my managers have made some seriously questionable decisions. As hard as it is to do, I've tried to take the attitude that they're trying to do as good a job as I am until and unless evidence to the contrary surfaces. That attitude has served me well because I've been able to develop more communication with my managers saying "Hey, I think you really balled up this call and here's why." Even if they don't agree with me, I can at least get their reasoning which, surprisingly, frequently makes sense.

    As far as people being trained as managers... While Phil is right, no one is born to code or to manage, there are inherent predilictions that make people better at one job than another. I know that I stink at management but I'm at least capable as a coder. So I try to play to my strengths and avoid management. On the other hand, I've got a co-worker who's a great coder, but he's also a natural as a manager. Despite the fact that he's younger & less experienced than I am, I know I'm going to watch him climb the corporate ladder like a monkey. Not only am I OK with it, I'm encouraging & helping him because he's going to be the kind of manager all of us want to work for.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning