Live data from Hacker News

Why I Don’t Talk to Google Recruiters

yegor256.com

491–500 of 674 posts

Re: Why I Don’t Talk to Google Recruiters

#491

Earlier quoted context omitted.

I don't have an open source example; I tend to actively avoid such projects, and so I tend to accumulate lists of the ones that seem well engineered rather than the opposite. The Quora app, though: If I'm writing a reasonably long answer and I delete a paragraph, it can take more than 10 seconds to complete. There's some profound inability to understand algorithms in there somewhere, I can guarantee it. There was jus…

Given that the Quora interview process is reputably difficult [0], and not lacking in algorithms questions [1][2], this is quite a puzzling situation. [0] https://www.quora.com/Which-companies-have-really-hard-algor... [1] https://www.quora.com/challenges [2] http://www.businessinsider.com/heres-the-test-you-have-to-pa...

I work at a "big 4" company that's also known for having difficult algorithms questions and I can confirm that sub-par developers still pass through. After talking to a lot of my friends in the industry, my theory is that most devs these days are basically just using sites like leetcode to train and memorize implementations of algorithms which end up being the same questions used by interviewers that use leetcode as a question bank.

I'm not against this type of training, I'm very familiar with and have competed in ACM ICPC, TopCoder, etc, but what I've noticed is that there seems to be a divide in the type of devs that are merely brute forcing and solving as many questions as possible in order to create their own solutions bank vs the ones who take a more structured approach of learning problem solving paradigms and algorithms/data structures in a way that enforces why they're used in the situations they are and how those can be adapted and composed to solve larger problems.

If you want horror stories... I've worked with a dev that didn't understand the concept of passing by value vs by reference. This was a person being paid 6 figures and has been writing code for cloud infrastructure with a fundamental misunderstanding of the underlying memory model. I've also had devs that didn't even know that an abstract data type like a map could be implemented with either a hash table or self balancing search tree and therefore no idea of when you should/can/can't use one or the other. This type of thing wouldn't really bother me if I was talking to a front end dev, since I imagine most of what they do is solve design problems, but it's very worrying when these are people working on the lowest layer of a public cloud infrastructure...

Re: Why I Don’t Talk to Google Recruiters

#492

Earlier quoted context omitted.

The notion that traversing a binary tree requires expertise in algorithms seems questionable to me. I view basic tree traversal as table stakes for a developer with more than a year or two of experience (IIRC, it's discussed in Intro to Algorithms in most CS curricula). OP says that his field is object-oriented design, which links to a page where he announces that "We've started work on a new programming language". T…

I agree, especially when designing programming languages that it's a bit weird to not know how to traverse a tree. There is one thing I want to point out though. Before starting my algorithms course I knew how to solve problems recursively. I had done project euler tasks and what not. I just never knew the words abstract syntax tree or binary search tree. I could guess what they were prior to the course but I didn't…

> Do you think that it's possible that a self taught engineer would know how to solve these problems given time and enough questions to the interviewer?

It's very easy for new interviewers to come up with problems that are easy for them (because they know the subject), but very difficult for the interviewee. Avoiding that is a priority for me, but I still strive to evaluate how the candidate approaches problems.

My strategy is to keep my questions as close to first-principles as possible, making the problem more about programming approach than algorithmic recollection. I had a Google interview once where they asked me to implement pivot tables, and I had to sheepishly ask: "What's a pivot table?" That set me back somewhat, and I try to avoid that in my own questions.

Re: Why I Don’t Talk to Google Recruiters

#493
post #479

Earlier quoted context omitted.

You must mean "some software projects" and not "frequently." In the 2000's and prior, it was common knowledge that the majority of software projects failed. Even if they succeeded on paper and shipped, they weren't actually used. By some estimates, it was something like 75% of software projects. If you look at the contents of "ecosystems" like Steam and the the various app stores, you'll see much the same. Most of th…

Do you have a citation supporting the claim that those failures were due to poor performance and not far more significant problems like failing to correctly model the actual business problem or handle changes? That era was dominated by waterfall development which is notoriously prone to failure due to the slow feedback loop. This is highly relevant because one not uncommon problem with highly-tuned algorithms is the…

Very large numbers of shovelware apps in the iPhone app store had the problems with crashing.

This is highly relevant because one not uncommon problem with highly-tuned algorithms is the greater cost of writing that faster code and then having to change it when you realize the design needs to be different

Can you give me a specific example of this? I'd say, give me a specific example, and most likely, I'll give you a reason why the software architecture of that example is stupid.

Re: Why I Don’t Talk to Google Recruiters

#494
post #410
post #172

Earlier quoted context omitted.

> I'd rather hire someone who knows exactly why it's O(n^2) "How do we satisfy unlimited wants with limited resources?" - economics to the rescue again. Everyone would love to hire Linus Torvalds for that matter, but there are plenty of programming jobs where you don't really need to, or don't want to, or can't spend that kind of money. There are plenty of useful, productive positions for people who aren't up on thei…

Everyone would love to hire Linus Torvalds for that matter Torvalds is very lucky to have found his niche because he is unemployable - the first sweary rant at a teammate and he'd be shown the door. Well except maybe at Uber.

I suspect you've got the cause and effect backwards. More likely, because he found that niche where he does not have to learn to moderate, he does not.

Re: Why I Don’t Talk to Google Recruiters

#495

There is no point in giving me binary-tree-traversing questions; I don't know those answers and will never be interested in learning them. Let's presume this is out of preference and not ability. It's a pretty basic concept. If your preference stops you from learning something as basic as this as a programmer, then it doesn't seem likely that you will be motivated to keep up with even more abstruse concepts. Nearly e…

> why adding to the end of an array that doubles when it expands is O(n) amortized Not to be overly nit-picky here, and technically O(n) is correct as well (it's also the un-amortized worst case of insertion), but you probably meant to say that the amortized time is O(1), or θ(1) to be even more precise :)

to be even more precise :)

Or, you should demonstrate the self awareness to realize that you're just playing with the ambiguity of English in a hastily written comment. Exercise: in what precise context would time/space complexity be O(n), and in what precise context would it be O(1)? (Though the emoticon is probably an indicator that you already knew all this.)

Re: Why I Don’t Talk to Google Recruiters

#496

Earlier quoted context omitted.

Details do not matter until they show up. Still take string concatenation as an example. Suppose you want to highlight some particular words while a user is actively typing characters in a dialog. If you naively concatenate every character, the user may have responsiveness issues or at least wastes CPU cycles/battery unnecessarily. Small cases like this add up in a big project. My conjecture is that a big fraction of…

I tend to run in to more critical issues than performance, like shipping the product/feature at all, meeting deadlines, writing maintainable code, and writing documentation. In your highlighting example, instead of working with someone who will optimize, I'd much rather work with the guy who will realize we can just debounce the dialog, write a one line comment about the performance issue, and then move on to the nex…

We didn't ship in time and I had to find a new job when the project got scrapped. Damned if it wasn't fast though.

Sounds more like a project management issue to me, than a problem with that coder.

Re: Why I Don’t Talk to Google Recruiters

#497

Earlier quoted context omitted.

> If your preference stops you from learning something as basic as this as a programmer, then it doesn't seem likely that you will be motivated to keep up with even more abstruse concepts. No one is arguing that there isn't any value in knowing CS. Rather, the argument basically is that for the vast majority of developers, studying algorithms is a net loss because it's time that could be better spent learning more va…

Rather, the argument basically is that for the vast majority of developers, studying algorithms is a net loss because it's time that could be better spent learning more valuable skills. But the op is basically implying that you don't even need the "cocktail party level familiarity." Knowing just enough first principles chemistry to know how CO2 and CO are produced can save your life. It's one thing to just know the r…

I'm curious to meet these devs that claim that even having a basic understanding of algorithms/data structures fundamentals is not worth their time. Something tells me that the work they do is more related to design/front end and as a consequence they've either never needed to use computer science fundamentals or have been able to get away with naive implementations due to working on trivial problems.

Usually I don't bother engaging in arguments with these people because I know that the standard algorithms interviews will weed these people out so that I never have to deal with them but I've started to notice a trend in more of these people finding their way into the "big 4" type companies and ending up on large scale/infrastructure projects where they end up making very critical mistakes, see https://news.ycombinator.com/item?id=13700452

Re: Why I Don’t Talk to Google Recruiters

#498

Google left a sour taste in my mouth after my first interview there. Recruiter was a mess. I had one phone interview with no coding questions. My resume could not be more clear that my best language was Python. Yet, every single question they said "use C, C++ or Java." It was very awkward and intimidating because although I knew those languages, I wasn't confident with them and the recruiter already knew this.

That's strange, none of my interviewers there had any objection to my using Python. This was a few years back; perhaps things have changed.

After I did my phone interview and study problems in Python, I was told when I got onsite for whiteboard problems that they really preferred C++ or Java. It was a little late for me to switch mindsets day-of, didn't get enough recommendations to hire.

Re: Why I Don’t Talk to Google Recruiters

#499

Earlier quoted context omitted.

You've hit on a truth here. Most of the jobs available through recruiters are what I like to call "dog jobs". The ones that aren't filled internally and don't instantly get a line of top candidates because they are so good or pay so well--the ones that NEED someone to sell them. Those are the jobs that are available on job boards and that recruiters and are trying to fill--not the awesome ones. Think about it like th…

> The rest are the "dog properties" that go on the MLS and need heavy marketing to sell. That's... a strange way to look at the housing market. The norm is to list your property and then see what bids you get. Putting your house on the market is not some weird trick to pass a crappy house on to a bunch of rubes, or am I misunderstanding you? Like, how do you reliably find a willing buyer pre-listing, and how do you k…

The point is that the best homes(top 10%) rarely need to go on the market.

The hotter the market, the more realtors know buyers willing to pay a lot for the first home that meets all their needs. Hence more homes are sold before listed.

Re: Why I Don’t Talk to Google Recruiters

#500

Better than my emails from new clients: "Head office called last week. We need X but have no idea what X means. We asked Bill to look into it but after a day his eyes started bleeding. Help!" ( Im an attorney doing privacy and compliance work. I've never been given a night in a 5-star by any current or potential client. )

As a preface for working at Amazon, that 5 star hotel is like a condemned prisoner's choice of meal.

The military has put me up in some rather nice on-base hotels a few times. And they send a driver to pick me up in the morning. Id take a free meal at the chow hall over the breakfast buffet at most 5-stars.
Post reply on HN