Pros
People. I cannot stress enough about how ThoughtWorks attracts some of the most talented people with their ridiculously arduous interview process. People make up the best of this organization. Oh, and there's also the cool technologies that you get to work with, in an enterprise setting. I also got to learn a lot while I was here, and not everything was in relation to technology. My learnings were in how to run a software project in a very uncertain environment. ThoughtWorks really does Agile right. I also learnt the importance and impact of Test Driven Development and cool concepts like Continuous Delivery and Integration. I also learnt a lot about philosophy, politics and Religion because the average workforce is a very vocal empowered set of people. I would definitely recommend this company to anyone looking to learn how to do software right and have fun in the process.
Cons
Pay was definitely under par to other companies in this space, but what really got to me, personally, was the quality of the work I was doing. Irrespective of the technologies that I was working with, the core job involved building integrations and building everyday applications. Scale problems were few and far between, on most days it was plain and simple CRUD. One of the other disappointing things was that the same kind of people got hired, the people who believed in the same technologies, methodologies and ideologies. It became an echo chamber of sorts and a lot of the talk didn't really convert to actions.