I've read a lot of this thread and I can only sympathise with the op, but not all project managers are that bad. its the people that recruited them are at fault for recruiting someone that has no idea on what you are doing.
Im a project manager now and I used to be a developer and worked up to current position (although not been at it long) its only me and one other guy but when the shoe was on the other foot - my project manager didnt have a sodding clue.
I dont understand how people can get "project manager" roles when they haven't got a clue about how the project is being made. I mean literally, my project is on a code igniter platform, nothing complex, a basic php website. and I literally sat there for 3 hours... Im not joking. 3 HOURS explaining the concept of code igniter, that was with code examples, with their video, and the guy still didnt understand. One of the companies investors who works in a anti virus company and has no clue about php let alone code igniter completely understood the concept of code igniter in 30 minutes from first glance and was able to help with work arounds on certain obstacles.
Yet this guy was still "It needs to work, when will this work, why isnt it working now". How am I supposed to tell him in non-technical terms why it will take so long when he doesnt have a clue about what Im doing? It cant be done. Eventually I got him sacked for his incompetance.
At the end of the day, as a project manager, it is your duty to have at least a BASIC UNDERSTANDING of the project you are on. Sitting there throwing your toys out of your pram is absolutely useless to both the company and the developer. Even more so when you have no ability to understand the developers justification to why it is taking so long as well as the ability to help them when they need it.
I feel sorry for you nero I really do. With my developer who Im quite friendly with, I NEVER sit there and demand times. I observe the progression of each module, I observe his technical ability and the time spent on a module, then discuss with him his tasks and what he has to do, approaches he has available to take and how to best approach them. ALL project management tasks I do. ESPECIALLY getting time estimates from staff. If a developer needs to sit there and do the time scales themselves, your being a very lazy project manager - these are developers trained to develope, your a project manager trained to maintain an efficient developing environment. It is up to you to keep your team in check.
And for those that are saying he is a bad developer:
a. You've not seen his code so you cant tell
b. You are probably reading it in a very monotone voice - the pm reads very sarcastic to me. And tbh - thats not good team building, let alone building a bad atmosphere within the developers environment, and a unhappy developer wont produce as good results as a happy one.