Author: Svetlin Nakov
December 27, 2007
A week ago I visited Google in Zurich, Switzerland. Initially I didn’t consider working in Google and changing my job. During the years many of their recruiters asked me once monthly (at average) to join Google. I had so much invitations to join Google in Mountain View, Zurich, Munich and other locations that I finally decided to check whether they offer an interesting for me career opportunities by visiting some of their offices onsite. Wise people say that you could never know what is best for you unless you check it. I had many friends working in Google and most of them were excited about their job. After passing successfully two phone interviews I was invited at the Google office in Zurich for a comprehensive full day interview. It was a stirring event for me – to visit Google in their development center in Switzerland.
Google Interview Process is Like a Programming Olympiad
I was amazed how Google perform their interviews. Really! They asked me only about data structures and algorithms. I was feeling like at a programming contest. I needed to solve 10 Olympiad-style problems, each for 20-30 minutes. They requested to write a source code on the dashboard. Of course I solved the problems but I thought this is the first part and the real software engineering part will come later.
I will not reveal any of the questions (because I signed NDA) but their interview style was like at the programming contests and Olympiads. I had pretty rich experience with data structures, algorithms, algorithmic thinking and solving such problems in my childhood and during the student’s years, but I din’t expect that these years will come back some day.
Trust me, a 15 years old schoolboy who is a good programming contestant (e.g. some of the Bulgarian National champions) can pass these questions without having any experience in commercial software engineering. I expected more software engineering questions about software design and architecture, large-scale databases and information systems, Internet applications, information security, parallel programming, threads, synchronization, development process, software quality, testing, life-cycle, software project management, agile development, etc. but the interviewers didn’t even mention any of these topics. I applied for senior position and it was normal to expect serious software engineering and technical questions, but this didn’t happen.
That was all. Nobody asked me about my software engineering skills, software technologies, project management, and other skills. Only algorithms and problems solving, data structures, computational complexity, etc. This was whole the day, nearly 6 hours.
Google Interviewers Don’t Ask About Software Engineering, Technologies and Soft Skills
During the years I have been interviewed successfully in lots of interviews and I really have a good idea about how an interview should be conducted. My job is to conduct technical interviews and train people. I have been interviewer for tens of job candidates but I have never thought that some company could employ people only based on their technical skills, and particularly on just a piece of them: algorithms, data structures and problems solving. This is really unexplainable. The best companies I have worked with usually ask at their interviews about personal character, about non-technical skills, about future plans, etc. They try to assess the candidate’s motivation, to check whether his mindset matches the company’s beliefs and values, to check the team working ability, etc. This is usually done in addition to the comprehensive technical assessment with real-world problems regarding software technologies, software architectures, databases, distributed applications, Web applications, etc.
Below are few important (by myself) topics that Google don’t even touch at their interviews (by my recent experience):
1) Google interviewers don’t ask anything about software technologies, e.g. AJAX, Java, Java Web development, databases, SQL, ORM, XML, Web services, parallel programming, multithreading and synchronization, software architectures, design patterns, etc.
2) Google interviewers don’t ask about software engineering, e.g. the software project life-cycle (requirements, design, implementation, testing, etc.), continuous integration, agile development, project management, etc.
3) Google interviewers don’t ask about your experience. They don’t ask any questions about what is your current job, what is your experience, what projects you have worked on, etc. Your experience is just ignored. It is like you apply for your first job and you have never worked anywhere else. I was frustrated. I had nearly 12 years of experience as software engineer and they just ignored this. Normal companies always consider your experience and evaluate it with technical and other questions. Google Zurich just ignore it.
4) Google interviewers don’t ask anything about your personal character, e.g. are you a team pleayer, are you capable to manage a team, do you have experience working in an International team, do you have good communication skills, etc.
It is really strange. My experience shows that when you want to hire a software engineer, his personal character, mindset and soft skills are more important than his technical skills. Algorithmic thinking is important but is not enough for somebody to be a good software development professional and good team player.
How Google will employ somebody who has only algorithmic thinking and analytical skills without having any other software development skills, software engineering experience, the right mindset and attitude, team working and communicational skills? I have no idea. I asked my colleagues working for Google and they said they also don’t have an idea. Strange … I thought that these algorithmic interview questions are some kind of starter and the real interview will come later, but during the entire interview day I passed 10 interviews with 10 different people and all of them asked me nearly the same things: data structures, algorithms and solving Olympiad-style problems.
Why I was not Offered a Position in Google? Am I Overqualified or Underqualified to Work in Google or Just had Overexpectations?
I week after my visit to Google I was informed that my results at the interview were very good but I was not accepted because they don’t have a suitable position for me. It was strange because I solved well all the algorithmic problems during my one-day-long interview sessions in Zurich. I saw positive feedback at the faces of the interviewers. People asking me to solve algorithmic problems were happy of my solutions. It is not hard to notice when something goes wrong, but this was not the case. All interviewers were enthusiastic and happy of my answers and proposed solutions. Most of the other job candidates that had an interview in Zurich in the same time didn’t pass all of the 10 interviews and were rejected after the first 2-3 interviews. This gives me and additional sign that I performed well. If I was not performing well why I need to lose the time of 10 different interviewers?
I am confident about my analytical and problem solving skills because I was a leading programing contestant for more than 10 years, a champion in tens of Olympiads and programming contests (Bulgarian and International). The algorithmic questions were not complex for me, I just solved them in a good way. There were no other questions except the algorithmic ones so I believe I passed the interview with very good results. Unfortunately I was not offered a job position and I was not given a good explanation.
I have one suspicion why this happened: I was asked to fill an employment application form in which I was asked about the salary I expect. Of course, I requested many times better payment than my current payment in Sofia because I needed a good reason to move. Maybe I requested too much (I can’t say how much because it was also under NDA).
I was a medal winner at many Olympiads and champion in tens of programming contests, had nearly 12 years of commercial experience as software engineer, trainer, consultant, project leader and entrepreneur, and currently had very high technical position in Sofia. In order to make a big change in my life I needed really good reason. Maybe I had financial overexpectations?
The other possibility is that maybe I was overqualified to work in Google for the position they interviewed me. By the questions I was asked I can conclude that they needed a very junior software engineer with no experience and my rich experience was an obstacle. Whether this is true I am not sure, but definitely the interview was strange and I definitely answered all the interview questions well.
Few Words about Google’s Office in Zurich
The working environment I visited was really good and the people I met were very smart, energetic, smiling and positive. The people at the office, the office facilities, the equipment, the recreational room, the free-of-charge restaurant and many other things in Google Zurich made a very positive impression to me. I use many services from Google every day and I my positive attitude survives regardless of my experience in Zurich at my interview in Google. I think Google is a good company and something happened by mistake with my job application. Some day our ways could cross again, who knows?
Tags: experience is ignored, google, Google development office, Google interview, Google interview Nakov, Google Mountain View, Google Zurich, Google Zurich interview, great working environment, Interview, interview in Google, interview style, interviewer, job in Google, nice people, Olympiad, Olympiad-style problems, overexpectations, overqualified for Google, personal character, phone interview, positive people, programming contest, programming olympiad, software engineer interview in Google, software engineering, software technologies, top-post, zurich switzerland