Pros
This is a community of people working together to create software. Company leadership cares about the needs of employees. Leaders here truly want people to take care of their family needs. The pay is good and the bonuses are even better. The owners don't horde profits, they share it with employees who do a good job. Everyone has work to do. Team leaders contribute to code and designs. Executives keep visibility into all projects. You never feel like you are carrying a load alone, or that someone on your team is slacking. If you want a challenge, this is a good place to work.
Cons
Good ideas are a little slow at being implemented. Eventually the best changes are incorporated, but it takes some time. Non-performers have been carried with the company a long time. Fortunately, that appears to be changing in 2010.