Pros
1. Decent benefits package (salary, time off, tuition assistance, etc). 2. Dynamic working and learning environment. Good opportunities to work with/learn from capable/experienced colleagues and experts in the field. 3. Plenty of on-the-job opportunities to develop/refine your skill set. 4. Anyone can provide input to the company awards/recognition system for a colleague that management might not be aware of. 5. In-house training available on a variety of skills/areas that can assist with professional certification.
Cons
1. Situational awareness is minimal for associates and below working at remote/client sites. Easy for the company/management to develop out-of-sight out-of-mind mentality. 2. Once you've completed a project/contract/assignment, you have to go out and find another to stay employed with the company. Minimal assistance provided by the company to stay on board. 3. Assessment process is time consuming, subjective, and provides little guidance for improvement /advancement.