- Management favors certain subordinates over others due to personality traits, not ability to perform the job.
- Management focuses too much on time estimates & performance metric measurements, and too little focus on providing proper guidance to subordinates. Subordinates are often left in the dark on how to approach tasks correctly.
- Management often ignores subordinate accomplishments, and instead focuses on their mistakes, using them as a verbal & written weapon in yearly reviews, resulting in managers looking good to their managers, while the subordinate is demoralized. Management is also poor on properly suggesting how to help a subordinate fix or resolve mistakes.
- Too much focus on code "appearance" policies, and not enough focus on testing the code people write. It is almost as if management wants programmers to release mistakes to customers so they can blame the programmer when something goes wrong.
- R&D Training at the time I was an employee was almost 3 months long, with much of the material not even relevant to the job itself you get once you're done with training. There is clearly some miscommunication between the Training Instructors and the Programmers.
- Skilled programmers are often "promoted away" from programming into management, even if they are not good at managing people.
- Business is too focused on short-term quarterly earnings and refuse to let programming teams invest time on projects that could improve the company over the long term.
- Programming teams within company are too isolated from each other with almost no inter-team communication and very little lateral movement between teams. Every team appears to be "trying to do everything themselves".
- Depending on which group you're in, you could be stuck with "mundane code maintenance" instead of the more interesting job of coding new or enhanced features in the company products.
- Too many proprietory technologies. If you work here for too long, then leave to work elsewhere, you often end up "relearning" equivalent technologies.
- Even if you get a good yearly review, your raise is typically lower than the increase in overall cost of living in the New York City area.
- One nice manager I had was "banned from the floor" of a different programming group for catching bugs in their product & bringing it to their attention. People shouldn't be punished for doing the right thing.
- Typical workspace environment is full of hundreds of people (with no walls or cubicles) and can get very noisy. 10 people chatting is no big deal, but 100 people chatting is distracting when you're trying to code & rushing to make a deadline. Be prepared to be most productive in the late hours, after most people gone home, or at the very least wear some headphones with music playing to tune them out.
- Managers and business groups peer-pressure employees during company parties to "get in" on their mentality and whatever activity they're up to. If you disagree with what they're doing due to ethical or religious reasons, or you "don't get" what they're up to, you are immediately made fun of and ostracized.