Good communication strategy - product updates, departmental progress and company plan's so employees feel part of something
Good products
Smart people who do a great job for clients
Flexible working environment
Openness and transparency
Cons
Poor pension and benefits package for a software company
Small office/kitchen/social space
Lack of career progression