News for hackers. Stuff that matters.
Re:I interviewed at six top companies in Silicon Valley in s... by odorousrex on Friday January 18, 2019 @04:15PM (#18943168)
I cannot help but think that these big tech companies (FAANG, et. al) are missing out on diversifying and increasing their engineering expertise by passing over developers like you.

I often think what would Google/Facebook would be like if they hired in some experienced engineers that may not be able to whiteboard a BFS tree or can tell you Djikstra's algorithm, but have proven business track records of getting projects done, on budget, and on time. Real, pragmatic, get-it-done types of engineers. (That's not to say whiteboard expert engineers can't also be this way - it's just that whiteboard interviews don't hire for this in particular - technical expertise comes first)

There was an excellent comment on another thread yesterday (that I can't find) that basically said something along the lines of "If I'm asked about BFS trees in an interview I'm going to tell them I'm just going to google a library that can handle it - I've got more important work to get done"

Re:I interviewed at six top companies in Silicon Valley in s... by andrewla on Friday January 18, 2019 @04:36PM (#18943345)
The technical interviewing scheme is not great, but I haven't seen another system that works.

> I cannot help but think that these big tech companies (FAANG, et. al) are missing out on diversifying and increasing their engineering expertise by passing over developers like you.

I think this is certainly true.

> I often think what would Google/Facebook would be like if they hired in some experienced engineers that may not be able to whiteboard a BFS tree or can tell you Djikstra's algorithm, but have proven business track records of getting projects done, on budget, and on time.

Well... how do we find these people? By looking at their resumes where they claim this? By contacting references who will attest to it? By trusting the intuition of subjective evaluators of the candidates?

Practically speaking, FAANG companies do hire such individuals, they just do it through acqui-hires. If a person works at a company that is good enough to be worth acquiring, then we have a good signal that they are effective employees even absent a direct evaluation of their technical abilities.

Re:I interviewed at six top companies in Silicon Valley in s... by sigstoat on Friday January 18, 2019 @04:56PM (#18943494)
> Practically speaking, FAANG companies do hire such individuals, they just do it through acqui-hires.

there's a huge pool of employees that are in companies which aren't potential acquisition targets.

> Well... how do we find these people? By looking at their resumes where they claim this? By contacting references who will attest to it?

internal references? if you've got a couple of internal folks who are doing good work, and they all worked with and vouch for old bob, maybe that's better than anything you're going to find out from <8 hours of whiteboard scribblings?

> By trusting the intuition of subjective evaluators of the candidates?

even the faintest whiff of implication that FAANG interviews might not be subjective is hilarious.

Re:I interviewed at six top companies in Silicon Valley in s... by swozey on Friday January 18, 2019 @05:18PM (#18943624)
I've had internal referrals at a few FAANG myself, I have one of the "unique" (no degree, some high school, ops/coding since 12 so about 15 years on/off) backgrounds and the people who referred me would be on the team that I'd be joining and all seemed incredibly excited to get me on board. I work on FOSS projects with them already.

At each place it was people from other teams completely unrelated to that team who interviewed (or would interview) me and eventually turned into a decision panel where everything about me would be considered by these people who really knew nothing of my character/skills aside from the resume and white boarding.

Between that and the amount of times I heard "Stanford" tossed around in a way that put down other schools (while not having a degree at all myself) I decided to give up on ever working at any of these places without being an acquihire. It just seems like a far fetched pipe-dream and I'd never check the required boxes that they expect for someone to sit in the same building with them. And honestly, none of that sat well with me.

It was an interesting time and I got to finally experience SV and realized it's likely not a place for someone like me.

Re:I interviewed at six top companies in Silicon Valley in s... by rifung on Friday January 18, 2019 @07:26PM (#18944391)
I work for Google, opinions are my own.

First of all it sounds like your interview experience was unpleasant so if this was at Google I apologize.

Secondly, I can totally relate to feeling like I don't belong having also come from a nontraditional background (No college degree).

> At each place it was people from other teams completely unrelated to that team who interviewed (or would interview) me and eventually turned into a decision panel where everything about me would be considered by these people who really knew nothing of my character/skills aside from the resume and white boarding.

This sounds similar to what we do at Google; people who know you actually aren't allowed to interview you because they will be biased. We try to make the interview as objective as possible. Note that information from anyone who knows you or referred you will be shown to the hiring committee though so it's not as though that feedback is not used.

> Between that and the amount of times I heard "Stanford" tossed around in a way that put down other schools (while not having a degree at all myself) I decided to give up on ever working at any of these places without being an acquihire. It just seems like a far fetched pipe-dream and I'd never check the required boxes that they expect for someone to sit in the same building with them. And honestly, none of that sat well with me.

I understand why you feel this way but that's definitely not true! I don't think you necessarily should want to work in FAANG but I strongly think you should believe you are capable.

Re:I interviewed at six top companies in Silicon Valley in s... by JimboOmega on Friday January 18, 2019 @06:10PM (#18944016)
One of my recent FAANG interviews was ENTIRELY whiteboarding. It kind of shocked me.

It's weird that it's that skill, and only that skill, that gets evaluated. I did another interview at a different one where there was at least a design interview (though I flubbed it and wound up being incoherent).

It really feels like they aren't even trying to evaluate anything other than whiteboard coding. Accepting that it's not a great signal and yet fully investing in it.

It's such a weird skill and it's so easy to perform badly; I'd be kind of shocked if the test/retest validity wasn't very low.

Also... I mentioned that working on teams with other women was important to me... but every technical onsite I've had has been given by a man. They've pitched teams led by women, and my HR/recruiting contacts have been nearly all women. But for the interview itself? All men.

Re:I interviewed at six top companies in Silicon Valley in s... by ageek123 on Saturday January 19, 2019 @04:25AM (#18946146)
Trust me, companies would love to have at least one woman on every interview slate, and not just for women candidates. The problem is that the ratio of women engineers at the FAANG companies is such that this would put an incredibly unfair burden on women engineers. They would have to spend all of their time interviewing, or at the very least a disproportionate amount of time.
Re:I interviewed at six top companies in Silicon Valley in s... by quanticle on Saturday January 26, 2019 @05:11PM (#19008855)
>I'd be kind of shocked if the test/retest validity wasn't very low.

It's absolutely very low, and they're okay with that. One of the things recruiters at these companies will tell you if you get rejected is some variant of, "Don't worry, you can always try next year." These companies fully understand that they're rejecting good engineers. They don't care, because, historically, the number of engineers applying has been so high that they could reject 75% of the good engineers and still have enough to fill their headcount.

We'll see how that attitude towards interviewing changes when high Bay Area/Seattle housing prices make it more difficult for them to recruit.

Re:I interviewed at six top companies in Silicon Valley in s... by scarejunba on Friday January 18, 2019 @05:20PM (#18943653)
> internal references? if you've got a couple of internal folks who are doing good work, and they all worked with and vouch for old bob, maybe that's better than anything you're going to find out from <8 hours of whiteboard scribblings?

At big companies this is hard to scale because you have to protect against nepotism at the top layer. This forces policies protecting against the bad outcome.

At small companies this does happen.

Re:I interviewed at six top companies in Silicon Valley in s... by wolco on Friday January 18, 2019 @05:58PM (#18943920)
Provided references are at the core the worst way to judge if someone can do the job and the laziest way. If you want to rely on references you have to get them yourself through background check or the risk of gamification is huge.

Get a sense of the projects they have worked on if those skills relate to the position. Make a decision based on that.

Random coding tests, whiteboarding, buzzword dropping are only helpful to a point.

Re:I interviewed at six top companies in Silicon Valley in s... by hluska on Friday January 18, 2019 @06:14PM (#18944036)
Good points - provided references are shit, simply because they can be gamed. If you work for me and I dislike you but don't have the courage to pull out the fire hammer, I can give you a great reference. If I really like you because you're extremely good (and make me look good), I can give you a horrible reference and hold onto you.

However, OP was talking about internal references. This would be a situation where I work at Company A, but I know you and trust your work. Therefore, I refer you to Company A, big up you a little and suggest that they pursue hiring you.

The difference is that if you suck, it reflects poorly on me (and quite likely kills my dreams of upward mobility). Normal provides references don't have the same motive to be truthful!

Re:I interviewed at six top companies in Silicon Valley in s... by yowlingcat on Friday January 18, 2019 @10:18PM (#18945107)
What? Is this just conjecture? If you give a bad reference to an employee you are directly putting you and the company in harm's way in terms of litigation. Usually, you just don't give a reference other than confirming tenure existence and duration if you won't go into positive detail.
Re:I interviewed at six top companies in Silicon Valley in s... by hluska on Saturday January 19, 2019 @12:47PM (#18948145)
That's a textbook answer, but in actual practice, the probability of litigation is extremely low.
Re:I interviewed at six top companies in Silicon Valley in s... by mav3rick on Friday January 18, 2019 @04:57PM (#18943500)
Many acqui hires get interviewed again. Most acqui hires are a business deal for the company's business.
Re:I interviewed at six top companies in Silicon Valley in s... by mercutio2 on Friday January 18, 2019 @09:44PM (#18944997)
Does any other company than Google interview acqui-hires?

I’ve never heard of any other company doing this, but I haven’t been looking especially carefully.

Re:I interviewed at six top companies in Silicon Valley in s... by xyzzy_plugh on Saturday January 19, 2019 @03:26AM (#18945973)
Every company I've worked for interviews acquihires.

From FAANG, to start ups, to established traditional engineering companies.

Re:I interviewed at six top companies in Silicon Valley in s... by mercutio2 on Sunday January 20, 2019 @11:14PM (#18957575)
Which of the FAANG specifically have you experienced acquihire technical interviews at?

Just curious, because again, I’ve only ever heard this from friends that got bought by Google. I’m not saying others don’t, just haven’t heard of it from folks getting acquired at other places.

Re:I interviewed at six top companies in Silicon Valley in s... by vonmoltke on Saturday January 19, 2019 @12:30PM (#18948049)
How is it an acquihire if the company is interviewing all the talent they acquired anyway?
Re:I interviewed at six top companies in Silicon Valley in s... by xyzzy_plugh on Saturday January 19, 2019 @05:10PM (#18949508)
- You are getting paid to interview

- If they decline, you usually get a very generous severence package

- While sometimes technical, there is usually significantly evidence of your abilities from the acquired company's records.

- In my experience it's usually a cultural test more than any other.

- Interviewing is part of the evaluation. If the hiring company thinks everyone is grossly incompetent they can reevaluate the acquisition or call it off entirely.

Re:I interviewed at six top companies in Silicon Valley in s... by mav3rick on Saturday January 19, 2019 @05:10PM (#18949506)
Not all of it, but some of the force does to ensure that they meet the bar of the hiring company and also to get calibrated in the eng ladder.
Re:I interviewed at six top companies in Silicon Valley in s... by yonibot on Friday January 18, 2019 @05:22PM (#18943663)
This is correct.
Re:I interviewed at six top companies in Silicon Valley in s... by dom96 on Friday January 18, 2019 @06:07PM (#18943993)
> Well... how do we find these people? By looking at their resumes where they claim this? By contacting references who will attest to it? By trusting the intuition of subjective evaluators of the candidates?

While not perfect I wonder if a person's projects are a good signal for this. There certainly are those who have developed a significant open source project but who get rejected by the FAANG companies, the author of Homebrew being a recent infamous example.

Re:I interviewed at six top companies in Silicon Valley in s... by jd20 on Friday January 18, 2019 @06:31PM (#18944129)
One unfortunate side effect of being at a FAANG company is that most of your best work is probably proprietary and you will never have the chance to show it to anyone outside the company, nor will you have much free time for personal projects.

As an interviewer, I can definitely say that GitHub has become a bigger part of helping to evaluate people.

Re:I interviewed at six top companies in Silicon Valley in s... by saagarjha on Friday January 18, 2019 @07:40PM (#18944470)
> As an interviewer, I can definitely say that GitHub has become a bigger part of helping to evaluate people.

Many people can’t work on open source, either due to a lack of time or corporate policy.

Re:I interviewed at six top companies in Silicon Valley in s... by QML on Friday January 18, 2019 @09:16PM (#18944884)
Every time the interview story of the guy behind Homebrew gets brought up, there’s the reminder that he interviewed for a software engineering position while he would’ve been better suited for a product manager position — he also mentions this as such.
Re:I interviewed at six top companies in Silicon Valley in s... by ummonk on Friday January 18, 2019 @11:42PM (#18945373)
The author of Homebrew was rejected for software engineering at Google, which was perfectly reasonable given what he has said about his own skills. He has demonstrated very good product management aptitude on the other hand; it would be far more concerning if he were rejected from a PM role.
Re:I interviewed at six top companies in Silicon Valley in s... by hello_moto on Saturday January 19, 2019 @02:27AM (#18945815)
> he has demonstrated very good product management aptitude on the other hand

Not to diminish his accomplishment... he could be a good candidate for PM but his tool is more of a dev-tool (so I suppose this is a niche-ish?)

Re:I interviewed at six top companies in Silicon Valley in s... by erik_seaberg on Friday January 18, 2019 @06:25PM (#18944095)
In Howell's own words from https://www.quora.com/Whats-the-logic-behind-Google-rejectin...:

> I wrote a simple package manager. Anyone could write one. And in fact mine is pretty bad. It doesn't do dependency management properly. It doesn’t handle edge case behavior well. It isn’t well tested.

Re:I interviewed at six top companies in Silicon Valley in s... by Pharmakon on Friday January 18, 2019 @06:31PM (#18944123)
From later in his same post...

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.

Re:I interviewed at six top companies in Silicon Valley in s... by mullingitover on Saturday January 19, 2019 @02:58AM (#18945910)
> I am often difficult, I often don’t know computer science, but. BUT. I make really good things

Having worked with people who are dicks but make really good things...I wouldn't want him on my team either. There are plenty of people who make really good things and aren't dicks.

Re:I interviewed at six top companies in Silicon Valley in s... by torgian on Saturday January 19, 2019 @03:57AM (#18946075)
Gotta agree. People sometimes underestimate the power of actually getting along with others!
Re:I interviewed at six top companies in Silicon Valley in s... by saagarjha on Friday January 18, 2019 @07:32PM (#18944415)
> There certainly are those who have developed a significant open source project but who get rejected by the FAANG companies, the author of Homebrew being a recent infamous example.

It’s always possible that Google felt he wasn’t what they needed. And keep in mind that Howell ended up being hired by Apple and working there for a while.

Re:I interviewed at six top companies in Silicon Valley in s... by nategri on Friday January 18, 2019 @06:03PM (#18943961)
>By looking at their resumes where they claim this? By contacting references who will attest to it? By trusting the intuition of subjective evaluators of the candidates?

I mean... Yes?

This system, backed by "trusted recommenders" is exactly what academia uses, and they seem perfectly capable of discovering Higgs Bosons and whatnot.

Re:I interviewed at six top companies in Silicon Valley in s... by saagarjha on Friday January 18, 2019 @07:37PM (#18944454)
They physics communinity does not seem to have the issue of being able to judge merit from resumes. When you see a physics PhD with a list of academic references, chances are that the person knows what they are doing; with computer science it’s somehow likely that the person might not know their way around the command line or when using an array might be a bad idea…
Re:I interviewed at six top companies in Silicon Valley in s... by SomewhatLikely on Saturday January 19, 2019 @12:30PM (#18948045)
Ironic example, as the guy who theorized the Higgs Boson originally doesn't think he'd be productive enough for today's environment. https://www.theguardian.com/science/2013/dec/06/peter-higgs-...
Re:I interviewed at six top companies in Silicon Valley in s... by mav3rick on Friday January 18, 2019 @06:10PM (#18944017)
"intuition of subjective evaluators of the candidates"

This is inherently biased and proven to be the worst way to hire people.

Re:I interviewed at six top companies in Silicon Valley in s... by donaldknuth123 on Friday January 18, 2019 @05:02PM (#18943527)
>The technical interviewing scheme is not great, but I haven't seen another system that works.

I would argue that pair programming or take home projects do a far better job than the standard Whiteboard Algo interviews. In fact I don't think it's even close but SV engineers have been captured by this Whiteboard Interview Stockholm Syndrome/Hazing and continue to perpetuate the insane idea that there is no better way.

Re:I interviewed at six top companies in Silicon Valley in s... by mav3rick on Friday January 18, 2019 @06:11PM (#18944022)
Many people on HN also complain about "I don't have time for pair programming, take home". They don't like interviews. People just expect to be paid top dollar on their word.
Re:I interviewed at six top companies in Silicon Valley in s... by vonmoltke on Friday January 18, 2019 @09:25PM (#18944920)
> Many people on HN also complain about "I don't have time for pair programming

How does one not have time for pair programming? It's the exact same time commitment, from both the interviewer and interviewee, as a whiteboarding session. It's just a different format for the interview.

Re:I interviewed at six top companies in Silicon Valley in s... by yowlingcat on Friday January 18, 2019 @10:52PM (#18945226)
This is probably the only part I'll give you as far as your comments on this thread, but even this is inane and you're projecting. First of all, the problems with take home tests are the time commitment, which I can understand with the caveat that you do a lengthy pair programming exercise in person. I haven't heard that many complaints about pair programming, but I'm sure I exist so I'll give you that.

I don't think it's the case that people don't like interviews. I think you're making a strawman. I'm not going to go and say that you're part of the cycle of SV engineer being hazed, reproducing it and exhibiting a sunken cost fallacy/bias towards the way you've done it, but it's possible. I don't think this is the ideal way to interview.

What's more, I've been seeing actual improvement on the state of the art in this area. Platforms like Karat et al (not sure if Karat is the best in this area but I did have a good experience with a company that used them and interviewed me well) are actually incentivized to minimize false positives and negatives rather than just one. You might be surprised at how much better a good technical interviewer can be than an average strong engineer.

Re:I interviewed at six top companies in Silicon Valley in s... by mav3rick on Saturday January 19, 2019 @12:20AM (#18945484)
Please provide a rebuttal on the comments individually if you care to disagree. This comment was just alluding that any technique is ever good enough for HN. People just want word of mouth and their resumes to be enough. That doesn't work when resumes lie.
Re:I interviewed at six top companies in Silicon Valley in s... by idontpost on Friday January 18, 2019 @06:34PM (#18944145)
> People just expect to be paid top dollar on their word.

And their education, previous employment, etc.

No one makes a neuro-surgeon perform a surgery before hiring them.

Re:I interviewed at six top companies in Silicon Valley in s... by jedberg on Friday January 18, 2019 @07:29PM (#18944402)
> No one makes a neuro-surgeon perform a surgery before hiring them.

True, but I also know that a neurosurgeon graduated from an accredited school, did an internship at an accredited hospital, and then passed a standardized licensing exam.

If we had that for engineers we wouldn't need to test their skills either.

When I was doing hiring, I would see resumes of people with 10+ years of experience who couldn't write a simple loop in their favorite language. If you've been coding for 10 years, you should be able to write a simple loop. That's the problem we're solving for here.

Re:I interviewed at six top companies in Silicon Valley in s... by fma on Friday January 18, 2019 @11:25PM (#18945325)
An engineer that did 4 years of college at an accredited engineering school isn't enough?

What you are asking for, is a surgeon to retake the boards every time they change hospitals. Or a licensed professional engineer to retake the PE exam everytime they change jobs.

The algorithms asked in interviews are rarely implemented in a job. All they prove is how much you studied and the author of the article proves that.

What our industry is missing, IMHO is required certification and training. Doctors and nurses have yearly training and related exams to keep their certification. That's why a hospital can hire staff based on a license...Not becsuse the items you mentioned. But our industry would never go that route, which is a longer rant.

Also if peope who can't write for loops are passing your phone screen... You might want to update your phone screen.

Re:I interviewed at six top companies in Silicon Valley in s... by anticensor on Saturday January 19, 2019 @02:34AM (#18945837)
> Or a licensed professional engineer to retake the PE exam everytime they change jobs.

Yes, just as you retake your driving exams every five years, you should retake your engineering exams (unless you are an accredited engineering instructor, in which case the license becomes permanent) every ten years.

Re:I interviewed at six top companies in Silicon Valley in s... by vonmoltke on Saturday January 19, 2019 @12:35PM (#18948079)
> just as you retake your driving exams every five years

Uhh... I haven't taken a driving test in 17 years (and two states ago, to boot).

Re:I interviewed at six top companies in Silicon Valley in s... by nvarsj on Saturday January 19, 2019 @07:55AM (#18946798)
> When I was doing hiring, I would see resumes of people with 10+ years of experience who couldn't write a simple loop in their favorite language. If you've been coding for 10 years, you should be able to write a simple loop. That's the problem we're solving for here.

While I agree with this, the FAANG interviews take it too far. Simple fizzbuzz is enough to weed out these completely incompetent engineers. If they pass that, accomplishments and experience are going to be a much better indicator of engineering ability imo.

Re:I interviewed at six top companies in Silicon Valley in s... by xur17 on Friday January 18, 2019 @08:24PM (#18944657)
> If you've been coding for 10 years, you should be able to write a simple loop. That's the problem we're solving for here.

That's the problem some interviews solve for. FAANG interviews take it to another level.

Re:I interviewed at six top companies in Silicon Valley in s... by hello_moto on Saturday January 19, 2019 @04:04AM (#18946100)
When everybody can solve a simple loop, a base bar, then the bar has to be raised.

The bar is being raised all the time as much as it is painful and hard for me to see/experience this :(.

Re:I interviewed at six top companies in Silicon Valley in s... by vonmoltke on Friday January 18, 2019 @09:27PM (#18944927)
> If we had that for engineers we wouldn't need to test their skills either.

We have that for "real" engineers. Doesn't stop many of them from being atrocious at their job. Doesn't stop doctors either, for that matter.

Re:I interviewed at six top companies in Silicon Valley in s... by dragonwriter on Saturday January 19, 2019 @12:06AM (#18945443)
> True, but I also know that a neurosurgeon graduated from an accredited school, did an internship at an accredited hospital, and then passed a standardized licensing exam.

...and meets ongoing continuing education requirements.

> If we had that for engineers we wouldn't need to test their skills either.

We do have that for professional engineers.

We don't have it for people working in software whose job titles have become (but largely weren't for similar roles a few decades ago) "engineer".

Re:I interviewed at six top companies in Silicon Valley in s... by vonmoltke on Saturday January 19, 2019 @12:38PM (#18948094)
> ...and meets ongoing continuing education requirements.

Which are a joke. Attending conferences and weekend workshops take care of this.

Re:I interviewed at six top companies in Silicon Valley in s... by dragonwriter on Saturday January 19, 2019 @05:16PM (#18949530)
> Which are a joke

Sure, professional licensing provides fairly weak guarantees, but it's more than exist in software, hence FizzBuzz.

Re:I interviewed at six top companies in Silicon Valley in s... by idontpost on Friday January 18, 2019 @08:19PM (#18944637)
> If we had that for engineers we wouldn't need to test their skills either.

I think we will, eventually. Other fields of engineering already do, of course. Software is new and not that many people have been killed by bad software (unlike bad buildings), but I think we'll get there.

Re:I interviewed at six top companies in Silicon Valley in s... by saagarjha on Friday January 18, 2019 @07:41PM (#18944483)
> And their education, previous employment, etc.

Unfortunately, this seems to be poorly correlated with whether people can actually code.

Re:I interviewed at six top companies in Silicon Valley in s... by monort on Saturday January 19, 2019 @05:14AM (#18946286)
Actually it seems like motor skills are a part of neuro-surgeon evaluation - https://www.bmj.com/content/355/bmj.i5976

There is also an experimental virtual surgery simulator for objective evaluation - https://www.ncbi.nlm.nih.gov/pubmed/26153114

Re:I interviewed at six top companies in Silicon Valley in s... by jogjayr on Saturday January 19, 2019 @11:05AM (#18947646)
> I would argue that pair programming

Google allows you to write code on a Chromebook instead of a whiteboard (don't know if it's for everyone or some people). Is that pair programming? Or do you mean actually working with your preferred IDE/text editor, terminal, browser to look stuff up?

Re:I interviewed at six top companies in Silicon Valley in s... by xfer on Friday January 18, 2019 @04:51PM (#18943456)
These processes are optimized to reduce false positives not false negatives. So they already know that they might be missing on some great developers.
Re:I interviewed at six top companies in Silicon Valley in s... by theptip on Friday January 18, 2019 @06:14PM (#18944035)
This is the correct explanation; false positives are so much more expensive than the opportunity cost of a false negative.
Re:I interviewed at six top companies in Silicon Valley in s... by ashelmire on Friday January 18, 2019 @06:36PM (#18944154)
You think people that pass technical interviews can’t be false positives?

I think they weed out a few, but completely ignore practical development skills, work ethic, soft skills, design and architecture skills, etc.

Of course maybe this explains why most of the big tech companies have seemed pretty stagnant for the last decade, largely failing with products and decisions that have poor execution and market fit outside of the products that made them big in the first place.

Has anyone actually studied the best way to hire devs? Like a real, independent study that measured and compared results across, perhaps, a wide array of metrics?

Re:I interviewed at six top companies in Silicon Valley in s... by rifung on Friday January 18, 2019 @07:30PM (#18944407)
> Has anyone actually studied the best way to hire devs? Like a real, independent study that measured and compared results across, perhaps, a wide array of metrics?

I don't know how you would ever strive to do such a thing when people can't even agree how to measure productivity.

> Of course maybe this explains why most of the big tech companies have seemed pretty stagnant for the last decade, largely failing with products and decisions that have poor execution and market fit outside of the products that made them big in the first place.

In most large companies these things have nothing to do with programmers; the decisions are made by management and products are designed by PMs. Hell, you can't even necessarily blame buggy products on programmers: I've been on projects where everyone realizes things suck but if you don't get funding or agreement to work on infrastructure projects what can you do?

Re:I interviewed at six top companies in Silicon Valley in s... by saagarjha on Friday January 18, 2019 @07:45PM (#18944497)
> I think they weed out a few, but completely ignore practical development skills, work ethic, soft skills, design and architecture skills, etc.

This is the whole point of the non-coding portion of the interview, and while it’s not possible to get a full picture of this in the short amount of time allotted, it is generally enough to throw out the obvious ones.

> maybe this explains why most of the big tech companies have seemed pretty stagnant for the last decade, largely failing with products and decisions that have poor execution and market fit outside of the products that made them big in the first place

I think this is unrelated to hiring and more a result of corporate policy.

Re:I interviewed at six top companies in Silicon Valley in s... by morgante on Friday January 18, 2019 @08:57PM (#18944794)
> I think they weed out a few, but completely ignore practical development skills, work ethic, soft skills, design and architecture skills, etc.

Tech interviews are not solely whiteboarding. Even at FAANGs there are system design and hiring manager interviews designed to ask about those sorts of things.

Re:I interviewed at six top companies in Silicon Valley in s... by malvosenior on Friday January 18, 2019 @06:30PM (#18944120)
People always say this, but is it true? It’s easy to fire someone. It’s really hard to find someone who can ship (something you won’t get from a whiteboarding challenge).
Re:I interviewed at six top companies in Silicon Valley in s... by rockinghigh on Friday January 18, 2019 @10:31PM (#18945147)
Engineers who don’t perform well for extended periods of time tend to drain resources from the rest of the team. They require active management; laborious code reviews, they also introduce more bugs and contribute to less robust designs. As for firing, it is a painful process for a manager as it comes with a variety of liabilities and HR involvement.
Re:I interviewed at six top companies in Silicon Valley in s... by etse on Friday January 18, 2019 @08:01PM (#18944567)
Seems costly to fire, not just because of HR and management process overhead. People are trying to build successful teams, and regular firings distract from goals, ruin morale, and create an unsafe environment.
Re:I interviewed at six top companies in Silicon Valley in s... by vonmoltke on Friday January 18, 2019 @09:39PM (#18944973)
Regular firings imply a pretty bad hiring process. There's a spectrum between "regularly fire bad hires" and "regularly reject good hires".

Also, what evidence is there that these high-false-negative practices are actually reducing false positives by a significant degree? In these kind of threads I read the same arguments and assertions, with the same lack of evidence, as I hear from people trying to defend airport security theater. I should start calling these practices "interview theater".

Re:I interviewed at six top companies in Silicon Valley in s... by theptip on Monday January 21, 2019 @05:21PM (#18964182)
> is it true?

In my experience (hired 10 engineers), yes.

It's technically easy to fire people, but it's emotionally draining on the team and on the manager in particular. Every time you fire someone, the team's morale takes a hit, and if you were firing people often, folks would begin to feel insecure and you'd struggle to keep good engineers.

Smart, good people want to work with other smart, good people. If you're constantly bringing in bad hires (even if you later fire them) then your good engineers will get fed up and leave.

The net value of a bad hire can easily be negative, if you consider the high onboarding costs to get a new engineer ramped up and trained. (Of course, the very best engineers basically sit down and start coding as well as your existing good engineers, but these true outliers are by definition uncommon). Not to mention the cost of the bugs and rework that bad hires produce.

If you use a recruiter, you're typically paying a large fee that you can get refunded after N months (details vary, 3 seems common), so you'd have to be making your assessment in the first N months; that's a lot better than trying to make an opinion on the first day, so if all of the above wasn't true, in the abstract, it would be great to be able to hire aggressively and fire likewise. However, good engineers balk at the concept of a "trial hire"; understandably, as personally I'd refuse to work somewhere that didn't have conviction that they wanted to keep me.

I imagine the relative significance of these points varies between companies and stages; all of these points are from early-stage (<25 person company) startup life; YMMV.

> (something you won’t get from a whiteboarding challenge).

I agree with this point, though I think it's orthogonal to the question of false positive vs. false negative cost optimization.

Re:I interviewed at six top companies in Silicon Valley in s... by ummonk on Friday January 18, 2019 @11:57PM (#18945411)
Sure, but then they shouldn't turn around and constantly keep complaining about a shortage of tech talent.
Re:I interviewed at six top companies in Silicon Valley in s... by kokokokoko on Friday January 18, 2019 @05:09PM (#18943574)
It's because they are basically just testing IQ. It's not actually programming knowledge they care about. If a person has a CS/EE degree and has been professionally programming for a few years they probably have enough domain knowledge regardless. Then the rest of the interview is testing soft skills.
Re:I interviewed at six top companies in Silicon Valley in s... by rhexs on Friday January 18, 2019 @05:13PM (#18943603)
I think it’s exactly that, willingness to conform, and a very effective filter on age.

I know Google does a lot of metrics on hiring. Have they correlated their practice with IQ anywhere? Guessing nothing public as that would trigger a firestorm.

At the end of the day it’s just the cognitive elite trying to hire the cognitive elite.

Re:I interviewed at six top companies in Silicon Valley in s... by jammygit on Friday January 18, 2019 @07:49PM (#18944519)
They used to interview using the kind of brainteasers found in books like the ones Mensa used to make. The algorithms approach, I suspect, is just a CS proxy for an IQ test just like their old approach was. It would also filter for youth, which they semi-openly advertise as well (see chess literature on brain age for what I mean).

Conformance too (due to the prep time)

Re:I interviewed at six top companies in Silicon Valley in s... by opportune on Friday January 18, 2019 @08:04PM (#18944576)
This is because it's actually not allowed to use IQ tests as a screening mechanism for most jobs (you need a valid reason and "software engineer" probably isn't good enough to justify the liability). By using algo questions they can select for something that might correlate very well with IQ, that also makes sure the candidate has real coding knowledge, and which has much less liability
Re:I interviewed at six top companies in Silicon Valley in s... by stale2002 on Friday January 18, 2019 @10:48PM (#18945214)
Uhhh, no. They are absolutely not testing IQ.

It is instead the opposite. These companies are testing the quality of "who has practiced the most for these types of questions".

It has nothing to do with intelligence. It is instead almost directly correlated with how much time you have spent practicing interview questions.

Re:I interviewed at six top companies in Silicon Valley in s... by matz1 on Friday January 18, 2019 @04:57PM (#18943498)
These company simply want the best of the best. They want people who can whiteboard BFS tree AND also have proven business track records, yada yada. Not just either one of this.
Re:I interviewed at six top companies in Silicon Valley in s... by FranzFerdiNaN on Friday January 18, 2019 @05:33PM (#18943748)
Shame they only test for one of those though. So I doubt they want the best. They want people who can pass arbitrary interviews.
Re:I interviewed at six top companies in Silicon Valley in s... by thefourthchime on Friday January 18, 2019 @04:47PM (#18943429)
I think companies are trying to find superheros. I would say maybe 5% of the people I've worked with are worlds smarter and more productive than the average programmer (like me).

Those people generally also do well on those whiteboard questions.

Re:I interviewed at six top companies in Silicon Valley in s... by nostromo95 on Friday January 18, 2019 @09:52PM (#18945033)
Have you considered that there are enough people who can both whiteboard a BFS tree and get stuff done that Google doesn’t need to hire people who can do the latter but not the former?
Re:I interviewed at six top companies in Silicon Valley in s... by creato on Saturday January 19, 2019 @04:31AM (#18946161)
> I often think what would Google/Facebook would be like if they hired in some experienced engineers that may not be able to whiteboard a BFS tree or can tell you Djikstra's algorithm

I think this happens less than people think. I've been at two big tech companies and interviewed people while at both (and obviously was interviewed myself).

I think what trips people up is that many questions have solutions that are given by "named" CS algorithms like the ones you listed, but also have simpler solutions that are fine too. And honestly, candidates that invoke named algorithms and (maybe eventually regurgitate the textbook algorithm) are often not the good ones (to me at least). Most problems like this often have simplifications that good candidates take advantage of to do something custom (and much simpler) than the "named" algorithms.

Basically, if I'm interviewing you and you regurgitate a famous algorithm... well I'm not going to ding you if you do it correctly, but in my experience, I'm much more likely to give a good review to someone that methodically works out a simple solution instead. Often the people that successfully dig up a named algorithm and apply it can't talk about it very well.

So, I suspect that a lot of the people that complain about not knowing a famous algorithm in an interview simply failed to work out a simpler solution to a simpler problem and didn't realize it.

Re:I interviewed at six top companies in Silicon Valley in s... by nnd on Saturday January 19, 2019 @12:52PM (#18948183)
But you are expected to find the most optimal solution to a problem, and not just a brute force one. And usually an optimal approach would require advanced knowledge of algorithms and data structures.
Re:I interviewed at six top companies in Silicon Valley in s... by creato on Sunday January 20, 2019 @01:21AM (#18951493)
> But you are expected to find the most optimal solution to a problem, and not just a brute force one.

I'm not talking about brute force solutions. For many problems, there are things in between <famous algorithm> and brute force. Some problems offer simplifications over more general problems where <famous algorithm> is strictly worse than a simpler, more customized solution (same efficiency, but simpler to write and understand).

Re:I interviewed at six top companies in Silicon Valley in s... by mav3rick on Friday January 18, 2019 @04:28PM (#18943273)
This is just ridiculous. BFS is such a useful building block. If you're stubborn enough to not spend 10 mins on this the best of luck.
Re:I interviewed at six top companies in Silicon Valley in s... by Benjammer on Friday January 18, 2019 @04:37PM (#18943352)
I honestly don't mean this in a snide way.

Can you give a few concrete examples of how a deep understanding of BFS that can't be googled and read in 10 minutes at the time you need it can help you ship profitable software products faster than your competitors?

Re:I interviewed at six top companies in Silicon Valley in s... by Jach on Friday January 18, 2019 @05:07PM (#18943560)
Do you spend 5-10 minutes googling and reading about the Linear Search algorithm[0] every time you iterate through a list and have a conditional to do something if an element matches some criterion? BFS, or a generic graph search (could be BFS, DFS...), is essentially just linear search except each element can have 0-n direct next elements, instead of 0 or 1. It's not this hard thing that never comes up...

Indirection is great in this trade, a lot of what I "know" is just an index key/search strategy to go look it up again. But a lot of what I "know" I know directly. According to this old paper[1], for many fields including software you need to directly know about 70k±20k random things in the field to be in the running for expert status. Proficiency is also related to how many things you know directly. Thus you can't do an index lookup for everything unless you have no constraints on time and/or don't care about improving your level of expertise.

[0] https://en.wikipedia.org/wiki/Linear_search

[1] https://apps.dtic.mil/dtic/tr/fulltext/u2/a219064.pdf

Re:I interviewed at six top companies in Silicon Valley in s... by andonisus on Friday January 18, 2019 @10:01PM (#18945057)
Can you give a concrete example of when you actually use BFS to solve this?

For me, it always goes like this:

* Am I iterating over a list multiple times?

* Am I iterating over a list and comparing it to some elements in another list?

Turn one of them into a map and continue. It's pretty simple.

Re:I interviewed at six top companies in Silicon Valley in s... by Jach on Saturday January 19, 2019 @01:14AM (#18945610)
I'm not sure I follow your question, what are you referring to with "solve this?"

I usually find DFS/BFS applicable when I'm dealing with data that forms relations like "children" or "neighbors" or "connected". Sometimes that's explicit because the data is already in a tree or graph structure, sometimes it's not. And often rather than looking for a particular element, I want to iterate over all the data connected by the relationship to do something with after as a list/set/map of the data or some of its properties.

A concrete example from a side project (it's more fun than Real Work examples, and people have given other examples in the thread anyway), I was writing a client for the board game Go. If you're not familiar, the data is just a 2D grid (easy to interpret as a graph), black/white stones get placed on coordinates like (3,4) marking intersecting lines. A single stone forms a connected group with another stone if both are the same color and separated horizontally or vertically by one. Groups have a count of "liberties" representing the number of unoccupied points the group can expand to if a stone of its color is played there -- a single stone by itself in the middle of the board will thus have 4 liberties, if you connect a stone then that group now has 6. If you cause an opponent group's liberties to go to 0 by surrounding it, the whole group dies, and its stones are removed from the board with those points becoming unoccupied again. Suicides (causing your own group to hit 0) are ok only if they capture the opponent first, otherwise are invalid moves.

Handling the game rules is easy with DFS/BFS. All you need to start with is a function like get_neighbors(position) which on a grid is trivial, being the 2-4 surrounding points depending on whether position is an edge/corner. Then you can use DFS/BFS (doesn't matter) and several lines of code later you've got a function like get_group_member_positions(start_position) that gives you every member stone's position no matter which one you query first. Now you can make a function count_liberties(group_positions) -- which can be solved as another depth-first traversal problem over the neighbors of each member of the group that are empty and haven't been counted already.

Even less code this time though; have you ever had to write 4 lines of code like "for el in list, for child in el.children(), if child blah, do something"? That's a DFS, just not a general one since you know how many layers there are (or that you care about), and it assumes children aren't shared between els.

From all that you can then have a function like get_stones_captured_by_move(move) that tells you what (if any) stones need to be removed if move were to go through: for each neighbor of the move, if any are the opponent's color, count the liberties for that neighbor's group and if it's 1 then those will die when the move is played (takes the last liberty). If it's all one big enemy group around the move you'll have to account for duplicate positions to remove, but those are minor optimization details. Similarly the fact that everything is recalculated all the time, that could be optimized with more storage.

BFS/DFS are just basic building blocks here.

Re:I interviewed at six top companies in Silicon Valley in s... by watwut on Friday January 18, 2019 @04:54PM (#18943477)
You won't be able to Google it, because you never ever asked to BFS by name.

You will be asked to find the biggest file in folder structure, find largest modúle in dependency tree or the person in data structure that has no department and thus caused null pointer exception.

You also won't google it, because it is simple and ylnormal programer don't need google for this.

Re:I interviewed at six top companies in Silicon Valley in s... by mav3rick on Friday January 18, 2019 @04:58PM (#18943504)
Excellent examples. There is no library for this.
Re:I interviewed at six top companies in Silicon Valley in s... by mav3rick on Friday January 18, 2019 @04:53PM (#18943467)
No problem will present in such an easy way as "oh just apply BFS". As part of a big project you often have to use many different algorithms for sub parts, often modify them to suit constraints.

I think the HN crowd is heavily inclined to web apps and also front end. I can't tell you how important fundamental CS knowledge is for backend. I bet you can't use a library or API for how caches work or when paging happens. Knowing these things makes you a well rounded engineer ready to tackle different problems. I can trust you to write a mobile app or work on some part of a self driving car because you have the building blocks to do so. Most of the comments in such threads have no interest in interesting and diverse jobs because "why bother, when will I use this". To any new grad, yes the interviews can be better but please spend time on these things at school. They are an investment in your career's stock.

Re:I interviewed at six top companies in Silicon Valley in s... by Benjammer on Friday January 18, 2019 @05:04PM (#18943537)
I mean, I've built and released multiple mobile apps (commercial and enterprise) on both platforms for multiple companies. They've all been mostly successful at doing what the company needed them to do. They look fairly nice as well.

And I don't have this kind of fundamental, "what do you mean 'google it' are you a complete and total fucking moron!?" attitude about anything in software. I routinely browse through google results (mostly SO/Medium) about very basic concepts just to read the words again and re-warm those caches in my brain.

Re:I interviewed at six top companies in Silicon Valley in s... by saagarjha on Friday January 18, 2019 @07:50PM (#18944523)
It’s possible to have to solve issues like this even inside of app development. Think back to every time your app has performed poorly: has there been any cases where you didn’t know how to make it faster without giving up in the way you had designed it? Maybe the app was reading from the disk to populate your data model, and that was too slow? Maybe you were performing an O(n) operation for each row in your table view?
Re:I interviewed at six top companies in Silicon Valley in s... by Xeronate on Friday January 18, 2019 @07:22PM (#18944365)
I was recently asked to identify pages in our 10 million line application that use a certain piece of business logic. It involved parsing the page and their nested subcontrols into a tree with by doing a modified BFS on the linked files, doing a modifed BFS on the tree to identify the related code behinds, parsing the C# from the codebehinds into a tree, and traversing the C# tree (again with a modified BFS) to find if the code path was hit.

These questions come up all the time. You just need to be proficient enough with algorithms to identify them.

Re:I interviewed at six top companies in Silicon Valley in s... by aprdm on Friday January 18, 2019 @10:35PM (#18945161)
You are essentially looking for patterns in text, your solutions looks not ideal and it takes a lot of time to develop vs just using some linux tools and piping output from one another. 10 millions line is nothing... (commenting based in your gist)

would go even further and say that you could easily have installed something like https://oracle.github.io/opengrok/ in three commands for your organization and extract a lot more value while resolving the issue.

Re:I interviewed at six top companies in Silicon Valley in s... by Xeronate on Saturday January 19, 2019 @01:17AM (#18945618)
It feels like OpenGrok should be able to do this, but I'm not seeing it. How do you search for a method call in a code path? E.g how do determine i function A calls function C? function file1.A(){file2.B();}, function file2.B(){file3.C();}
Re:I interviewed at six top companies in Silicon Valley in s... by Xeronate on Saturday January 19, 2019 @03:30AM (#18945984)
Heard back from the OpenGrok developers and they said they don't support the use case I needed. My gist was just a very small part of the overall process (and yes, for that small piece it was trivial to use a linux util instead of csharp).
Re:I interviewed at six top companies in Silicon Valley in s... by jedberg on Friday January 18, 2019 @07:33PM (#18944433)
Right, but you used libraries to do it, right? You didn't actually need to know how BFS works, did you?

10 million lines of code fits in RAM pretty easily. You could use the worst algorithm in the world and still complete that whole task with just a few seconds of compute time.

I think that's the point. You don't really need to know about BFS in most cases, because in most cases you can solve the problem with any old search in just a few seconds.

Re:I interviewed at six top companies in Silicon Valley in s... by Xeronate on Friday January 18, 2019 @07:59PM (#18944561)
I can tell you really don't know what you're talking about because you can't just "use libraries to do it". You can use a library to parse a given input, but you need to traverse the tree in a specific way. Here, I'll give you an example of the first step of the problem with proprietary info stripped out. https://gist.github.com/tohsa/2d906942f8712abdfc7df72128479c... You plain and simple need to know BFS to do these sorts of things. You're acting like its some act of algorithmic wizardry when its not.

It's not a question of speed. It's the fact that tree traversals are the best way to analyze parsed text. Although, it was quite resource intensive and we ended up distributing the workload among multiple computers so we could scan all pages at once. Luckily this was easy because pure functions are trivially parallelizable.

Re:I interviewed at six top companies in Silicon Valley in s... by jedberg on Saturday January 19, 2019 @02:37AM (#18945842)
Ok I see where the problem is. I read through your code and didn't think "BFS", I just thought "knows how to nest for and while loops". I suppose you could consider this "knowing BFS", but I would consider this table stakes. I would never ask about something like this in an interview.

I thought you were talking about actually using BFS on a data structure, in which case I'd use a library to do it so I don't have to reimplement all the loops and because there are modern libraries that would take care of the parallelization (like this one[0])

[0] https://github.com/arjun-menon/Distributed-Graph-Algorithms/...

Re:I interviewed at six top companies in Silicon Valley in s... by Xeronate on Saturday January 19, 2019 @05:04AM (#18946251)
I agree with you that my gist demonstrates "table stakes", but I think that is the level of tree traversing most interview questions require. I don't think any interviewers are asking people to implement distributed algorithms like the one you linked. They are asking for algorithms that just combine a few of the basics. With that said, I'm inclined to believe our fellow commenters are arguing about the utility of what I shared. For example people siding with me gave examples of finding the biggest file in a file system and constructing a dependency graph to refute the idea that tree traversal are useless and mentioned that there isn't any "deep understanding" in BFS because it's so simple. It reminds me of the tweet by the creator of Homebrew[0] about not being able to reverse a binary tree that so many people bring up when this topic arises. To me that's just table stakes.

On the topic of my example not constituting "knowing BFS", the BFS I shared is just a slight modification of what most students are taught and is close to the second method for level order traversal of a tree on geeks for geeks[1]. If you don't like the BFS usage because it isn't on an explicit tree (although nested HTML templates most definitely form a tree), the result of parsing an AspxFile in my gist returns an explicit tree data structure[2][3] and the helper method[4] at the bottom does a standard preorder traversal[5] on that linked structure. That feels like "actually using DFS on a data structure".

[0] https://twitter.com/mxcl/status/608682016205344768?ref_src=t...

[1] https://www.geeksforgeeks.org/level-order-tree-traversal/

[2] https://gist.github.com/tohsa/2d906942f8712abdfc7df72128479c...

[3] https://github.com/PositiveTechnologies/AspxParser/blob/mast... (AspxParseResult has a reference to the root AspxNode, and btw I didn't write this parsing library)

[4]https://gist.github.com/tohsa/2d906942f8712abdfc7df72128479c...

[5] https://www.geeksforgeeks.org/dfs-traversal-of-a-tree-using-...

Re:I interviewed at six top companies in Silicon Valley in s... by Benjammer on Saturday January 19, 2019 @01:12AM (#18945603)
I can tell you really don't know what you're talking about because you are mouthing off about jedberg not knowing what he's talking about.
Re:I interviewed at six top companies in Silicon Valley in s... by saagarjha on Friday January 18, 2019 @07:53PM (#18944537)
> Right, but you used libraries to do it, right? You didn't actually need to know how BFS works, did you?

For BFS? Almost never, no. Libraries are generally useful for reference implementations data structures and algorithms that work on collections; I have yet to find an algorithm that works well for graph problems or when you need to subtly tweak the data structure (for example, a binary tree that counts the number of elements on its left and right). The issue with libraries is that they are built for the general use case, and a lot of time in the real world it is non-trivial to transform your problem into the format that the library will expect, so you end up having to do this yourself.

Re:I interviewed at six top companies in Silicon Valley in s... by Const-me on Friday January 18, 2019 @05:37PM (#18943782)
No but I can give a few examples where I refactored code from these antique pointer-based trees (inspired by classic CS books, half century old now) towards something more cache friendly, and improved performance by an order of magnitude.
Re:I interviewed at six top companies in Silicon Valley in s... by skookumchuck on Friday January 18, 2019 @06:36PM (#18944156)
There is no "deep understanding" of BFS. All it is is look at your siblings before your children.

I wouldn't hire an electrical engineer who complained that he shouldn't have to know Ohm's Law, either.

Re:I interviewed at six top companies in Silicon Valley in s... by purple_ducks on Friday January 18, 2019 @07:41PM (#18944479)
> All it is is look at your siblings before your children.

...And how you are keeping track of that and other such minutiae. What data structures are you using and why? And how about if X which would invalidate your approach.

Also, it's not about "knowing" it. It's about implementing it in such a way as to please the interviewers.

It's pop quiz nonsense.

Re:I interviewed at six top companies in Silicon Valley in s... by skookumchuck on Friday January 18, 2019 @07:55PM (#18944547)
Programming is exactly about handling such "minutia". It's a totally fair question.

As for pleasing the interviewers, of course it is about pleasing the interviewers. They're making the "buy" decision on the talents you're "selling". Of course the seller needs to please the buyer to close the sale. I don't know how it could work any other way.

Re:I interviewed at six top companies in Silicon Valley in s... by saagarjha on Friday January 18, 2019 @07:54PM (#18944542)
> And how you are keeping track of that and other such minutiae. What data structures are you using and why?

This is a good question, IMO, because it tests “I need to do this, which data structure would work well for it”, which does come up often in real life.

Re:I interviewed at six top companies in Silicon Valley in s... by quickthrower2 on Friday January 18, 2019 @04:38PM (#18943357)
BFS is common sense. It’s what you use when you’ve lost your car keys for example. Quickly check each room in the house, then if no luck go one layer deeper in each room.
Re:I interviewed at six top companies in Silicon Valley in s... by dekhn on Friday January 18, 2019 @04:48PM (#18943435)
uh, I thoroughly search each room, starting at the left corner and recursively iterating via a hilbert curve.

doesn't everybody?

Re:I interviewed at six top companies in Silicon Valley in s... by ghaff on Friday January 18, 2019 @05:34PM (#18943766)
Two different approaches. Each have their adherents. But when someone can’t find their phone or keys that that just had, they probably don’t start by ripping one room apart top to bottom.
Re:I interviewed at six top companies in Silicon Valley in s... by Rychard on Friday January 18, 2019 @06:33PM (#18944139)
I might pull the couch cushions, but I'm not going to start moving furniture until I check other places first.
Re:I interviewed at six top companies in Silicon Valley in s... by dekhn on Friday January 18, 2019 @06:48PM (#18944219)
so, basically A* search
Re:I interviewed at six top companies in Silicon Valley in s... by Rapzid on Friday January 18, 2019 @05:02PM (#18943532)
I would certainly probe deeper if given that as evidence for a strong grasp on the utility of BFS.
Re:I interviewed at six top companies in Silicon Valley in s... by quickthrower2 on Saturday January 19, 2019 @03:48PM (#18949075)
So you’d do a DFS on a BFS
Re:I interviewed at six top companies in Silicon Valley in s... by vishnugupta on Friday January 18, 2019 @06:01PM (#18943953)
That's definitely now how I do it. I go deeper into each room, the depth (as well as the order) being decided by (roughly) how much time I spend in each room every day. E.g., Go waay deeper in living room, less so in bedroom, lesser still in bath room and so on :-). This I'd imagine is "more" common sense than than an un-informed BFS?
Re:I interviewed at six top companies in Silicon Valley in s... by mav3rick on Friday January 18, 2019 @06:04PM (#18943976)
If you just go depth, it is well depth first :)
Re:I interviewed at six top companies in Silicon Valley in s... by vishnugupta on Friday January 18, 2019 @06:15PM (#18944045)
I actually thought this through a bit :-) Neither is it a DFS, unlike in DFS I'm expanding nodes at different depths. E.g., I'm shallow expanding bathroom/kitchen compared to living room. Only when I've exhausted living do I return to kitchen again to do a deeper search. I wonder if this kind of search has any other use. Debugging seems like a similar activity. Go deeper into logs, if nothing turns up then examine metrics, read code, return to logs again etc.,?

Sorry, past midnight here after a busy day at work :-P

Re:I interviewed at six top companies in Silicon Valley in s... by Jach on Friday January 18, 2019 @06:27PM (#18944105)
Heuristically guided search. :) For some nodes you go wide, for some deep, sometimes you retreat back up a few levels instead of exhausting a subtree (but you might come back to that subtree later), all depending on what the heuristic says is more likely to get you to your goal the quickest. A* is a well-known base algorithm for this, widely used in game programming to efficiently find the shortest path from A to B in the presence of obstacles etc.
Re:I interviewed at six top companies in Silicon Valley in s... by heptathorp on Friday January 18, 2019 @07:31PM (#18944414)
A DFS would be you check your living room, you check under the cushions of the sofa, you tear open the cushions and comb through the insides... all before glancing at your bedroom when you didn't quickly see the keys in the living room.
Re:I interviewed at six top companies in Silicon Valley in s... by perl4ever on Friday January 18, 2019 @05:40PM (#18943805)
This is actually not how I search. After the first search, if I am getting frustrated, I do what I was told when I was a child: "start picking up stuff until you find it". So I guess that's kind of a depth first search after going over the top layer.
Re:I interviewed at six top companies in Silicon Valley in s... by j1elo on Friday January 18, 2019 @05:39PM (#18943797)
I'd use an indexed search and remote activate the beeper in the key chain
Re:I interviewed at six top companies in Silicon Valley in s... by sys_64738 on Friday January 18, 2019 @08:06PM (#18944587)
I don't think I've ever lost my car keys so does that make me a NULL pointer!
Re:I interviewed at six top companies in Silicon Valley in s... by quickthrower2 on Saturday January 19, 2019 @03:54AM (#18946065)
In that case you get O(1) regardless of algo choice.
Re:I interviewed at six top companies in Silicon Valley in s... by jenscow on Friday January 18, 2019 @06:00PM (#18943937)
> If you're stubborn enough to not spend 10 mins on this the best of luck

I know. These people are expecting to be paid way above the average salary - I'd expect them to know the fundamentals, or (more importantly) be able to figure it out.

"BFS?? I'd use a library for that" - well, thanks for that... instead of hiring you I'll just download some libraries instead.

Re:I interviewed at six top companies in Silicon Valley in s... by mav3rick on Friday January 18, 2019 @06:07PM (#18943997)
Watch me get downvoted to hell though :)
Re:I interviewed at six top companies in Silicon Valley in s... by ojr on Friday January 18, 2019 @04:36PM (#18943343)
The creator of ruby on rails wouldn't pass a whiteboard interview. Ruby on Rails had more of an impact at Twitter, Github, Airbnb than BFS is my guess

DHH's tweet https://twitter.com/dhh/status/1085987159406927872

Re:I interviewed at six top companies in Silicon Valley in s... by base698 on Friday January 18, 2019 @06:18PM (#18944061)
There's a reason such tweets resonate so well:

1. Creator of top software project can't pass whiteboard interviews.

2. I can't pass whiteboard interviews.

Therefore, they are stupid for not hiring me.

It strokes everyone's inner narcissist--why spend the hours on leetcode, they are stupid anyway.

Re:I interviewed at six top companies in Silicon Valley in s... by hungryhobo on Friday January 18, 2019 @04:45PM (#18943410)
i mean if had to choose between no graph theory vs no ruby on rails...i would probably go with no ruby on rails
Re:I interviewed at six top companies in Silicon Valley in s... by kamarg on Friday January 18, 2019 @05:27PM (#18943698)
What if you had to choose between someone with a proven track record of building high quality software used by millions of people who has also shown they're capable of leading groups of people in successful projects but hasn't memorized the specific algorithm you asked about and another candidate who doesn't have as good of a track record but can totally nail that easy algorithm you asked for?

Edit: Typos.

Re:I interviewed at six top companies in Silicon Valley in s... by mav3rick on Friday January 18, 2019 @06:07PM (#18943988)
You think every candidate who comes in is like this. There are anomalies and outliers. The truth is resume padding is so common in the valley. Everyone can just say all these things. It's very hard to hire like this.
Re:I interviewed at six top companies in Silicon Valley in s... by kamarg on Saturday January 19, 2019 @01:02AM (#18945587)
I don't work in SV. I assume it's like everywhere else where a potential employee who feels their skills are weak will take credit for things done by their teammates even if they were only tangentially involved.

My above comment was strictly related to the idea that DHH shouldn't be considered for a job over anther candidate who is an unknown quantity simply because DHH apparently is not good at algorithm problems in interviews.

Re:I interviewed at six top companies in Silicon Valley in s... by hello_moto on Friday January 18, 2019 @08:12PM (#18944611)
Would you choose one-hit-wonder over proven engineers (Jeff Dean, Sanjay, other ex SUN microsystems folks?) that lead high-profile projects?

I know that sounds rude... but one seems better to be a leader while others are better engineers would you agree?

Re:I interviewed at six top companies in Silicon Valley in s... by kamarg on Saturday January 19, 2019 @01:07AM (#18945600)
Total cop out answer but if DHH and people like Jeff Dean are both interviewing for a position with me you can be sure I'm doing everything I can to hire all of them. Even if it means starting entirely new departments.

I'd totally fanboy and hire Jeff though if it came down to just one though.

Re:I interviewed at six top companies in Silicon Valley in s... by hello_moto on Saturday January 19, 2019 @04:09AM (#18946111)
I don't mean to diminish/belittle DHH. What he's done (web framework, productivity SaaS, self-help books, sales/marketing, conference speakers, racing) it's not what Google does (web-browser, OS, AI, maps, search, scale, etc).

I also don't get why people like DHH is assumed to be a "miss" for not being hired by some of these company...

DHH is a unique individual with his own way of thinking. He wouldn't be DHH if he works for someone else (or under someone).

Re:I interviewed at six top companies in Silicon Valley in s... by kamarg on Saturday January 19, 2019 @11:41PM (#18951151)
You don't generally hire people like that to work for you on something specific. You hire them with a very broad goal and give them the resources to accomplish the task how they see fit. With a bit of nudging here and there you should end up with a very marketable outcome wether it's a product or a prestigious research division or widely used piece of software that everyone knows is associated with your company.

What DHH does could absolutely be incorporated by Google. Angular => RoR, GCE => Saas, conference speakers => conference speakers.

Anyway the point is that even at a company like Google there's plenty of room for people that haven't memorized algorithms and data structures but companies that only interview on these sorts of things are missing out on them because they seemingly don't care or haven't figured out how to interview someone substantially different from what they normally hire.

Re:I interviewed at six top companies in Silicon Valley in s... by hello_moto on Sunday January 20, 2019 @12:34AM (#18951370)
SaaS != GCE.

I find the skillset required to build Basecamp differs greatly with building AWS/GCE portfolio (with over hundred different services that can be combined to deliver solutions for multiple ranges of companies...)

I don't think Google was looking for someone to build RoR or Angular. Those were merely side projects that came out once every few years. No offense but some of the key components of RoR were implementation of Martin Fowler's Enterprise Application Architecture patterns.

Re:I interviewed at six top companies in Silicon Valley in s... by stale2002 on Friday January 18, 2019 @10:56PM (#18945236)
I wouldn't hire someone who cares so little about getting a job that he didn't spend the most basic amount of time studying for obvious questions that he was of course expected to be asked.

Such a situation would show me that he either does not care about getting the job, or is so arogent that he automatically expected that people who throw job offers at him.

That shows that this person has horrible personality problems and that I would not want to work with him, no matter how much he has accomplished in his life.

Re:I interviewed at six top companies in Silicon Valley in s... by magicalhippo on Friday January 18, 2019 @05:39PM (#18943795)
I didn't know about "BFS trees", do you have any references? I tried Googling but I could only find breadth-first searching (which I do know well, though apparently not the acronym BFS), but that's just a traversal algorithm.
Re:I interviewed at six top companies in Silicon Valley in s... by reggieband on Friday January 18, 2019 @05:46PM (#18943845)
BFS is "Breadth first search". One tree you would do this on is a BST or "Binary Search Tree". Probably OP got the acronyms mixed up.
Re:I interviewed at six top companies in Silicon Valley in s... by vishnugupta on Friday January 18, 2019 @06:25PM (#18944100)
There's actually a thing called BFS tree. It's a tree that depicts the order of node expansion/visitation when a graph is traversed BFS. Even I wasn't aware of it until I recently read Peter Norvig's AI book. However, I'm not sure if the author referring this.
Re:I interviewed at six top companies in Silicon Valley in s... by magicalhippo on Friday January 18, 2019 @07:10PM (#18944319)
Right, since I didn't pick up on the acronym I thought I had missed something. Cheers!
Re:I interviewed at six top companies in Silicon Valley in s... by watwut on Friday January 18, 2019 @04:51PM (#18943452)
Experienced engineers can BFS the tree. They may not remember djikstra.
Re:I interviewed at six top companies in Silicon Valley in s... by nathan_f77 on Saturday January 19, 2019 @06:17AM (#18946445)
These interviews do filter out any engineers that can't solve these algorithm problems on a whiteboard, but they don't necessarily filter out people who have a proven business track record and can get projects done on time and under budget.

I think the phrase "jack of all trades, master of none" is overused and doesn't hold a lot of truth. It's very possible to have a lot of experience and skill in many different areas. Maybe there's even a positive correlation between being a very good programmer that can pass whiteboard interviews, and being a pragmatic, get-it-done type of engineer.

Re:I interviewed at six top companies in Silicon Valley in s... by maccio92 on Friday January 18, 2019 @04:48PM (#18943440)
Yeah honestly, I think those are the type of engineers that are more suitable for managing other engineers, and the really heavy ones are more suited for strictly engineering.
Re:I interviewed at six top companies in Silicon Valley in s... by rhizome on Friday January 18, 2019 @05:05PM (#18943543)
I cannot help but think that these big tech companies (FAANG, et. al) are missing out on diversifying and increasing their engineering expertise by passing over developers like you.

There is still so much stupid money out there that it doesn't pay to do this. Literally immaterial, and it's more cost-effective to hire for a narrow-but-consistent set of requirements.