Thursday, August 20, 2009

ThoughtWorks Interview Process for Dev


I have been queried on how I got into TW. Let me just brief the interview process I have undergone.

I got referred by one of my friends' friend. In two days I got a call from TW recruitment team and my interview process started.

Step 1 - Code Review :

We have to write ans submit the code and it will be reviewed by TW for OO design aspects.
It started with a mail from them which described two problems. I was asked to choose one and implement a solution for it. I was asked not to worry about the GUI sort of things as they gonna concentrate only on my coding abilities and design.

I took a problem and wrote a solution in Java which will read inputs from some text file and writes the output into console.
Also, I prepared a ppt explaining the design.
Zipped the solution as eclipse project along with ppt and sent.

Thats' it. first step over.. cool..

If they find they code is satisfactory, they will call for next step.


Step 2 - Code Pairing :

A ThoughtWorker will sit along and we have do some discuss the code we wrote in first step and we have to make changes as they direct.

I went to TW office and a TWer came with laptop with the code I sent loaded on eclipse. He asked me to explain the solution, design and kept questioning why things are done that way. Then he gave some new/change requirement and asked me to do the change. I did. In this step they ensure the design flexibility of code and our ability to respond to a change rationally.

This step will be more like discussion and changing code based on that. It goes upto 1 to 1.5 hrs.


Step 3 - Written Tests:

There are three tests. One to test behavioral aspects, one to logical ability and one more to test vocabulary and lateral thinking.

Step 4 - Technical Discussions:

Here's an interesting part. TW makes sure that you interact with may TWer and their feedback is considered for taking decision about your recruitment.

I underwent discussions with TWers and it was very interesting. I had three rounds each spanning for 30 to 45 mins.

I was given a problem and asked to form a solution for that. I drew some class-diagram sort of thing and explained them. They stated some scenarios and asked me to explain how will it work in that scenario and so many questions about it.

I was also asked some basic technical questions across Java, HTML, JavaScript, Spring, Struts, Hibernate..... They went thro my resume and questioned whatever they could. But those questions were very practical. They dint ask 'what's the third argument in some method in Java.xxx.yyy?' sort of questions which some people ask just to show off or to embarrass us.

Altogether that discussion was very nice.

Step 5 - HR:

Very simple. Not much questions. Mostly on negotiation and feedback about the interview process.

That's it. You will be into one of the coolest cutting-edge companies. :)

The process is not set-in-stone. It could vary a bit.

Throughout the interview process they were very polite, understanding and helping. Whether we get in or not, the interview itself will be a wonderful experience.


More Links:

4 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. Nice.. I also attended first round..
    http://www.technicalypto.com/2010/02/thoughtworks-mass-rovers-coding-problem.html

    ReplyDelete
  3. Thanks a lot for sharing your experience. This is really helpful

    ReplyDelete
  4. Hi,

    Thanks for sharing your experience

    I've some questions

    "I was given a problem and asked to form a solution for that. I drew some class-diagram sort of thing and explained them. They stated some scenarios and asked me to explain how will it work in that scenario and so many questions about it."

    Could u please elaborate with example what they majorly focuses on in this kind of problem scenario.



    "I was also asked some basic technical questions across Java, HTML, JavaScript, Spring, Struts, Hibernate..... They went thro my resume and questioned whatever they could. But those questions were very practical."


    Basic practical technical question means the one we encounter in day-to-day programming or the basics one can think of for testing one's knowledge in some topic.



    Please reply.


    -Thanks

    ReplyDelete