Am part of the software engineering team reporting to the VP of engineering. There's a customer team that assesses customer requirements and pitches the product to the customer.
Background:
The product team officially documented and gave us a few features to implement, and although I was short of time, I worked on weekends and implemented it. When my VP saw it, he said he had some simpler feature of his own which he wanted me to implement. I implemented that (working on weekends). Due to frequent changes, it started taking time to deliver the final product and the deadline approached, my VP started blaming me and gave snide remarks of me being fired. I assume he blamed me for the delay, because for many days he was pointing out tiny, silly mistakes whenever the CEO was around.
The surprise:
When completed, the product team were were shocked the features were not already implemented. The VP had been hiding this fact from them all along.
After-effects:
Soon, the product team started asking me questions about whether certain features were implemented. They didn't ask the VP, knowing he'd give them evasive answers.
Now, the VP deliberately slowed down the delivery time. He explicitly asked me to not bother implementing too many features. When the product head asked him when the software would be delivered, he gave them a very far-away date (normally he'd say 2 weeks).
Questions:
1. What does one do in such a situation? Simply follow what the VP says? What if he is trying to prevent the product team from controlling him and uses us as an excuse to save himself, by blaming us for slow delivery?
2. Is such politics common in companies? Is it ok to remain in such a company? They are very good in all other aspects of management and product development (other companies are wary of taking employees who leave quickly)
3. The VP knows he is needed since nobody can replace him and that he can play his game.