Pros
- Many free onsite technical trainings for developers. Having time to take them is another matter. - Flexible work hours. - Code get reviewed before checked in. - Frequent employee survey, but managers know when the survey to be sent out and prepare ahead of time to treat his/her team well right before the survey. After the survey, things can go back to ugliness.
Kontras
- Too many Indians in management levels. This leads to 80 or 90% of the developers that got hired are Indians. No racial diversity as you see at Google. - Not a quick hire and fire environment to get rid of low performers. Some can stay there rotten without contributing anything much. - Can have a lot of political flavors when products are merged and acquired. Not a good place for you if you don't like politics. Best ideas might not win because of politics. Your work can get wasted because of politics. It also depends on how your managers manage your team and control his people. - When a culture is bad, people might just follow their own interest without considering technical disciplines. - Too much work on some people while others don't do much. - Bad planning at the management level. This can upset developers. A lot of chaos in some group. - The best persons to do a particular task might not be chosen because there is no ownership. Best people might end up fixing bugs just because the wrong developers were chosen from the beginning. This can impact developer's motivation and performance. - Always lacking Quality Engineers impact product's quality a lot and developers might have to do QE jobs.