Hacker News new | ask | show | jobs
by koala_man 2921 days ago
>there's also extreme examples like the inventor of homebrew that got rejected by google because he couldn't reverse a binary tree.

HN has rehashed this debate plenty, but I don't think you should necessarily see this as an example of a dramatic failure of the Google SWE interview process.

Homebrew became a success due to great vision and execution, not because it solved a challenging technical problem. Howell seems like a great guy who would probably make a great senior developer, founder or PM at any company that aims to solve customer needs.

Google's focus, however, is on hiring SWEs that can solve uniquely complex and difficult technical problems. The merits of such a narrow focus is obviously up for debate, but if that is to be your goal, this hiring decision aligns with it.

7 comments

Google's focus, however, is on hiring SWEs that can solve uniquely complex and difficult technical problems.

I think that's kinda just marketing TBH. How else do you explain things like their habit of overhauling the graphics while removing functionality on many of their popular offerings? The last update of Google News looked a lot nicer but removed all user customization of the news feed - you can't even filter out sources any more.

I mean, maybe there are a lot of super-clever SWEs at google who are bored and frustrated with everyday consumer-centric product development and so do a terrible job at it until they're rotated onto something more interesting. I can't think of any other reason to inflict such a product on the public.

>How else do you explain things like their habit of overhauling the graphics while removing functionality on many of their popular offerings?

I can't speak to any specific instances, but generally when this happens it's because the front-end needed replacing, and not because they had to give up on supporting the functionality on the backend.

For example, the front-end may have been mobile or offline hostile, while the new one works great with both but only reimplemented 80% of the massive feature set that the old UI accumulated.

It sucks if you primarily used the site on desktop and heavily leveraged the missing 20%, but I can see the value in such a trade-off.

> Howell seems like a great guy who would probably make a great senior developer, founder or PM at any company that aims to solve customer needs. Google's focus, however, is on hiring SWEs that can solve uniquely complex and difficult technical problems.

Huh? Isn't all difficulty in software complexity management? Isn't writing a package manager a sufficient demonstration of that? What's a "difficult technical problem"?

Isn't solving customer needs through managing technical complexity what Google should be hiring for, full stop?

I'm actually confused at the philosophy here.

A difficult technical problem, for example, is Google search. It's not just managing the completely of PageRank, it involves creating fundamentally new algorithms to deliver better search results.

Another way to think about it is that Google wants SWEs who can also act like researchers (e.g. PhD students).

Yet it seems like a big complaint among (ex-)Googlers is that they were underutilized and spent their time working on trivial tasks.
And yet, the bulk of phd students don't reverse binary trees.
The binary tree is one of the core data structures used in search. To apply at google and not be able to perform the basic search algorithms on that data structure is a huge red flag. Binary tree is to search what an array is to the programming language, would you hire a programmer that could not use array indexes?
As if everyone employed at google is a core search engineer. Moreover, if you take your average programmer and let him/her implement an array at a low level, you’ll get either a mess or nothing, since the complexity of using arrays and btrees has nothing to do with the complexity of implementing these. And the complexity not in theory knowledge, but in an implementation itself. One basically cannot write, test and prove it in short term (see e.g. “Implementation Issues” on wp).
Given the prevalence of language package managers that struggle with both correctness and performance, I’m inclined to believe that brew actually does solve a challenging technical problem.
Max would probably fail most companies interviews based on culture fit.

He joined Apple after that and was interviewed on the Changelog not long after he left.

Honestly he sounds like a really difficult dude to work with.

I agree with your point, but to add an additional public example: the creator of GWAN was also rejected by the process http://www.gwan.com/blog/20160405.html
Not to mention it's one side of the story, could have come off wrong, been too pompous, or any other number of things.
I think it's pretty safe to assume Google has plenty of dev work that isn't "uniquely complex and difficult technical problems"
Yes they do. Tons of it. And, for that stuff that is "uniquely complex and difficult" they don't lean nearly as heavily on these practices. They pull those people straight out of postdocs at CMU, Cambridge, MIT, Stanford, etc.