There are some very important cons to consider:
- Bad projects, lots of legacy code: you have to consider that when a company hire ThoughtWorks, most of the time, the whole project is going downhill and the consultants are there to try to make it better. Most of the time the people who hired ThoughtWorks know that, but there is lots of resistance by the employees of the client, so it is very often hard to change the way people do things. In my humble opinion, I think that ThoughtWorks is often late make any changes on some projects, which bring lots of frustration to the consultants.
- Old technology: it is very hard to work on top of the notch technology on a daily basis at ThoughtWorks. Sure, there are the pet projects, which you can do that, but most of the client's projects are rough legacy ones.
- Difficult people on the client side: most of the time you will find resistance to change anything, so you will be frustrated.
- Difficult then it seems to travel: although ThoughtWorks praise that you will travel around the world, that is harder than it seems. I joined the company under this condition, but I have unfortunately not been given many chances to travel.
- Very low salaries: it is amazing how underpaid the brazilian employees are. This is justified, by the pretext that you will travel around, work on amazing projects and so on. For me and most of the colleagues this was not the case. Several people leave ThoughtWorks because of that and got jobs paying, most of the times, twice as much.