Pros
I was lucky to hold SDE position in Infrastructure department of Blumberg R&D in NY office. Not much to complain about: a lot of smart experienced people, interesting technologies, challenging tasks. My management was OK with flexible work hours and working from home once in a whole. Compensation is relatively generous, and performance review is not very formalized: if your management feels like giving you a rise, they don't have to jump through a lot of hoops to justify it to their management.
Cons
Pace is crazy, release schedules are tough. Long hours are normal and expected, everyone in the company works like this. Software development process is not aligned across different teams, so you can get in a situation where you're assigned to a project grown up from a prototype with no infrastructure around it. One thing you'll run into immediately: a lot of legacy code, some times pretty old one. A bunch of old proprietary technologies are still in use, and you'll have to deal with it. Though the process of migration to newer technologies is slow by steady. Compensation is lower than in banks on Manhattan. If you quit your job not because of family reasons you'll not be hired back ever, keep in mind.