- Excellent co-workers, both socially and technically
- Some very interesting work
- Above-average work environment
Cons
- Overall direction sometimes drops "out of the sky".
- Technical decisions swayed by outside groups. This can affect team focus.
- Can be lots of "busy work" that doesn't seem connected with team goals. (Granted, some is unavoidable in a large company, but still...)
You WILL learn software design and database programming. Opportunities to advance technically are good. Management are former "geeks" - software developers, DBA's, sys ops, etc.
Cons
Cast system: if you are a contractor - no advancement, some furloughs and no raises - never, ever hired full time. IBM employees get reviews, advancement and raises/bonuses.