So there are many cons :
1) Salary is low and the hike is also not that much good .
2) There are some people who are really unprofessional and they make you feel like you are a servant.
3) You may have to work for 11-12 hours because of your managers. Some managers don't even know how to estimate the days for task. They make a deal with client that they will develop that feature in 5 days which generally takes 15-20 days and they put so much pressure on you.
4) The worst part is when you are going for a java developer. The team is good , your team members will inspire you at each moment of your life but the manager is the most dumbest creature alive on earth. He will judge you at each moment of your life whether it is personal or professional and the best part you will never make him wrong because he is someone who can not be a wrong.
5) He is such kind of people who make you cry and enjoy it in whole day. You even can't explain anything if he is proving you wrong because when you try to say anything he just has one line : " You are defending yourself". Who tell these dumb people if you are saying someone wrong then he may have freedom of speech to prove or say something.
6) HR is so supportive she will always ask you about your problems but you can not say anything to her because the whole team is under that one person.
7) Java team is like a bollywood industry and he is like a Salman Khan . It never matters how much talented you are, If salman khan decides to make your life worst then you definitely have no choice.
8) you will always be remembered that you have done that mistake in past. He behaves more like your girlfriend rather than a manager. If you have done one mistake you will listen sum of all the previous mistakes + that one mistake each the time.
9) Increment is based on in the month of increment you are working on which project, it never depends on whole year what you have done . This is the situation where politics come in the picture. They will change your project in increment month.