I completely agree that you should try to communicate openly whenever possible, but let's not pretend like it's a level playing field. Of course, if the situation is so bad you can't talk openly with your boss, I'm not sure how much you're really losing by being fired (assuming you are able to find employment elsewhere, as is often the case for engineers today).