Hacker News new | ask | show | jobs
by sudeepj 1796 days ago
There are two modes of hiring:

1. General purpose: Typical FANG like where hire first and then do team matching later

2. Targeted hiring: Companies want specific people and they try to recruit them

A sizable number of top open-source contributors get recruited are in #2. Eg. 1) Top contributors in Rust lang hired by AWS. 2) FANG companies targeting top AI researchers from academia.

One's open-source presence needs to be really prolific and the project has to make an large impact to be in #2 category.

For #1 category folks, your public profile does not matter that much (atleast for FANG companies)

Other way to think is #1 are treated as cattle, #2 are treated as pets.

The famous incident where author of homebrew was rejected by a top company because he could not invert a binary tree got in the wrong channel (#1) to begin with where he was treated as a cattle.

Note: Recruiter from FANG calling you still goes in #1 category for most people

5 comments

> The famous incident where author of homebrew was rejected by a top company because he could not invert a binary tree got in the wrong channel (#1) to begin with where he was treated as a cattle.

It's apocryphal at best. The guy was rejected by Google, but was never asked about inverting binary trees, like he claimed.

(I can believe that he was rejected on some other technical trivia, no clue. But the 'invert a binary tree' thing never happened.)

My bad. I based on the tweet from the author himself [1]

May be he meant to use "invert binary tree" as a representative example of questions that typically asked.

[1] https://twitter.com/mxcl/status/608682016205344768?lang=en

No worries.

See https://news.ycombinator.com/item?id=27927159 for some more.

> May be he meant to use "invert binary tree" as a representative example of questions that typically asked.

Yes, that's a charitable and believable interpretation of his tweet.

(Though I don't know where he got that 90% figure from. Probably made up, like 85.12% of statistics.)

It’s a charitable interpretation, but seems super reasonable. Around that time, I think “inverting a binary tree” was a bit of a meme/shorthand about software interviewing.
Was it? I thought that meme began from his post. To be totally blunt if you get asked to invert a binary tree in a FAANG interview, that’s very easy compared to most questions.
Interesting anecdote, where did you hear that? I remember the original source tweet that was something like, “invented homebrew but couldn’t invert binary tree so they rejected me.”
Okay, so you admit he claims it did happen, but you say it didn't without supporting that claim at all. Do you have a source we can verify?
I was working for Google at the time, and saw an internal post by the guy who interviewed the candidate.

I'm not sure if there's anything public (and what I am even allowed to say.)

See https://www.quora.com/Whats-the-logic-behind-Google-rejectin... where he (at least partially) admits that he was bullshitting:

> I want to defend Google, for one I wasn't even inverting a binary tree, I wasn’t very clear what a binary tree was.

See also https://www.reddit.com/r/google/comments/7l5ibp/max_howell_h... for a discussion.

That was interesting.

> But ultimately, should Google have hired me? Yes, absolutely yes. I am often a dick, I am often difficult, I often don’t know computer science, but. BUT. I make really good things, maybe they aren't perfect, but people really like them. Surely, surely Google could have used that.

To me at least, being a dick is a negative that outweighs making good things, especially for a large organization. Maybe google made the right call.

Right, Google actually has a 'no jerks' policy and values being a good team player more than pure technical brilliance. Being a good engineer gets you L4 (mid) or low L5 level at Google. Growing beyond that is mostly about soft skills and influencing other people - that's not compatible with being a dick. It probably wasn't the case for him in 2015 yet, but these days google has a mandatory 'googleyness' behavioral round that the guy would fail hard with that attitude even if he could invert the proverbial binary tree.
I joined in 2014 as L4 (I think), and I remember having some googleyness interviews even back then.

But I could be remembering wrong.

I highly recommend interested readers to follow through to the Quora page. It’s more or less a public apology, and helped break me out of the echo chamber that occurs here and on Reddit related to interviewing at Google.
It looks like there are a bunch of programmers who think that having taken the first year uni course on data structures is more important than having experience actually building product and having it used by millions.

It's kind of silly. Most programmers out of school have a lot to learn about building product and actually getting a big project done - which they are supposed to learn on the job. At a place like Google. Somebody who knows this part already could probably spend some time on the job learning about data structures.

It's like these conventionally-taught programmers think they get to look down on somebody who actually built something cuz he's self-taught. (As a conventionally-taught programmer who is very comfortable with data structures I find that attitude aloof at best)

I have a traditional Computer Science background and I'm still intimidated to even apply to Google. I got out of bigCo Software Engineering in part because I wasn't interested in putting myself through the wringer of whiteboarding memorized solutions.

I'm also the guy that found low hanging fruit in a huge codebase to replace things like frequent linear array lookups with hash table lookups for 10x+ speed improvements in the build process. This is IMO precisely the type of capability that "Oh, that's O(n^2), surely we can do better. Is there any way to do this in O(1)?" is designed to tease out in the interview process. I did it! In a build process effecting 1000+ engineers, used to build for millions of shipped units! But talking about this in an interview makes eyes gloss over as we prepare to move on to sort algorithm trivia, how would I design search, or doubly linked list implementations.

> It looks like there are a bunch of programmers who think that having taken the first year uni course on data structures is more important than having experience actually building product and having it used by millions.

To be honest, drilling down on all the stuff they teach you in first year helps you more in getting a job at Google than having lots of practical experience.

I'm inclined to believe that this is a problem with Google. But I am not sure you should trust my opinion: I am sure Google spent much more time and money and figuring out the right approach here than I ever laid my hands on in my whole life.

See also https://sockpuppet.org/blog/2015/03/06/the-hiring-post/

he wasn't "bullshitting", you didn't get the point of his tweet and quora post and I think you're kinda proving his point.
He wasn't "bullshitting" indeed. He was straight up lying. And his lie poisoned the thinking of millions (myself included) wrt. tech interviews.

My opinion of the guy just dropped hard.

I'm not sure if the extra work is rewarded as much as you might think. For example, I was shocked to see a prominent open-source contributor hired into Google as an L5. Without going into detail, this person built projects used by many people reading this comment. Granted, I don't know what their comp or interview process was like, but 5 is basically an ordinary senior engineer level at Google.
Google hired me in 2006 (then 11 years of experience) as a 3. I didn't know any better at the time, partly because I was coming into the valley from the rest of the world.

I didn't find out just how screwed up this was until becoming part of the hiring process at Facebook... some seven or eight years later.

So... yeah. What you said is totally a thing.

Wow Google tried a lot of mental gymnastics to down level me. Trying to convince me that higher levels at FB or other companies is equivalent.

That’s a whole other level though. Not surprising and it is hard when it’s a coveted company. I would’ve taken the down level if I didn’t have a better offer at another company.

The key question imo is:

Was he still subjected to same interview process where he has to prove his coding skills inspite of being prominent open-source contributor?

As for L5 level based on anecdotal stories anything beyond L6 is hard in Google.

Search for "Crossing that barrier to L6 is getting more and more difficult with time" in [1]

[1] https://debarghyadas.com/writes/why-i-left-google/

The article is from 2019 and its not that old.

Was he still subjected to same interview process where he has to prove his coding skills inspite of being prominent open-source contributor

Google don't want people who are generally great developers though. They want people with specific skills who can solve the complex compsci problems they think they have. Consequently they hire people who can invert binary trees rather than people who can just write good or popular open source code.

Google's failure to capture the public imagination is why so many Google products get killed off, so I reckon they're solving the wrong problems. If Google engineers were less inclined to think 'this is a hard problem that only very clever people can solve' and more 'this is a simple problem that needs a better solution' they'd launch more things people actually want to use.

This actually means Google would be far better off hiring the popular open source dev instead of (or as well as) the PhD in Binary Tree Gravity dev.

Yes, but my point is plenty of fairly ordinary engineers make it to L5 - it's nothing special. I feel uncomfortable going into this person's accomplishments, but other engineers I know were similarly shocked. If that and skipping some interviews is all being a leader in open source buys you, it isn't worth the extra effort from a bigCo career perspective.
You shouldn’t be shocked by that, there are similar stories where the maintainer of a project, used by most engineers at Google, couldnt get hired due to the lesser relevant leet code / design / behavioral interviews
I’m not sure I fully agree.

There are plenty of good positions (at least in Europe) where they ask for an engineer who can work with tool/Lang x, and won’t ask you to invert a binary tree, but will ask you about what kind of projects you’ve worked on.

I thought that was what you meant by #2, until you mentioned that it required “really prolific” engagement with open source.

I don't know if hire first, team match later is a FAANG thing, I've worked for two of FAANG and neither did that, I was interviewed by and hired onto the team I ended up working on.
Actually there both cases happen:

1. Team matching before hiring commitee [1]

2. Hiring committee approved but rejected because no team matched [2]

[1] https://www.reddit.com/r/ProductManagement/comments/o6gs9m/g...

[2] https://www.quora.com/How-many-people-failed-at-the-team-mat...

After interviewing with multiple FAANGs and receiving no offers, my current employer recruited me based on my LinkedIn profile for a role on new team. I have since started telling the FAANG recruiters “thanks for reaching out, but no thanks“. I guess that puts me in group number 2?
No, you're still a cattle. Until you receive an actual offer, you're always a cattle.