Pros
People - the Recruiting is the signature process of this company. You meet people that will become your mentors, best friends and even life partners. It's truly special. Flat hierarchy - same will say that it's not completely flat and is absolutely true, but compared to any other place, the number of hoops you have to go through and the proximity you have with decision makers (when you are not one yourself) is amazing. Purpose - the mission of the company is to "Better humanity through software" and, overall, it is what is being done... Flexibility/adaptability - Things can change easily and they do. If something is not working out and you can make your case, you have a great deal of chance to start fresh and new. It's possible to change hours, work areas, careers, locations and pretty much everything if you go for it and know a few "tricks".
Cons
Salary - In some regions is just not enough to go by, really. If you don't work on some core areas they are insulting, in fact. Poor communication (externally and internally) - There is an effort but it's weak and uncoordinated and goes in an erratic way. There's a very naive belief that using Marketing techniques is evil an unnecessary and it's harming the company immensely. Politics - On every place you can find good and bad people. The bad people at ThoughtWorks are unfortunately very good at pretend they are not bad and deceive the ones that are not looking closely. It's heart breaking to see how much damage they cause to get what they want. Great concepts, poor execution - There a number of amazing initiatives that are just a concept or in fact only poor executed. TWers are great on starting things and not so good to keep they going, when they are not at the core of their roles. Lots of great ideas are dropped and forgotten just because organisation and practicality is not the big asset around...