Pros
1. Good benefits, salary and travel expense policy
Cons
1. The most immature engineering department that I have ever met in my life, filled with engineering managers who just fight with each other and develop contradicting technologies. Everything is a turf war, and they develop middle layers just for the sake of developing middle layers to control each other. Most engineering managers (except a few), are not technical enough / have the balls to facilitate technologies debates. 2. I guess this is not just the engineering department. All departments don't communicate with each other and hate each other. Sometimes the managers hate each other so much, they teach their team members to hate the members of the other team. So you are "guilty by association", when it's absolutely critical that the teams work together. In the end, the customer and the business suffers because of these turf wars. 3. The sad thing is that, I realized that if these managers actually communicate properly with each other, they will find that their interests are actually aligned. Poor communication creates false assumptions with results in unproductive hate of each other. 4. Management culture is toxic where favoritism trumps reasoning. 5. The are so many questionable hires at key positions, that results in the rare good employees feel like a "slap in the face". 6. Ok, so if you are not experienced, I would still respect you if you are willing to learn from mistakes and willing to change. However, that is not the case, there seems to be no intention to change the practice. And managers just crosses their fingers, closes their eyes, procrastinate on the problem, and hope that the problems will go away. A key example is that managers are absolutely adamant about sticking to the "process", when they themselves believe that the "process is broken / not sufficient". They why don't you do something about it?