Pros
There are lots of opportunities for personal challenge and growth. The company invests in tools and programs to encourage personal growth, but then also encourages people to take ownership of their own professional and personal growth. There are lots of opportunities to try new positions, so you'll never get bored. The culture and values are sincere, and there's a lot of effort put in to ensure that the right people stay and the wrong people go. Honesty and openness are expected of everyone, so the office politics that exist at most places are completely counter-cultural here. People genuinely care about each other. The compensation intentionally rewards those who are quick and produce high quality work, so working hard and building your skills helps you earn more than you'd earn doing a similar job somewhere else. Schedules are in-line with the IT industry, so while it's not a 40-hour-per-week job, it's normal to have some weeks that are more than 40 and some that are less.
Cons
Training is pretty self-directed and dependent upon the individual.