Friday, September 27, 2013

Journey to be a Goooo.... ooogler! (Interviewing at Google!)

The most discussed, most sought after, one of the largest and on the bleeding edge of technology, in our times. Which software product development company comes to most developer’s/architect’s mind? - Google! Finally, I am close to being part of this team. I have worked for other top software development companies (in their own domain), of our time, Siebel (Oracle), GXS (OpenText), Huawei, Symantec, Misys (Finastra) and Yahoo (Verizon). I also do have good amount of experience in top consulting companies (in various domains) of the world like Infosys and Headstrong. The one where I want to be, is finally the one calling on to me - Google!

Google Logos - Over the Years


I would like to tell you a specific record of mine before we go ahead. I had applied for the Genius Book of World Records (Also, Limca Book of Records, India) for not being able to pursue my MS/MTech/PhD in Computer Science – Seven Times. This is after securing admit, not offered, clearing initial tests or being shortlisted for interview. The administrator says they do not keep such records – else I would be the only student registered under such a record. If I would have been a Master’s or Doctorate in Computer Science, Google would have been much more of a valid terminal point for Research and Development as also Programming. I am only a Bachelor’s in Computer and Information Science. Though I do not rue this fact, I need to rely only on my Programming Skill and Experience now to ace the interviews.

So, Google! Yes. I had been interviewed by Google India in 2012, for a position in Bangalore. Though I reckon that I answered about 4/5 questions right in the first telephonic screening, I was not selected beyond that round. I had no way to question the decision and just accepted it!

They sourced my CV again from their data bank in 2013. This time from Google California. The recruiter or sourcer, initially sent me an email asking my interest for a position at Google. I sent a positive response to him. He then asked me for time slots in Pacific Time (Remember, I am in Indian Standard Time – GMT +0530 – PST +1230). I gave him a time slot, which is quite some time after my dinner – so if you are in India – get ready for a late night interview. The exact slot I gave him was 10:30PM IST. Whoa!

It's time for me to be a Goooo.... ooogler! Well, as a Computer Science Student, Programmer, Architect, Developer and Geek, the only other company that I want to have on my resume as badly is Microsoft. But Google slightly takes the edge in favoritism, in terms of my core competencies and skills. Also, my experience in programming languages and stacks such as Java, J2EE, C and C++; incline me towards Google!

Why would they have considered me?
I have worked for top product companies like Siebel, GXS, Huawei, Symantec, Misys and Yahoo. I ran a product startup named TechArmy – which was in the area of analytics and search engines. I have informal and formal grounding in programming and computer science since the age of 13 – and also an undergraduate degree in computer science. (I do have a sort of world record in my name as mentioned above – which should informally work in my favor for absolute product companies if they do consider those of any merit at all, of course!)

What would they have found different in my resume?
I am an absolute do-er. I believe mostly in execution. It is build, break and innovate. Either wise, it is innovate, build, break and keep building. I am a programmer to the core. My primary skill is Java and J2EE. The secondary programming languages I consider are C and C++. I am twice certified on Core Java, Sun Certified Java Programmer 1.4, Sun Certified Java Programmer 5.0. I am certified on each of C and C++ as Quest C Proficiency Certified and Quest C++ Proficiency Certified. I am also certified in Data Structures as Quest Data Structures Proficiency Certified. Additionally, I am certified on Enterprise Java as Sun Certified Business Component Developer 1.3 and Sun Certified Business Component Developer 5.0; The last one would have mattered the least to them as they are primarily a Computer Science, C, C++, Java, Python, Algorithms and Data Structures company – as per my knowledge. I think I hit all the sweet spots except for any experience on Python! So, Experience, Education, Certifications and Continued Education – all of it matters to them.

What was the initial mail all about?
The initial mail is that they have found your resume relevant to positions at Google. They would like to check your interest level for the same. It does not mention anything about the actual position or title that you are being considered for.

What is the initial telephonic screening about?
This screening round is about mostly a mix of computer science and programming. I did no preparation, nor did I follow any blog, nor did I do any brush up on my skills – I just went ahead with what was in my head! Computer Science and Programming. I am at nine years of experience level and was able to comfortably clear questions on Computer Architecture, Programming, Algorithms, Data Structures, Unix and Unix Internals. I was right on almost all of the questions, except that I faltered completely on a Unix Command. I have been using Windows most of the time, this was the real reason. I thought I have ruined my chances only with that question – but that was not the real case!

What seems to be the expectation of the sourcers during the initial screening?
They want people who can think through along with them. I was thinking out aloud on the approaches that were in my mind for each problem presented. I was also able to suggest multiple ways of doing the same things – and that I am taking time to find what is the best in the current situation. You have to keep him along with you and let him know that you can solve a problem – but are trying the most efficient way in terms of space, time or both. At times, he may also suggest or give some tips – as both of you enter into a conversation than a questionnaire session. If you are stuck somewhere or taking time – it is advisable to keep the interviewer apprised of the quick or brute force approach that you already have. The interviewer does give you ample time to answer.

What happens once you are shortlisted?
So, once the sourcer is done with the questions – by which the sourcer has ascertained your fitment for Google – he or she informs you that another interview with a Google Technical Panel will be scheduled. In my case, it took the interviewer about an hour before he made the decision. There were about total six questions in all, in the areas I had mentioned above. He also informed me that this position would be for Google Australia and whether I would be fine to work in Australia. California would have made me really happy, but I said I am absolutely fine with the location. He said either of the Technical Panel from Australia or the California office would call me. I bid a good night to him, whereas I actually I had to bid him a good day! That was the only other mistake I made.

What kind of help/information does the Technical Sourcer share with you?
I got a mail in the next two days from the same sourcer or recruiter asking me for another set of time slots in the next three weeks for the Technical Interview. I gave him a list of about six to eight slots. He also shared that now there will be a recruiting co-ordinator involved who would be actually setting up the interview. He shared everything that is involved in the selection process in a mail along with lots of links on what topics to prepare. The mail also provided tips on how to ace the interview, what is expected from a candidate and the background of Google's business.

What kind of documents did I receive before the second interview?
The recruiter shared two very important documents along with the links. One of them contains the type of preparation required for the interview. This includes types of questions and a few further reading links. The second of them contains a longer list of topics and the absolute types of questions that may be asked during these interviews. It contains coding questions, design questions, blog links, videos, recommended books and online course links. In a way the Google hiring team is preparing and providing the candidate with an exhaustive set of documentation and information to ace the interview! If you have been programming for a long time and like solving complex problems in computer science – you are ready for the interview.

What is my preparation for the second (or maybe pre-final) round of interview?
My preparation includes topics like Core Java, Recursion, Bit Manipulation, Reverse Linked List, Singly Linked List, String Manipulations, Arrays, Trees, Graphs and Pointers. I also will go through a bit of C, C++ and Unix. I will design solutions for twice (and similar) the number programming problems they have provided as examples. I will brush up on other main topics in Computer Science – Algorithms, Networking, Databases, Operating Systems, Programming and Architecture. I will also try to get up to some Theory and Discrete Mathematics before the interview. That’s all. I will rely on my close to 17 years of informal, formal programming and computer science knowledge to clear this. Well, I am gonna keep you all informed how well I did on this one. This was later scheduled and I was down with Typhoid and could not take up an interview for a long time. I later decided to search for a job in my hometown (where Google does not exist) and move out from the interview process.

What is my expectation beyond the second round of interview?
I guess I will be called onsite for the interview. Well, this maybe California or Australia. I am not sure as I read on somebody else’s blog that this is the convention that they follow. This is for the last set of rounds of interview they have before they take you in or bid goodbye!

Google or No Google, What am I upto?
I stick to my love for Java, as also J2EE. I am gonna complete my Oracle Certified Master, Java Enterprise Edition 6 Architect certification by the year end. I am also planning to take up my Spring and Hibernate certifications and take my knowledge to expert levels – but only through Brainbench Certifications. With that, I will have ten certifications in all; in Algorithms, Data Structures, C, C++, Java and J2EE! Early next year, I plan to start on my application for the Executive Post Graduate Certificate Program in Information Technology (Executive MBA). That’s it! The Google Experience would only multiply the value of all of these! Otherwise, it has to be one another consulting or another product company.

I will keep you updated on my second round of telephonic discussion. I am not in a position to post the real questions as I have no permission from the company resources. I later decided to search for a job in my hometown (where Google does not exist) and move out from the interview process. Neither Google or any other company endorses this post, but I am only providing an informal write-up of my experience - so that it can be helpful.

[Google - 2/2]


[Update : 2012-2016]

On a Serious and Correct note, I thought about my career goals, my unfulfilled academic/professional goals and everything that I am as an individual - The Journey of Myself - The Ex-Yahoo, Ex-Symantec, Ex-Siebel (Oracle), Ex-Huawei, Ex-GXS (OpenText), Ex-Misys - AND - The ONLY name that I want to re-emphasize as my Dream Company and that I want to see on my resume is - Google!