Pros
As a software engineer you are given an opportunity to work across many different technologies. You don't have to be pigeonholed into a specific area and are encouraged to try working in new technologies. The tasks are sizeable since there is still a good amount of foundational work in my area. Although there are maintenance tasks to handle, they don't seem to be needed as much as I have experienced at other companies. Collaboration is highly encouraged, and younger and older engineers seem to blend seamlessly. They have a rotational program for new college grads which is outstanding. Gartner has the best vacation policy that I have been given. The work is challenging, and management is very understanding when mistakes occur. Management is also supportive and will listen to your concerns.
Cons
Sometimes the Agile process is not fully trusted and/or completely utilized. Concepts like Kanban boards should probably be considered. Technical enhancements and Product enhancements need to be considered in unison instead of separate threads. Greater trust in engineers to perform tasks like deployments without so much red tape.