The problem is when people start trying to change the plan half way through execution, non tech people will constantly try to do this because they are clueless its the project leads job to tell them no.
When your manager asks you "if anything can be done to pull those dates in." you say "no" problem solved, until your line manager goes to the big boss who asks the same thing and do you know what your answer is? Thats right its "no". When the big boss says you have to do something then tell him "I cant magic more time you need to cut features", big boss and manager will argue their point but unless you can do magic your point remains the same.
I know its scary being blunt with your big boss but as a senior developer thats your job.
Just "finishing up" a project of "6 months" where we went from reasonable to unreasonable scope, and I was the only one that said it was unlikely we were going to finish on time, weird that I was the only non-contractor....
Almost a year a shoddy version that's just copying data from their existing product is only mostly a buggy mess!
This. They could hire any random chump to say they're right. If you're the expert, they hired you to tell them whether they're right.
Of course, not all managers understand this but the sooner you realise you're working for one who doesn't, the better.
The challenge is that there are no hard rules and it's highly dependent on the context. That requires mutual understanding and trust between the business and development.
That's a problem because many people do not have the luxury of quitting for another job easily.