Pros
Your co-workers will be fantastic. Everyone is passionate about what they do, and they're always willing to answer a million questions. I bugged people daily for months - nobody ever questioned it. In fact, some of my more experienced co-workers asked just as many if not more questions than I do. The sharing of information is incredible. The pay is good, as well - they pay competitive rates with genuinely good benefits - they rival Federal Gov't benefits.
Cons
Upper management frequently tried to micromanage. The people acting as your managers (scrum masters, to be specific) don't have any idea what's actually happening. I am strongly against bloating managerial infrasturcture, and their idea of "agile" is slow as a turtle when it comes to change. You might as well call it "short term two-week waterfall" - it's bad. When the scrum masters don't call for 10 hours of meetings per week, work is done - and it's great. The problem: that only happens once a month, at most. Twice a year evaluations. Raises are given out like clockwork. Flat percentage, doesn't matter if you performed 120% for 6 months or if you performed at 75% for 6 months. If your boss thinks you don't deserved to get fired, you get a raise. The problem is that your raise is the same % as everyone else around you. It's not truly performance based. This also means there's no promotions. The only way to get promoted is to apply for another job within the company using the internal system to refer yourself.