The process took well over 2 months in total. I first applied through the LinkedIn Jobs Board. I was contacted by one of their "Talent Scouts" via email with a lot of information about the company. Also included was a questionnaire and a programming test; both were fairly straight forward. The questionnaire had questions like, "What is one thing you have taught yourself during your own free time," or "You have been appointed Ruler of the World. What are the 5 most important things you will do while ruler?" The programming test had 3 questions and allowed you to choose and develop one in any of the three listed languages (Java, Ruby, and C#). I personally wrote my solution in C# because I had been using C++ for the past 2 years, however, the company mainly has projects that use Java and Ruby on Rails.
After I had submitted both the questionnaire and programming test, it was a long process of waiting to hear back. I sent a follow up email about 2-3 weeks after submitting the questionnaire and test just to check if I was still being considered for a position. They emailed me a week later asking what day the following week would be best for a phone interview. As others have posted on here, the phone interview is a personal discussion about your desires and aspirations for the future and for working with ThoughtWorks. They are also looking to see if you keep yourself busy by your own free will. They have something within the company called "The Beach" which is where all idle workers go to stay busy with personal work or helping on other projects.
It took a week and a half to hear back, but I finally was told that I made it through to the in-person, 2 day interview process. This process was really laid back. I never felt nervous at any point, even during the technical interviews. Be warned, if you think you're right for the job because you have a background in Comp Sci, then you are in for a shock. This company is very reliant on "equal opportunity" and they bring in anyone. I had people with backgrounds ranging from economics to education without any Comp Sci degree or experience apart from the Dev Boot Camp 5 month course. They really don't weigh your worth based on your knowledge of the theory and concepts of programming. Be ready to be grilled on your cultural background and your social views. If you don't enjoy a more liberal approach to the workplace, then you may want to reconsider your application. You won't find many conservative minds at this company.
The first day of interviews were more about getting settled in their office. Everyone that was in my group got together to talk about each other so we can more fully understand everyone's background. We had a discussion on your personal thoughts of meritocracy. This is where I had the biggest issue with the company. It felt more like entrapment than an actual discussion. They already knew the answer they wanted to hear, but they wanted to see how you would respond. You can discern the answer to the question yourself. After the meritocracy discussion, we took 2 assessments, the Wonderlic test and a test designed and developed by ThoughtWorkers. The Wonderlic is straight forward; you can find the test online for free. The ThoughtWorks logic test was so simple. It's very basic logic based thinking. If you can follow the directions and think through the problem like a programmer would, then you're going to blow through it in no time. I finished in 20 minutes leaving me 40 minutes to double and triple check my work to make sure I didn't make any stupid mistakes. Surprisingly, others didn't even finish which was quite astonishing.
The second day was where the real interview process began. They give you a schedule that outlines what interview you have at what time and in what room of the office. There is two technical interviews, one where you refactor your code through pair-programming with an actual ThoughWorker and one where you discuss your education background in development. The education background technical interview also included a STEM presentation that you were to create with little time to prepare and then present to 2 interviewers. It also included a Tic-Tac-Toe problem which was very easy to work your way through. If you take the steps of TDD (Test-Driven Development) and make small, quick iterations on your AI process, then you should be able to create a non-losing strategy. The last interview that part of the day is the culture interview. This interview is very much like the the phone interview, but they ask you even more hypothetical questions to see how you will respond. I was asked, "What is one person you would not want to work with," and "What is one industry you would not want to work in."