Pros
Many opportunities for technical skills development. Good opportunities for business skills development. Good degree of autonomy in most tasks/projects to the extent that you can really enjoy some projects without being micromanaged. Most employees are wonderful to work with and generate a fun & pleasant work atmosphere. Most positions allow for large amount of freedom in task execution and allow for creative solutions. If you are looking for a place to develop yourself professionally this is an excellent choice, especially for those early in their career, but be prepared to work hard for it.
Cons
Although freedom to be creative in completing tasks/projects is there, don't expect to be rewarded for it. Very little recognition given to those who are the most creative and innovative in their thinking and approach to solve problems and complete tasks and projects. Only the most mundane of positions are fully understood by management resulting in only the most mundane of employees receiving most of the reward and recognition. If you are looking for a place with a good track for promotions and career development - this is not the place unless you are the type to settle into a position and do the job, no more, no less. The better you perform the most simplest of tasks with little to no innovation or creativity the better your odds of promotion. The company used to encourage creativity and innovative thinking, but this has been lost in an ocean of task completion for the sake of task completion. The potential for greatness is present but is not exploited properly by senior management. No flexibility in terms of teleworking or working remotely at all. You are expected to be available in the office at all hours of the day if the project demands it - senior management assume that remote workers are going to be lazy. Lastly, internal communication is difficult at best. Everyone works at a constant frenzy and there is more interest in completing a task and moving on to the next one than in identifying why things happen the way they do and communicating best practices around the organization.