If I say that a customer change is a complicated task, I think it's great if my manager engages me and takes me to task on why I think that is -- as long as this is done from a position of respect and not from a position of disbelief.
When I say "We are likely going to have to implement X, because the customer won't give us an answer on it and just like the last feature, they said it was fine not to have right up until the last minute when it suddenly wasn't", I DON'T want the response to be "So, if we don't have to do X, it should only take a few days, right?".
In case it's not obvious, what I'm dealing with right now in my job is management that expects me to be up front with them but can never seem to believe what I say when I am. It's like they take the most blindly optimistic interpretation of what you say, even though that's not what you said, then hold you accountable for what you didn't say when the shit hits the fan.
If I went to my doctor and he said "You need to take this medication or it's 90% likely you'll get sick", most people would think I was an idiot if I decided to decline the doctor's advice, then complained that the doctor didn't know what he was talking about because I got sick.
So yeah, as a software engineer I want to be respected as an expert in my domain in the same way that people generally don't think it's okay to second-guess their lawyers/doctors/basically any other profession it seems than software engineering.
/Vent is now over :)