Live data from Hacker News

Google: 90% of our engineers use the software you wrote (Homebrew), but...

twitter.com

441–450 of 683 posts

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#441

Earlier quoted context omitted.

Think of the problem from Google's perspective though. At some point, you have tens of thousands of candidates and you need a system to quantify how good they are. Further, it's reasonable to have false negatives (people you don't hire that should have been hired) but really bad to have false positives (people that you hire that you should not have). Together, these boil down into the de facto whiteboarding interview…

If only whiteboarding interview processes actually weeded out false positives. In practice, they select for people with good memorization skills. If you can remember the details on a ten dozen different algorithms and data structures, you can pass one of these without having a single lick of creativity or skill. I say this as an employee who has worked alongside many unskilled drones who made it past the algorithmic…

I agree.

I recently interviewed for a security engineering position at a startup, and while I got offered the job, the interview was quite silly.

The first thing I was asked to do was to write a lisp interpreter. It was a pretty trivial task, but it left me scratching my head since not only did it not tell them about whether I would be qualified at all, but I had explicitly avoided writing parsing code since I found ANTLR during undergrad.

In the end I wrote a basic stream abstraction and wrote my lisp interpreter on top of it with no real difficulty, but it was a completely stupid question. I told them on the third interview that they weren't asking me anything relevant and I still got another question later on about how to iterate over a tree in a specific order.

Part of the issue was that most of my interviewers were fresh out of college, it was literally their first job and they had no idea what to ask besides the kinds of questions they had been asked in their own interviews.

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#442

Earlier quoted context omitted.

What specifically are you objecting to? That specific question? Writing code on a whiteboard? How would you interview software engineering candidates?

If you rate engineers on their ability to memorize something they could have looked up on Google in 5 seconds, what are you really actually testing? If you're not at Google's scale, a take-home test that involves them producing a working solution to a problem in their own time, that you then expect them to be able to discuss, reason about, justify, and so on is a much better tool; even at Google's scale, where you mi…

>If you rate engineers on their ability to memorize something they could have looked up on Google in 5 seconds, what are you really actually testing?

Repeating what I said earlier - You can't build a plane by opening a physics textbook. Starting with a LARGE pool of fundamental and higher order building blocks allows you to fit them together using whatever skill/talent you have at solving problems, in a MUCH shorter time than someone who doesn't.

Someone who constantly google's basic stuff is a net drag on a team's productivity. Rather than operating at their skill level, they're constantly being distracted by having to task-switch and waste hours researching stuff. The internet isn't going to magically know the exact problem you're working on and whether certain data structures or algorithms are appropriate for solving it, or if they need further tuning depending on what your priorities are, or what have you. Getting questions answered, and googling/learning about CS stuff is great on its own, and should be encouraged as much as possible, but it is not a substitute for actually retaining that knowledge.

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#443

Without commenting on whether this is a good interviewing strategy, surely the point is to sacrifice some potential good hires in favor of definite good hires. In other words, you might be able to write pretty good code even if you can't solve problems on a whiteboard, but, given a choice, why wouldn't we just choose the people who can do that, too ? I think the stated philosophy of interviews like this one is that a…

More or less agree with this. I'm also a Google reject (didn't make it past the phone interview). I didn't take the rejection personally. I don't see how the interview process could be drastically improved. They get a lot of applications and they need some way to filter - there is a standard and it has to be met. With the sheer amount of applications that Google gets it's a virtual guarantee that there will be a subset of people taking the piss regardless of what the interview process is like.

I don't doubt that the engineers who manage to jump through all those hoops are sensational. Personally in the end it just dawned on me that I didn't want to work at Google that badly.

The whole Twitter exchange is a pitiful sour grapes circle jerk, and I'm surprised that it's provoked such a massive response.

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#444
post #189

Earlier quoted context omitted.

> If you follow the twitter discussion, it says he applied for iOS tools We cannot just assume that since he applied for iOS something at Google that he's the best fit and what they were looking for. Maybe the tools Google needs built are very CS heavy (hence the "Build us a Binary Tree" question)? Maybe during the interview his arrogant attitude was on full display? Maybe the interview team dug up past episodes of e…

He actually didn't apply, it was Google who contacted him in the first place.

Google contacts plenty of people. Reaching out to yet another engineer (not even talking about this particular case) doesn't mean they really want someone particular. They just going through the pool of potential matches. Person who initiated contact may not even know what exactly Homebrew is.

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#445

Earlier quoted context omitted.

Rambling weirdness stream of consciousness, but, yeah you might well be right... how hard can it be to reverse a binary tree? Isn't the "real" solution to sound out the solution as you go, and let the interviewer know what you're thinking? I've never attempted to do this before, and my compsci is real weak, to the point where I'm going to make an educated guess about what a binary tree even _IS_ so... Let's start wit…

It can't be just mirroring, because there's the obvious zero-op solution because "left" and "right" don't actually mean anything except when you're visualizing it for humans: struct NormalNode { int value; struct NormalNode *left; struct NormalNode *right; }; struct ReversedNode { int value; struct ReversedNode *right; struct ReversedNode *left; }; struct ReversedNode *reverseTree(struct NormalNode *root) { return (s…

This is genius. My C is rusty, but isn't this more than visualising for humans, if I cast a NormalNode as ReversedNode, traversal should be reversed, right? (I.e.reversed->right is normal->left

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#446

Number of times I have had to invert a binary tree in my 25+ year career: 0. Number of times I have been asked to invert a binary tree in an interview: 0. What I would do if I had to invert a binary tree: look it up.

>Number of times I have had to invert a binary tree in my 25+ year career: 0. Number of times I have been asked to invert a binary tree in an interview: 0

Well, if you wanted to pull that card, it would have been nice to mention the sorts of problems you've worked on in those 25 years.

>What I would do if I had to invert a binary tree: look it up.

Unless you're already good at algorithms, it would net you a mediocre solution.

For e.g. You would only know that there are multiple ways to implement an algorithm when you've actually done the work dozens of times and noticed that some implementations won't be appropriate for you needs. Like with many things, its about having experience, knowing whats a good fit, and knowing why something similar isn't a good fit.

Certainly - every single time you choose an algorithm, and then decide on a particular way to implement it - you could in theory, implement each algorithm in 10 different ways and then choose the best one after benchmarking. But that would be a huge drag on productivity. And if you had to choose 5 algorithms for 5 different tasks then it quickly becomes a quadratic complexity time sink. It would be far better to just know via experience. Its kind of like in chess - the better players just KNOW that certain paths lead to less favourable winning odds. Well, novices do take those paths and eventually find out the hard way !

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#447
post #395

Earlier quoted context omitted.

"filter out a bad hire" Good teams have a balanced skill sets I've found. You need some uber-algorithm guys who can pass questions like this, but you also need engineers who can fill in all the rest of the tasks that make up a production worthy system. I have not found that the uber-algorithm guys always pay attention to detail, put in good comments, think of all the edge cases, communicate well with outside teams, e…

> you also need engineers who can fill in all the rest of the tasks that make up a production worthy system. I have not found that the uber-algorithm guys always pay attention to detail, put in good comments, think of all the edge cases, communicate well with outside teams, etc. What's to keep a good engineer like you describe from buying a couple of books and spending a couple of months working on becoming the type…

> What's to keep a good engineer like you describe from buying a couple of books and spending a couple of months working on becoming the type of person that can do well on these questions?

Google doesn't make everyone multi-millionaires anymore. If you want me to jump through a bunch of hoops for you, you'd better have a pretty solid case for what the outcome will be.

By actively selecting against people who don't want to answer bullshit questions, they're definitely turning away creative, talented people. They're selecting for different people instead. Perhaps that's what Google needs to feed the machine now that the company is mature, so I won't necessarily fault them for it. But that filtering or selection IS happening, even if they don't think it is.

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#448

WTF is "inverting a binary tree?". The smattering of search engine results points to some seemingly operation that basically generates garbage by destructively manipulating the tree into a DAG in which the leaves of the original tree are roots, which point downward the parents. The original root node is returned, and still points to its children. Unless you return some aggregate (e.g. list) of all the roots which are…

I agree. I have no idea what "inverting a binary tree" means, or why I would want to do it, so I'd need some context from the interviewer. Chances are, I'd ask some very pointed questions about whether a binary tree is really the best underlying data structure for whatever the "inversion" process is intended to accomplish. The interview would probably go downhill from there.

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#449
post #75

Earlier quoted context omitted.

People have previously mentioned hallway discussions at Google routinely devolve into bragging about SAT scores and GPAs. Nothing says Google must accept sub-par technical people, but Google fails to realize you don't have to be the top 0.0001% in absolute algorithms intelligence to do great work. Google's basic theme seems to be "you must be low latency ultra smart in our narrow interest areas" to pass an interview…

In The Plex is great read for insight into their entire process. Basically, Google is run by people who have never been told "no" to anything in their lives, so they continue to think they are the best at everything until reality forces them to reconsider their delusional assumptions ("montessori naivety"). Which is unfortunate, because objectively Google doesn't actually have a very impressive track record of creati…

Wait, only two strong online services? I can think of like five other excellent services including a maps site that is years ahead of the competition.

Re: Google: 90% of our engineers use the software you wrote (Homebrew), but...

#450
post #325

Earlier quoted context omitted.

I've been there as well. I interviewed at a design agency a while back. I nailed all of their puzzles pretty easily only to get there and realize I was going to be doing Wordpress hacking and other CMS work from 2010. I left after a few months because of how trivial I realized the work would be in the long term. On the exit meeting it was relayed to me that they were having trouble finding people because no one could…

Also - a big motivation for work is learning. Didn't someone say "never apply for a position your qualified for"?

I don't know who said that, and while I strongly agree with it in principle ... in practice it just tends to not work out like that. Employers want a cog in a machine. They don't want you to 'stretch, grow or learn' on their dime - no employer is willing to take that risk. Further, career progression in the tech industry is commensurate with the degree to which you've been pigeonholed in a particular skill or task. So a high salary is usually indicative, not of the diversity of your skillset but how well you perform within certain narrow parameters.
Post reply on HN