Hacker News new | past | comments | ask | show | jobs | submit login

Has no one stopped to question what Google may have been looking for in a candidate?

The OP has written some great apps, sure, but there is a huge difference between writing a package manager for Mac (among other Mac/iOS apps and utilities) and writing incredibly complex, highly performant algorithms for say search indexing, machine learning, ai, etc...

In that context, knowing CompSci basics like Binary Trees (usually taught to pre-major CompSci students) has a lot of relevance. It's clear Google was looking for a Computer Scientist here, not just another developer.

I am also put off by the extreme display of non-professionalism here. It's like the OP took this personally as an insult. "I've written popular things, how dare you not hire me if I want to work for you!". That's not a professional I'd like to work on a team with. Rather, that's a throw-back to the "Rockstar" programmer that nobody wants to work with.

This boils down to a person who was personally offended a company did not hire them at a drop of a hat, as-if he was "blessing" Google with his presence.

I'd say, Google (and other companies) are better off without this type of ego.

They made the proper choice to weed this individual out.




I used to do interviews at Google, and most likely, the interview process just failed in this case. Typically a candidate will do 5 technical interviews, where the Google engineers can ask basically anything they want to (eg. invert a binary tree in this case) and score the candidate. If the candidate trips up on one of these interviews, that can be enough to reject them. The process will sometimes randomly reject qualified people.

Additionally, I think people have a mis-perception of the skills required to work at Google:

> writing incredibly complex, highly performant algorithms for say search indexing, machine learning, ai, etc...

...

> Google was looking for a Computer Scientist here, not just another developer

This is not really the case. The large majority of positions are for basically "just another developer" to maintain an internal Java tool, or some web UI, or whatever. They are complex in that they have many dependencies and often lots of legacy code, but not all to different from Microsoft, Apple, Facebook, or any company with a large code base. In my several years at Google, 0-5% of my time was spent coming up with complex algorithms.


Then why do they put people through those extreme paces? If you have the chops to get through the Google interview process, you are not "just another developer." If I were enough of a star to get through the process, got hired, and then was put to work maintaining some internal Java tool, I'd be pretty pissed off.


Yes, in fact that is exactly what happens. Many of the people at Google who are level 3/4 SWE's (about 70% of engineers are at that rank, it is considered a junior level) feel that they are under-utilized, and there is a lot of angst at that level. Those people would probably have more important/impactful roles at other companies. Some do in fact leave for other companies, but many end up tolerating the situation as other aspects of working at Google compensate (stable, brand name, perks, etc.).

As for why management continues this interview process: probably because they can. Lots of people apply to Google, and they have a high acceptance rate for offers extended. There is also a historical aspect to it: "we have hired this way in the past, and it worked, so why change it?" and fear: "if we lower our standards, the company culture is at risk" The problem of low-level SWE discontent showed up on management's radar around the time that I left, so I'm not sure if they are doing things to change that.


In fairness, package managers can get surprisingly complicated from a CS aspect. openSUSE wrote an elaborate reusable SAT solver library just for the dependency resolution component. Then let's not ignore that a package manager at its core must deal with the finicky nature of contemporary dynamic linking, the OS environment and all the baggage that comes with heterogenous library contexts and namespaces, maintaining transaction consistency, preferably ensuring atomic operations and so on.

That said, I don't think Homebrew is one of these. Always seemed like a quick fix for an OS X deficiency to me, and its competitors MacPorts and Fink being mediocre themselves certainly helped with its popularity. Not to rain on the achievements of the developers, but still.


To further your point, Package Managers have been done... and have been getting done for a long time.

Blazing the trail in machine learning, ai, etc... that's new territory where there are no knowledge bases or places you can go to source information about how to do it.

That's a different ballgame, and requires a scientist, not an engineer/developer.


Package managers have been done, but by and large not as well as they could be. It's unsurprising that Nix originates from an academic background. It's actually complicated work, and not really a solved problem yet.

Moreover, I'd heavily dispute that there are "no knowledge bases" for machine learning and AI. There very much is, given that the fields have a history as long as most contemporary computing. "Machine learning" in essence reflects the transition from AI being symbolic to statistical, so there's plenty of reference material on the latter and the various intersectionary disciplines like computational linguistics, data mining, computer vision and so forth. Hell, OpenCV - there's some good source information, for instance.


If you follow the twitter discussion, it says he applied for iOS tools. I don't know what tools they write but I'd be surprised if someone who manages to write a (pretty good, actually) package manager can't solve the problems in this position.


Google doesn't hire for specific projects like this - they want people who can work all over the company.


Not accurate anymore.


> 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 explosive arrogance like this very one we're discussing right now?

Even if they were looking for someone that matched his profile exactly, his post-interview display of non-professionalism is sure to hurt his chances of a re-interview anytime in the future (and quite possibly at many more companies than just Google).

He conveyed several things with this display, none good;

* he's incapable of handling rejection

* he feels entitled

* he feels he's better than everyone else

* he's unwilling to admit his own shortcomings

None of these are good qualities.


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.


Having the type of work environment where you can't teach someone how to invert a binary tree is not a good quality.


There is no slander in his tweet, he reported the FACT, may be a tad-bit dramatic, but FACT none the less. I just cannot understand why people think, Job seekers should cower down in public in fear not getting a future offer. To the hell with it, speak your mind, live like a boss even it means you make a little less financially, its better than being a rich coward.


The only facts in this tweet are:

- The guy made Homebrew

- The guy interviewed at Google

- The guy was not offered a job at Google after his interview.

Anything else is unconfirmed and, speaking as someone who's thrown quite a few frustrated hyperboles onto the internet, sounds like frustrated hyperbole.

Frustrated hyperbole should not be taken at face value as fact; sometimes there's truth in a smaller version of what's said, but not always.

For example, there is no fact established that Google hired him because he can't "invert a binary tree". In actual fact, we don't know that Google even asked him to invert a binary tree (at least not specifically). It could be that they asked him a question that he thought was as irrelevant as academic datastructure exercises.

And we don't know that his answer was the reason he got turned down either. This is the part of the hiring process (and really any human interaction) that takes the maturity of recognizing that people and their motivations/reasoning are more complex than we reflexively flatten them out to be.


> There is no slander in his tweet, he reported the FACT, may be a tad-bit dramatic, but FACT none the less

What facts are you talking about? The "facts" coming from half the parties involved? The "facts" coming from an upset and irrationally thinking person who's caught up in the moment?


All that you say is true, but there's another side of the coin.

Nobody wants rockstars in teams, because rockstars are bad team players. That's the reason why they're rockstars. Nonconformity (sometimes) leads to innovation. Like it or not, a lot of the tools and libraries which we use every day and on which the internet runs, was written by lone-wolf 'rockstars' too weird and too eccentric to work in large corps.

You don't want your whole army to go over those mountains, you send scouts. Scouts are terrible soldiers, but they are quick to find a path between the trees and rocks and they come back with new information, new ideas and concepts of how to optimally win the battle. Then and only then you bring the whole army and win.

A company, imho, should always have a small number of rockstars - impossible characters, crazies and lunatics with universe-sized egos, who have a track record of successful projects in the wild, working on insane things, alone or in very small groups, carefully managed by someone who can earn their respect - usually a lone wolf turned general.

They might be terrible programmers, they may have no education, but they have this unusual ability to see into the future and come back with interesting ideas and prototypes, which the 'soldiers' - people with solid fundamentals - can polish and transform into profitable products.

If a company innovates 'from the top', then it's trend is going to slowly be downwards towards irrelevance, because true innovation comes from the trenches and is done by the rockstars nobody wants to work with.


being able to invert a binary tree makes you qualified to develop machine learning, ai, etc code? that's a pretty low bar. If that's the level of knowledge you need to do that, then can it really be called AI?

If that's really what they intended for him to develop, then why not ask questions about machine learning or AI?


You think like a Google interviewer.


> You think like a Google interviewer.

The OP is the type of person that, six months from now would be demanding special treatment because "he wrote Homebrew".

Writing a package manager (been done before, a lot of times) is far different from writing machine learning algorithms (new field, blazing the trail for the industry). One requires an engineer, one requires a scientist.

The OP flamed out because Google was looking for something he was not. Instead of taking it like a professional, he decided to retaliate.

The tone he took in his post is appalling, and I cannot believe HNers are defending him. "I'm special because I wrote something popular (and make absurd claims about 90% of people using it), so you better hire me or else" is what he just laid down.

That's not the type of person I'd want to hire or work with... and I'd wager most would agree.


Echoing what sseveran said, "You have done an awful lot of speculation here!"

Why do we call them "speculations"? Well, because those were your believes and most likely not the true depiction of who Max Howell is.

Have you worked or interacted with Max at all? I bet you not. If you did, you will see that he's not the egotistical and arrogant person that you depicted. [0]

To me, Max was just really frustrated and venting on the fact that Google passed on him because he failed in a whiteboard session of an algorithmic question, disregarding the fact that he has been proven to be a great developer who can ship code and a track record of teamwork and tremendous contribution to the open source community. And you know what, I am pretty sure Max can solve that whiteboard question with a little bit of preparation. It's unfortunate that Google interview process is designed to judge people on a simple algorithmic question. So, Google's loss on this one IMMO.

While I completely disagree with you on most of your judgements, I do agree with you on one point, that is, it's probably not going to be a fit (scientist vs. engineer). It's okay for companies to screen out experienced developers/engineers on academic knowledge, even though it's silly.

PS: I am not sure where the "90%" came from, but it's not "absurd" to believe considering Google's standard equipment issue has been predominantly Macs in recent years[1].

PPS: Max applied for an iOS developer role not a scientist role.

[0] https://github.com/mxcl?tab=activity [1] http://bgr.com/2013/11/28/mac-chromebook-google-employees/


You have done an awful lot of speculation here.


This entire thread is based on a single tweet. It's all speculation.


> You have done an awful lot of speculation here.

The entire interview and hiring process is conducted on mostly pure speculation of how a future hire will produce, and mesh with the team/company.


>Writing a package manager (been done before, a lot of times) is far different from writing machine learning algorithms (new field, blazing the trail for the industry). One requires an engineer, one requires a scientist.

I mean, a package manager is probably far more rooted in computer science than machine learning (which is basically just applied statistics: software engineering edition).


as someone who has worked on machine learning systems, this made me laugh out loud. not the fake thing you do when you mildly chuckle but don't actually make a sound. the thing where your coworkers look up and are annoyed. thanks!


I wouldn't want to work with you or him.


Google hired a lot of grey/black hats and THEY ARE treated differently. All of these people from ADM,w00w00,gobbles,TESO.

And google does not care about real solutions (Grsec/PAX) and did not spend a dime on it. It's an evil hypocritical corporation.


I didn't agree with you at first.. but after thinking about it I think you're absolutely right.

Getting rejected from one interview at Google isn't the end of the world. The right and mature thing would have been to go home and figure out the problem that you got stuck on.. and then try again. We all go through this process, why should we expect anyone else to get a free pass?

I recently watched an online game of chess between a grandmaster and an anonymous individual.* The grandmaster got caught off guard and got lured into a trap. Instead of getting defensive, he sincerely thanked the other individual for a great game and spent the next few minutes after discussing the intricacies of the trap.

Shouldn't someone as accomplished as the creator of Homebrew feel the same way about a problem he got stumped on?

* https://www.youtube.com/watch?v=Voa9QwiBJwE&feature=youtu.be...


He applied for an iOS developer role.


They reached out to him - he mentioned it in a tweet, and they've skipped the phone interview . Also, he would not be the one writing the machine learning, search indexing, but rather the app itself. All of those would be handled by other non-ios developers.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: