And it's not that he interviewed and didn't get the job...they didn't even let him interview, not even the phone screen. That's pretty rough.
[1]https://github.com/jwasham/google-interview-university
[2]https://googleyasheck.com/presenting-at-code-fellows/
[3]https://googleyasheck.com/why-i-studied-full-time-for-8-mont...
Technical interviews should be more about doing due diligence over someone having the knowledge they say they have... not some sort of game people write books on how to train for it...
Yet they aren't, technical interviews are mostly bullshit CS questions which you barely use in day-to-day programming. And it isn't like CS knowledge is all you need to be a good programmer. Technical interviews are exactly what you say they are, a game.
And every game has rules that can be exploited. This guy's mistake was to try and completely break the game, which would have left Google with no alternative but to invent a different game.
The interview's supposed to, in theory, hint at future performance as an employee - too many intensive study guides used by too many candidates, and it'll just end up reflecting how much cramming the candidate did for the interview.
An applicant who is an expert on gaming their system is probably scary to allow into the system.
Body says: "Why didn't I get hired? I don't know why."
Real question to HN readers: Do you believe this type of inconsistency also affects writing code?
In other words... if a hiring manager notices this muddled writing in a blog post, is it fair to think the programming output will also be muddled? (e.g. function names, architecture, engineering the organization of microservices, code comments etc.?)
Or do you believe that the brain compartmentalizes and it's very easy to write disorganized prose simultaneously with organized code?
PS or even better "I didn't get hired by Google".
To your question - would this affect the author's code quality? Maybe, maybe not. They could be an absent-minded-professor-type who can easily do genius technical work, but misses things like this. However - Google looks for more than code quality.
I admit I do not look forward to the future when manpages will be titled "Top five sprintf format string length modifiers they don't want you to know; the last will shock you"
/* You won't believe the one weird trick this function uses to compute inverse square root */A common example would be business logic code polluting the "View" of MVC.
code reviewer: "Why are you retrieving the sales tax jurisdiction from the database and computing sales tax in the gui form?"
programmer: "Well, the form has the TOTAL amount displayed to the customer so it made sense to me to put that db-dependent code there."
code reviewer: "No, that's what the "Model" code is for. That's the "M" in "MVC".
programmer: "Oh, the model source code is where I update the GUI progress bar because that's where the state variable that keeps track rows processed is stored. "
"Fork is rather simple, once you get the hang of it, but the memory management can be a bitch. See 'mm/memory.c': 'copy_page_range()'"
https://github.com/torvalds/linux/blob/master/kernel/fork.c#...
I am genuinely curious to see his resume (I didn't see it on this site or his other blog). Again, I'd have to assume it was at least somewhat littered with references to his dream of working for Google (the GitHub repo gives that away, and maybe he linked to his blog).
His current LinkedIn profile starts with a Projects section (I'd have recommended a summary) and the first project listed is "Google Interview University", so I assume any recruiter vetting him would have immediately seen that, then noticed that his experience section starts with "in training for a software engineer interview, April 2016 - present", and then perhaps into the rabbit hole of all his posts.
This might be a case of someone "trying too hard/pandering" to one audience. If we take away the Google-related content on LinkedIn, we've got a guy who has 5 years of experience running what appears to be a light tech startup, ~ 15 years of demonstrated web dev experience, several Coursera courses, and an active GitHub.
If you only gave his GitHub 5 seconds (without opening any of the repos themselves), I'd think most recruiters would think he'd be worth at least a quick phone call. Maybe they dove in and didn't like what they saw.
More questions than answers on this one.
He lists himself as an 'Autodidact', I wonder if he has a BSc and if not, if that contributed to not getting a phone screen. If it did, thats pretty rough since he also lists 15 years of experience.
Also I'm very curious about this comment on the post:
Honest question: who told you to make this blog? Email me john@techcrunch.com
Not quite sure what he's implying by 'who told you', anyone know?
From: https://github.com/jwasham/google-interview-university
The entire blog just reeks of desperation and lack of confidence (or worse, misplaced confidence). I think that they flagged him before he ever applied.
With that said, I'm not surprised that he didn't get a phone interview. Even if Google knew about him, they might want to let people know that their interview process can't be gamed. If I was hiring, I might be concerned that someone who put in that much effort, might stall once they get hired. I want someone who has put that kind of effort not leading up to the interview, but over the years due to genuine curiosity due to love of computing and not because they want to get a job.
This makes no sense? Level up to what? CS degree level? Because correct me if I'm wrong, but the majority of interview questions are based on CS 101 (or the equivalent). So literally the first year. Guess it depends what kind of depth of knowledge you want/need. Again, if you're only doing it for interviews and not to go into CS research, don't think you need too much depth.
AFAIK, they actually send out a prep-sheet which recommends experience with not only big-O and simple algorithms, but knowing how search algorithms compare, dijkstra's algorithm, A*, graphs, trees, networks, http, combinatorics, etc.
I'm not sure which CS 101 you took, but to me that's not 101 stuff. They definitely expect a candidate to know nearly all of what you'd learn in an entire typical CS program.
(Not that I support the use of "how do you reverse a linked list using only one pointer?" type questions at all. It only encourages "cramming for the exam" vs. actually have a broad understanding of "why would I even need to do that?" and "what is the cost of stack space and could we allocate more?", etc.)
Experience - nope nope nope nope nope!
I'm sure everyone here can relate too - What you learnt in university was not as useful as real life experience (even when working on your own side projects).
While he spent his time (a lot of it too) on learning how to game Google's interview process, he didn't seem to consider experience at all :S (I mean, 8 months learning algorithms but not even a month working on some kind of portfolio showing off your work?)
I am not saying EVERY dev out there needs a portfolio, but he said he didn't have CS background/experience and this was his way of getting into Google, but without actual experience (note: NOT work experience, just experience in general), how does Google know he's up for it?
I applied only once at Facebook, and the whole process was a bliss. Constant flow of communication with my recruiter, very interesting interviews, and a relatively short time between the start of the process and the final result. It was really weird to see such a big difference between two big tech companies.
I know a few guys who did GSoC a few times, hired full-time, left for a start-up, rehired, left again for a start-up, rehired into Google X, left again for a start-up, and now has Google begging for him to come back again.
Google can identify talent, and will bend over backwards to retain that talent over time. This guy wasn't talent.
If you look at the about page, you'll see that he considers his main blog to be: https://startupnextdoor.com/
Is this his first time applying for a job or, you know, interacting with the world in any way?
They would be doing you a favour if they would tell you why you were rejected and give you advice moving forward. In this case they are just doing themselves a favour by not bothering to give you anything meaningful.
> but if you're good enough for Google, you'll eventually get in.
If you don't get in the first time, you might want to ask yourself: is Google good enough for you?
> Recruiters know what works, and what doesn't. So respect their decision and be polite.
A lot of recruiters are incredibly incompetent, they don't always know what works and what doesn't and they can just reject you due to their own incompetence. You should always be polite, because being rude rarely earns you any favours, not because the recruiters are always right, and you should feel sorry for them.
> There are a lot of places where I can strive for greatness and have that effort rewarded.
This is why you should never be hung up on one person from one big company rejecting you.
Large companies where you can learn a ton, and work with smart and motivated people, are filtering based on not entirely relevant CS trivia. They still have many viable candidates as anyone coming out of a university has four years where their job is explicitly to learn this stuff.
The stuff ends up being so esoteric, that rarely will these trainees actually be able to use this knowledge for their own programs (i'm open to counterexamples here). But the reward of going to work for say Google is so immense - both monetarily and in experience and connections, that students accept the cost of learning the wrong stuff for the future benefit, the job where you "actually start learning valuable knowledge"
The next level up in a career is looking for engineers with a proven history of being able to scale. Guess who that is: last year's hires, who got brought into an already working system.
This is the pattern we see in management of Fortune-500's and prestige banks. This has created a culture where you have to buy your way in the door with years of what a lot of people who actually do it, will admit is largely B.S. Again, this is not irrational though, because there is often a dramatic drop-off in quality of opportunities if you don't buy into the game.
So since everyone else is convinced (perhaps rightly so) that the real value doesn't come until you've been in an elite position, the effect is to erode all value in acquiring knowledge, skills and experience, in anything that doesn't neatly fit the filtering game.
In my own work I have to use the hyperloglog[1] algorithm pretty often. If I didn't know CS basics it would be a complete blackbox to me.
Or say someone is building a database and needs to make sure that chances of personally identifiable information getting released is minimized. He'll probably have to use some sort of differential privacy[2] algorithm. If someone has never encountered probability how would he even understand the requirements?
[1] https://en.wikipedia.org/wiki/HyperLogLog
[2] https://en.wikipedia.org/wiki/Differential_privacy#Formal_de...
Could we drill into hyperloglog and how you use it? Is it a bioinformatics app? Otherwise why are you using this approximation technique on modern hardware?
You can learn a lot in a year, but you can't create a CV containing a career that may look attractive.
(Google process is pretty much optimised to quickly discard applications)
I have no idea about how recruiters select profiles in Google, but maybe having an strong background as entrepreneur is a red flag ("he'll leave the company for his own project!"); or maybe the lack of bachelor degree... (or maybe pure ageism)
I can't say I agree, clearly spending that much time shows a lot of passion, but Google tends to have pretty harsh and silly selection process, where a silly small thing or mistake gets you rejected.
No CS degree and no CS background. I wonder why he wasn't chosen (and why HN dismiss Google interviews as silly games...).
It's like writing on Facebook that you feel miserable because a girl rejected you.
Just move on, kid.
Not that Google initiated this kind of cult in the first place, the spontaneous worship is a little overwhelming TBH.