Pros
When a project was well managed and had moderate success for time and budget, the rewards were generous and shared.
Cons
If you happened to be chosen to work on a project that had an unrealistic schedule and/or an inexperienced or incompetent manager, then you would have the unpleasant experience of a death march, spending days, nights, week-ends to meet an unrealistic roll-out schedule -- not the best way to create and implement reliable supply chain software solutions. The company relies heavily on onshore/offshore talent from India's big consulting firms, and while I understand this is "normal" in the industry, I find it unfair and un-American not to give the same work opportunities to aspiring programmers who have paid their dues, worked through the training, and proven through fixing code, a level of expertise. Instead, I found a tendency for management, in a top-down fashion, to give most of the best work to the contractors and give the old technology work and maintenance to the American full-time employee programmer analysts.