.
Showing posts with label ThoughtWorks. Show all posts
Showing posts with label ThoughtWorks. Show all posts
Thursday, July 17, 2008 1 comments

Cracking ThoughtWorks

Hi,
On popular demand, I'm back to blogging ;) ... and with something tht i m sure will be of help to all the aspirants of ThoughtWorks (hereon mentioned as TW).... Hving been rejected twice, Hve got a good feel of how the process is and wat is expected of the candidate.. however although the title suggests otherwise, there is no perfect way of cracking TW .. (otherwise y wudnt i be there!!) ... So accordingly dont expect to get into TW by following this article... This will just help u to get as close to getting selected as possible (and then getting rejected ... :) ... lol ) ....

Will just brief wid the process :
1> Starts wid the aptitude
2> Code Review
3> Code pairing
4> HR+Technical Interview

Of the 4, the first is the easiest to clear , closely followed by code pairing. Code review and interviews shud require most of ur attention and effort.
So wat to expect in code review?? In this, u'll be sent 2-3 problems by mail of which u need to code one in ur choice of language and send them back within app. 3-4 days. I wont be able to disclose the problems as tht wud be unethical (i knw i hve used it wrongly !!) but if ne of hve participated in GCJ (for those who donot know Wat GCJ is ..... try to find out ....) , then u r definitely on the rite track. Others try to register for GCJ and see the practice problems . TW problems are more or less on the same lines (P.S. : i've used the code written for TW to solve one of the practice problems in GCJ) (Wat did people do when paranthesis werent invented!!! ) ... However there's more to Code Review than just coding... TW expects u to do Good Programming rather than mere coding... Which implies using OOP concepts like Inheritance, Polimorphism, Encapsulation, etc not just for the heck of it but to make ur code more robust, flexible and reusable!! (Dont worry u'll learn to use these concepts in ur programming.. but u 'll have to make a concious effort to shift ur mindset from POP to OOP) ... Also a bit of testing knowledge helps... Coz u mite be expected to write testcases for ur program ... again using ne framework of ur choice .. (I had used JUnit fr Java) .... Finally and mostly importantly, Write it on your own... U can take some help from online sources or ur friends to understand the problem or even bout some concepts but as far as possible write it yourself... If not in the code review , u 'll defnitely be dumped in the code pairing... coz u need to implement an addon to the problem then and there ...
Next Code Pairing... Very innovative and intersting activity... For MU students , we are used to it ... Its similar to coding in pairs as we used to do in pracs ... However wid a more professional touch... The reason to use code pairing is to reduce errors and thereby facilitate quick development... W/o getting into intricate details of wat it is, we did rather concetrate on wat u need to know or rather do. Firstly, Dont be nervous... Ur pair wud be a quite jolly person (since he wud be a THoughtWorker . ... ... ... . :) ....... Can i join on Monday? Is the TW HR listening? ) . So be relaxed... NExt and most important communicate wat is going in ur head ... As in if u need to implement an HashSet or ArrayList and are a bit confused then let him know . (Do Not try this @ home ).. Like " A Hashset wont allow me to add duplicates .. however arraylist will and i can refernce elemts quickly in arraylist.. This problem requires.... blah blah ". The benefit of this is tht u make him realize tht ur concepts are clear regardin Collections ... Also he mite be able to help u out if u get stuck.. since he wud know wat was goin thru ur head!!! So speak up... But again not for the heck of it (Bcoz some damn stupid blogger told u !!! ) wat u say shud also make sense!! Otherwise u are better off keeping quiet!! ... Lastly if he tells u to implement an addon to the problem, first discuss n clarify watever doubts u hve... then tell him wat ur POA is... then start programming (not coding)... with periodically letting him know of wat u r doing! (Time for a secret : My pair was so impressed wid me . he let him thru w/o even programming the addon!) ... Once u follow these guidelines be rest assyred u r sure to clear the code review **
** Subject to Terms and Conditions

Lastly the interview ... Cant help u a lot in this ... But again can give some tips ... Dont expect a routine "siitng on the other side of the desk" interview.. Its an actual interview... A whiteboard interview to use sophisticated terms ... So be prepared for it... Goin into a TW technical interview w/o reading DS properly and properly (ya no mistakes here .. used twice for more effect! ) is suicidal ... So dont attempt it... Next read bout the design patterns (important ones ) (Book update : Head First Design Patterns) ... also bit of Aspect Oriented Programming .. SQL ... OS COncepts (Concurrency) (was asked the dining philosophers problem! No its not easy! ) .. (A bit of caution : TW interviews can be really long! Mine was bout 100+ mins .. i ve heard of some crossing the 150 mark!! ) And last and Most immportly read :
PROGRAMMING INTERVIEWS EXPOSED : SECRETS TO LANDING YOUR NEXT JOB
Dont read this and u r in for the worst!

Hope this wud help ... Comments and queries welcome!
Tuesday, April 01, 2008 2 comments

My Experiences @ ThoughtWorks --- Part 1

I waited all day long!! Waited all nite... Through the train journeys ... Through the lectures... Sometimes getting impatient ... sometimes nervous... other times excited ... and some others curious... But deep within was afraid ... having faced a series of rejections this season... Lots of things going thru ma mind.. Somehow got thru the day... But eventually got tired waiting and then got to one of ma favourite passtime .. 'Sleeping'... @ around 5 pm, "Dus Bahane karke le gayee Dil" my phone rang all guns blazing .... All excited i got up just to find a friend at te other end... @ 6 again.. "Dus Bahane karke le gayee Dil" This time with not so much eagerness i answered the call , but to find the HR of ThoughtWOrks, Mr.Mayank at the other end. I got up instantly. He started
" Puneet, We are done with the collaborative discussion and we have come up with the result. U had mentioned earlier ur interview didne go all that well. And i had said that your previous rounds had gone good and we have to take that under consideration while deciding about u. So we had a discussion and the people who took ur technical interview gave theis views. I'm sorry to say tht i guess ur technical interview proved to be a great hinderance in ur selection process. And this time u r not selected. "
My hopes were thrashed . It brought memories of 6 months back, the same news was given although at a different place and by a different person. I had by then almost stopped listening to him, bt remember a bit of rest of the conversation. He continued."Having said tht, Ur code review was really good. and the person who paired with u (Amit swami) had given a positive feedback. The HR people had also given a decent feedback. I'll be mailing u these feedbacks so tht u can hve a look at it. in 2-3 days time."
I dont remember myself saying any thing more than "OK" in between his lines. But frankly speaking after Saturday, i had anticipated it. The tech interview was nothing more than "average" at best. Was a bit sad but this diappointent didnt last for long... I had so many positives to take out from the process... When i think of them.. I really think even getting rejected was worth it. :D .. The place was gr8.. The people were welcoming.. Everyone who i had interacted with.. Mayank, Steve (twice now), Atul, Manav, Amit to name a few. All and all was a good , memorable experience.. Details of the interviews will be posted soon..