Awesome place to learn, unfortunately very low salaries in Brazil
Pros
ThoughtWorks is filled with amazing people which are always eager to learn and share knowledge with everybody. Here are some key points, that were very significant for me: - Fun environment: everybody is always joking around, having fun. - Awesome people: some of the smartest people I have worked are definitely over there. You can discuss anything, from software to politics or physics. - Professional growth: the learning curve since I've joined ThoughtWorks is steep. It is amazing the amount of learning that you will get over there. - Lots of pet projects: you will learn whatever technology you want by collaborating on several pet projects we have. - Lunch and learns: you are encouraged to give presentations (about anything) and watch colleague's presentations which will boost your knowledge right away. - Top of the line on agile: you will breath agile methodologies on a daily basis, you will definitely practice a lot. Pair programming, TDD/BDD, collective code ownership, stand-ups, retrospectives, story writing, defining acceptance criteria and more, you name it, ThoughtWorks have it. - International company: you will meet people from all around the world. That is awesome.
Cons
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.