Pros
1. Right size. Each satellite office is small, where you personally know everyone like in a small startup; but overall company size is big enough to offer sense of stability 2. Competent co-workers. Everyone is dedicated and helpful to each other. No politics 3. Flexible hours. Except for team meetings, you can come/leave at quite flexible time 4. Reasonable management. My boss gave team members enough room for self control. This in turn yields better team result. You may call it macro-management; but CEO knows everyone 5. Learning opportunities: the company has a platforms for various technologies - server, desktop, mobile (iOS, Android, BlackBerry) etc. Within the company, you have opportunities to broaden your skillset 6. Stability. I worked there for more than 10 years, still quite many longer than me. Layoff did happen occasionally, but comparing with other similar companies, it is comfortably stable. You don't worry about it if you reasonably perform
Cons
Nothing to complain. Left reluctantly due to family reason