Pros
Committed to Agile - constant small releases, flexible deadlines (mostly), pair programming. Unit tests are a company fetish. The code quality is generally very good, with a few legacy beasts left to slay. All my bosses have been developers who decided to transition into management, so they actually understand the work I do. This is true for most of the managers in the tech side of the organization. Work-life balance - everyone leaves at 5pm and there is no pressure to stay later (unlike many other tech companies I've worked for). My team goes out to lunch together most days, often there is beer involved. Sometimes lunches run long and no one cares. There are fun company events every few months. Location is in the ID with lots of lunch options if you like Asian cuisine. Normal freebies for a tech company - coffee, espresso, tea, soda. Also have free bread. Very close to trains/buses.
Cons
"No silos" is a motto that sounds nice until you end up having to do extremely specialized tasks for which you have no experience or skill. It seems like a waste of the company's money to have senior developers building test databases for example. Too much upheaval, reorgs, etc. This results in products being orphaned when the team that maintained them are disbanded. Salary is slightly lower than average (but you get more per hour because there is zero overtime) Some software work is being outsourced to Argentina, with mixed results.