Pros
1. Good benefits. As far as software engineer positions are concerned, it beats most of the Singapore-based company (foreign banks excluded) I know of. 2. The company makes a genuine efforts to upgrade the technical skills of the employees. 3. The team dynamics are wonderful, and there are many great technical talents. 4. Work-life balance is great, although mileage varies wildly from group to group.
Cons
1. There tend to be organizational restructure once every one year or so, essentially the same employees and managers being reshuffled into different groups/organizations. It can be a real distraction overall. 2. The code base is largely ancient and with varying quality. Although there has been company-wide efforts for migration and cleanup, there is still a long way to go. 3. The quality of the middle managers (senior managers, director levels) varies a lot. Some are really soul-less, who simply take the order from above without much consideration of nuturing the people, or really care about what customer need. 4. Domain solos. This is observed between different technology groups. There are cases in which domain ownership (or lack of) takes precedence over sound architectural considerations