Hacker News new | ask | show | jobs
by ubernostrum 3412 days ago
Why do they try to "recruit" him in the first place, then, and "waste" recruiter time and phone-screen time on him and people like him? Remember: this isn't people applying to Google out of the blue: this is people Google has actively courted to apply.

I did a couple rounds of their interviews a while back just to see if they really were as bad as people said they were (yup!). And that was in response to a very persistent recruiter emailing me over and over and over again to apply, despite my knowing there was zero chance I'd be a fit for the job they asked me to apply to.

And more generally: I don't really care about binary trees. They're simply not relevant to the work I do. I suppose if someday the only way I can get a job is to buy a book with all the stock interview questions in it and memorize the answers, then that's what I'll do. But if somebody's hiring me, I want them to hire me for the things I know that aren't standard interview questions anyone can memorize.

The way I try to phrase this to people who don't get it is: my metaphorical working set in memory does not include basic algorithms (that's what libraries are for), and does not include brainteasers or riddles. It does include a lot of arcana about how web application stacks work, the network and gateway protocols they use, the points where security and reliability issues are most likely to happen and how to avoid those issues, the application and database architecture patterns most often needed, available libraries and frameworks which implement them, pros and cons of different approaches, etc., etc. I could, if so inclined, probably take the metaphor all the way and outline which things are in the equivalent of CPU cache vs. the equivalent of main memory.

So sure, I could page all that out to disk and forcibly cram a binary-tree answer into my brain's L1 or L2 cache, or load up one of the dynamic-programming questions Google loves (tip if you want to work for Google: memorize the Wikipedia article on longest common subsequence, even if it will never ever be relevant to anything you'll ever do, because they will have you do it in an interview). But that would be actively harming my own usefulness, and I'm not willing to do that for Google or for anyone else.

Which I guess raises the question: why do you apparently want me to harm my own usefulness just to try to get a status-symbol passing grade on a Google interview?

2 comments

Here's the thing, nothing personal about you but a true fact about Google. Nobody at Google could possibly care less about your opinions on "application and database architecture" because Google does not have application and database architecture that even slightly resembles anything you have ever seen outside of the company. In fact the less you think you know about architecture the better it would be for all involved, if you were to go work at Google. Also all those things you know about makefiles and maven and ant and ansible and chef? Nobody cares. Google doesn't use those tools. Google has lots of famous engineers and while I believe their expertise and knowledge are valued, their outside experiences are generally not.
Google also increasingly has a reputation as a company that hires top-tier CS Ph.Ds and puts them to work building CRUD web apps.

They have this reputation because, it turns out, not every engineer at the company needs to be able to rebuild all of Google from first principles in order for it to keep running. And even at Google scale there's not enough interesting greenfield work to do to, or de novo problems to solve, to keep all those "famous engineers" busy all the time. The same is true at most companies -- you need a mix of talents and skillsets, and you need to match up people to roles based on that. The Google approach -- of putting people into drudge work and paying them enough to hope they won't quit -- is a grossly inefficient use of talent and knowledge. Which is another reason I wouldn't want to work there!

Arrogance at its finest.

I'm not arguing that Google doesn't have a huge scale, but I'm pretty sure that Microsoft, Facebook, Amazon and most likely the NSA also have unique systems and challenges.

> Microsoft, Facebook, Amazon and most likely the NSA

And all of them (well maybe not the NSA not sure on that one) do the entire "algorithms quiz".

> In fact the less you think you know about architecture the better it would be for all involved, if you were to go work at Google. Also all those things you know about makefiles and maven and ant and ansible and chef? Nobody cares. Google doesn't use those tools. Google has lots of famous engineers and while I believe their expertise and knowledge are valued, their outside experiences are generally not.

What distinction are you making between "expertise", "knowledge", and "outside experiences?" The outside experiences are the basis of the expertise and knowledge. If you understood, used, and contributed to other existing build systems, you are then in a good position to understand, use, and contribute to Google's in-house build system, because you have useful knowledge about the problem domain of building software. And so on.

> It does include a lot of arcana about how web application stacks work, the network and gateway protocols they use,...

This was my second phone screen at Google, for what it's worth.