I applied online. The process took 3 weeks. I interviewed at Thoughtworks (Bengaluru) in Jun 2013
Interview
1) Applied on their site. Within not much days got a call back from HR. Asked for a call interview to be scheduled.
2) On call interview went about who I am, what I do at work and what do I do other than my work. Why I am looking for change and why thoughtworks. Any open source contributions I have done? What do I know about their company? It went all well and HR was satisfied. I was moved to next step and told to submit code solution they will be mailing.
3) Got two problems, I answered one of my choice, spent a weekend to designing and decorating the solution with all my OOP strengths.
4) The INTERVIEW – As I reached their office around 10:30 A.M. HR greeted and received me, took for a coffee. You could see all what you hear mostly no cubicles, sticky notes all around for various tasks. I was told to wait in a meeting room.
Code Refactoring Round (The Good Part) – In this round you will sit with senior developer and refactor the code which you submitted. They guy who came was quite experienced. He told me to introduce me to him with a small intro. He gave some of his ideas some of which I agreed to, and some for other ideas I explained my thinking process behind why I did the way I did and he was fine with it. By the end my problem design could handle the changes without much effort, after proposed changes all Test Cases went Green and this round ended in around 1.5 Hrs. and was a lot of fun.
It went quite smooth and was real fun, main reason being I really liked attitude of the guy and he was very interactive. The guy was courteous enough to get me a windows keyboard when I was struggling with his mac keyboard.
1st Technical Interview (Not so good part) – Here two thought workers came to interview with 5 and 7 years of experience respectively. As they came senior guy asked me some questions straight ahead, like tell me about you. What do you do in spare time? Then junior interrupted and gave his introduction told what he does in the company and what all he works on.
Then first question was “Why Thoughtworks, What are you expectations from Thoughtworks”, as I replied things being Agile, Test Drive Development and how lack of these practices have in my current company is has driven me on quest of such a company. Also I have heard its different experience with no cubicles etc.
Then second question was “What you can contribute to Thoughtworks, what your vision is and what you bring to the table”. Not so good with self-praise, I could only get few items here. I told my vision of becoming a good architect and build good solutions.
Then came “Give a OOP design of Library Management System”. I went ahead and approached the board and explained my thoughts on how would go about approaching the problem, starting with chalking down some requirements. As I was writing down requirements and things what I thought it should do, I was interrupted to tell that they need DESIGN and I can skip these things. In my head I was going with already such a vague statement such as “Library Management System” which can cover so many things, I didn’t have clue what they were expecting to hear or see. Anyways I continued to draw some UML of some interface and sure shot classes such as Book and put in some attributes. Then Also drew Library class and established has a relationship. Then as I was moving in the direction of getting more items under common interface like magazines, cd’s etc. I was stopped and told how you would search in this system.
I was also told that LMS is large system I should focus on a part of it. Getting rid of such vagueness I felt relieved. Discussion went around from being how will be attributes stored to performance of this thing that trying to match each book would be performance intensive to not exposing internal attributes book to any outside class.
Then we went onto some balance parenthesis question. I suggested all time famous stack then , I was told to do with recursion which I could. Other than that small discussion on how hibernate works and maps RDBMS tables took place.
So in summary out of an 1.5 hour interview. Majority time (around an hour) went where I blabbered around LMS. I saw most of the time went NEGOTIATING requirements with them rather than focus on design. I don’t know if they were trained but they will give very little signs on if they agree with you or not leave alone the answer even on the Question.
Feedback – I was told that panel that I had knowledge of most of the concepts and had no problems with my knowledge. I was not able to apply that knowledge or concepts in reasonable amount of time. Although I arrived at solution but I took too much time. Also for the previous rounds my feedback was quite good. They were happy with my problem design and in pairing I had a positive feedback. They say that I was able to handle refactoring easily and accommodate the changes.
HR Guys: In all my experience the people who consistently I admired.
I applied through an employee referral. The process took 5 days. I interviewed at Thoughtworks (Bengaluru) in May 2009
Interview
Thoughtworks has one of the most elaborate and interesting interview process. I remember it started off with a coding round. I had to submit a code on Mars rover problem. Once through that, i was called to the diamond district bangalore office. The environment and people both seemed very different and great. The interview itself lasted whole day. It started with a logical test, followed by a pairing round and then two sets of one on one interview where interviewers were in pairs. There were couple of aptitude and personality tests as well. Over all the process was long, full of surprises and very interesting. Although i did not make it through will recommend everyone to experience it. Te culture reflects in the interview process very well.
Interview questions [1]
Question 1
A lengthy and technical discussion around inter thread communication. This branched off from a question how you would solve a problem of reading logs that runs in giga bytes. Very interesting arguments and solutions.
Had applied online and got a call from the recruiter saying to brief about the interview process. Had to code the solution for one of the two questions and send the code for the same in approximately three days. Worked on the code to incorporate OOPs concepts and more, however after submitting the solution, never heard from the recruiter. Also, when I sent an email asking for comments on the code, I got no reply. I hope that the recruiters do give feedback when considerable amount is spent on our side to code and get to know the company. One of my other friends also had a similar experience and when he called the recruiter, he was informed that the position was for Chennai and since he wasn't open for Chennai location; inspite of his code being good, he won't be considered. I hope Thoughtsworks recruiters show some level of professionalism in providing feedback.