6 ms·
Ask HN: What does it take to get a job at Google?
What kind of things a person should be able to do to get a job at Google? Do you have to be a genius or can a normal competent programmer find his way there? Is it possible to do for a self-taught programmer or do you need a CS degree? What sort of stuff do you need to have in your portfolio? How does the application process look like? Can you share some experience/advice?
- rayalazgoogle 10y agoGoogle is famously more selective than Harvard (both places have self-selected applicant pools, but Harvard admits 5% while Google has "millions" of applications and only tens of thousands of programmers hired over multiple years). However, by a similar argument it is less selective than Major League Baseball. Google hires self-taught programmers. But the median autodidact has low ability compared to the median formally-educated computer scientist. Google cares less about credentials than they used to, and even in the early days they were willing [http://www.codersatwork.com/jamie-zawinski.html http://www.codersatwork.com/jamie-zawinski.html] to hire jwz-caliber self-taught programmers. But your interview performance must be on par with traditionally educated candidates. You must be able to write plausible code in 45 minutes to solve a challenging problem that can be described in 2 minutes. That essentially requires that you are familiar with fundamental algorithms and data structures (or that you are a genius who can reinvent these on-the-fly) and some popular programming language. The portfolio doesn't matter very much. The hiring committee will expect if you are young that you are capable of contributing in some way immediately and show promise for doing much more in the future. If you are older they will expect that you have a track record of exceptional accomplishment that they can expect you will extend at Google. For info about the process, see https://www.google.com/about/careers/ https://www.google.com/about/careers/. It's going to be (1) submit your application (2) do phone screens (3) do onsite interviews (4) review offer. The penalty for trying too early is that it will take some of your time to do interviews and you won't be able to try again for a whole year. So you should put some effort into it if you seriously want to work at Google, but you should not dedicate years of your life to taking a single shot at it because you can and many do successfully reapply after rejection.
- nostrademons 10y agoThere is a limit though - I think it was 3 lifetime rejections before HR stops considering you as a candidate. So don't be shy about re-applying if your circumstances have changed, but also don't "scattershot" apply to Google if you think there's no chance at all of getting in.
- thalesfc 10y agoI personally know people who were hired on their 5th interview. All that matters is your "data points", i.e., how are you improving over the years (it can take from 6 months to 1 yr to be able to re-apply).
- ekr 10y agoDoes it count as a rejection if they don't even call you back for an interview/ i.e. all you get back is an automated reply?
- yolesaber 10y agoNo. It only counts if you fail the subsequent callback interviews. Google takes a long time to respond. I applied right after I graduated and didn't hear back from then until two years later.
- lgieron 10y ago> Google is famously more selective than Harvard (both places have self-selected applicant pools, but Harvard admits 5% while Google has "millions" of applications and only tens of thousands of programmers hired over multiple years) That is very debatable. You could argue that a large portion of high school grads in the world would be interested in going to Harvard, but they don't bother to apply because they know they have no chance of getting in. In contrast, one's chances of getting hired by Google aren't that easy to assess (there are no standardized tests for example) and also it's easier to apply, so proportionally way more people do IMO.
- w3clan 10y agoBe good in algorithm. If you can do same work in most efficient and effective way than any one else in this earth. You will be part of google. Also, google has many other job opportunity than programmer. Try them out, if you are too much google lover.
- baccheion 10y agoIf you want to work there so desperately, then read "Cracking the Coding Interview." Past that, it's about getting a response from a recruiter or getting someone who works there to refer you. Once that's done, you should perhaps look into other (better) companies. You can use sites like Glassdoor, Comparably, and Paysa to get insight into what it's actually like at these companies (ie, you may hear something you don't like).
- pinewurst 10y agoAlso recognize that getting in there may not be what you really want, despite reasonable compensation and having them on your resume. Aspirants are, more often than not, hired into a candidate pool and don't know what they'll be working on at interview time. If being a Googler is worth years of working on crufty ad sales dashboards, then have at it.
- shaftway 10y agoI totally agree, and this was the scariest part when I was hired. But you do have some choice in the matter, and you are expected to stay in your first role for 18 months. I was hired into a "crufty ad department" and made my move after 18 months into a department I love.
- codeonfire 10y agoGoogle is just another big company at this point. They want early career people because everybody there thinks that he/she is the expert.
- thalesfc 10y agoI think this link http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html http://steve-yegge.blogspot.com/2008/03/get-that-job-at-goog... is by far the best advice you can find out there.
- thalesfc 10y agoI also want to add my 2 cents on that. I am terrible at white-board/ phone interviews but recently I think I was able to crack at it, and here are my thoughts about it: - go to the root of the problem, run some examples by hand and try to think as a computer. e.g., I was at apple interview and there was this trick question that could be solved using a modified version of binary search. When I ran some example I kept asking myself "if I know that this element in the middle of the matrix is smaller (or larger) than X, what does that mean?" - be very comfortable about big O notation. If necessary, be ready to present some formula. - show that you can do the brute force solution. Sometimes the brute force solution seems very stupid (e.g., enumerate all possible subsets and find the best one), but you need to say it! - most of all, be confident, but not arrogant. It is not the end of the world to not know something, but it is important to show what you do know!
- fspear 10y agoCan you suggest any resources to freshen up on big o notation and fundamental data structures & algorithms that are not academically dense (i.e CLRS)? I'm currently working through Cracking the coding interview & Elements of programming interviews but I really need to revisit the fundamentals, specially recurrence relations and calculating the order of complexity for an algorithm but I can't find any resources that are not too academically verbose, I have a really hard time reading mathematical notation.
- lil1729 10y agoThe Stanford/Coursera course on algorithms part 1 is a good resource for Big O. Knuth's "Concrete mathematics", 9th chapter (I think) has some good coverage on Big-O/Omega notation.
- 10y ago
- joshvm 10y agoWhat killed me was speed. I didn't think the questions were particularly difficult. Certainly they were (mostly) all solvable in about 20 minutes and the code shouldn't take more than one whiteboard-height. Use this knowledge to your advantage: you're not going to get a super complicated algorithm that will take lines and lines of code. The problems were also pretty interesting, they weren't textbook crap like "Go through a binary tree in some order". Lots of the questions are online, and you may as well practice using what people have leaked. At least two problems came up in my interview that I'd seen before (one was even mentioned in a Google talk about interviewing technique). Being concise and correct matters, maybe this was easier because I coded in Python and there's less boilerplate. My feedback was that they had no problem with my problem solving skills or communication, but that I was simply too slow converting ideas to code. The best interviews were the ones where I finished early and we went on to chat about other problems in a more casual manner. Similarly test the crap out of your solutions. 1) Make sure you understand what you're being asked to do. Whiteboard a test example without any code at all. 2) Discuss your approach and mention any big O problems (e.g. "I could brute force this by searching all the pairs, but that would be O(N^2)"). Settle on a solution that your interviewer approves of, then start coding. 3) Test your code again with known input/outputs. You should be comfortable using your brain as a REPL. Otherwise have fun - enjoy the office tour, the free food and drink and the problems. They're all friendly, smart people. Would I work there? I don't know. If you're good, you can soar in Google. If you're not pro-active, you can rot in a boring department forever. What concerned me is that they couldn't guarantee what job I'd be doing when I started, even though I'd explicitly applied for a niche computer vision role that I was well suited for (PhD level).
- deleted 10y ago[deleted]
- awaythrow101 10y agoSearch for Google Foobar if you're interested in an alternative way to get in contact with a Google recruiter. I was essentially blackholed until I went through Foobar (understandably so since I lack a CS degree; note that this means they may be interested without one). Be aware that they may take upwards of a year to contact you though.