Pros
Job security. You can possibly be the dumbest person on earth, but you will never get fired.
Cons
- Strict timings. If you don't reach by 8:00 am , you will get an angry automated email telling you that you have committed a sin. You commit 3 such sins and the email goes to the CEO. Unfortunately, for the few who really wanted to work, we worked until 6 or 7 pm almost every day with no recognition. - By far the lowest compensation packages in the software industry. - Horrible business practices: Hire absolutely unskilled labor (who have no background in Computer Science) at exorbitantly low compensation packages, make them write pathetic code that goes straight to production, train the people for a couple of years until they become good developers only to find that they eventually quit. - Snowstorms, thunderstorms, hurricanes, typhoons, cyclones: Irrespective of what the weather is like, you cannot work from home. Note: You are expected to work from home but not get paid. - There are more managers than developers in a software company. I have often had to receive instructions from up to 3 managers at the same time asking for different things with the same deadline. - Most people work on technologies that are obsolete. Hugely impacts your career. TRUST ME. - If somehow you get the thing that you deserve (recognition)(highly unlikely), your manager will make it a point to rub it in on you for the next 2 years until you admit that he or she did you a favor