Live data from Hacker News

Hiring Is Broken – My interview experience in the tech industry

medium.com

441–450 of 693 posts

Re: Hiring Is Broken – My interview experience in the tech industry

#441
post #316

Fancy moving to the UK? :) Seriously there's a job with your name on it if you're interested. When I interview candidates I sit with them for half an hour or so to get to know them. Then I give them purposely broken, poorly written piece of code which I tell them to pull apart. This proves incredibly effective as even if they miss some of the more obvious errors I can at least point them in that area and then see if…

That sounds pretty much like an ideal interview process. But do you think this is easier to do if you get less candidates (looking at your location, I am assuming you only get a small fraction of candidates than if you were located in, say, London) ?

> But do you think this is easier to do if you get less candidates

This is one of my pet peeves. The number of applications you get has absolutely nothing to do with the number of candidates you should consider, because it has absolutely nothing to do with the number of candidates that you can competently consider. You don't have to get through every resume, and trying to do so will just lead to biased "how can I say no" ad hoc filtering games.

The solution is to use an unbiased* pre-filter to restrict the number of applicants that you let into a thorough consideration process. Random selection is the pre filter that I would use, but there may be other valid choices (though outside of random selection, it's easy to let bias slip in).

Bonus points if you are transparent with candidates that get filtered out this way about why and how that happened. If you're messaging is constructed well, then they should understand that there were too many candidates to give all of them fair consideration, and that being filtered out reflects in no way on their worth as a candidate. So, they will be more likely to apply for future openings.

Sorry if it feels like I'm criticizing you. I don't mean to at all. It's just that this idea of being overwhelmed by candidates is absolutely pervasive in discussions of hiring, and it's a completely fake problem that leads to absolutely real difficulty on both sides of the hiring process.

* A lot of organizations resort to biased pre-filters to cull resumes, like unnecessary requirements. I'm of the opinion that this leads to suboptimal results, particularly if they align significantly with the biased filters that the rest of the industry your company is competing in uses. It means that there are qualified candidates that end up systematically under-recruited. Those are the Moneyball candidates. You should want those candidates because they are the most productive relative to the salaries they can demand. And even if you don't give them a lower salary than you would give a candidate that passes all the typical filters, then you will still have a significant retention advantage, which all told may be worth more than shaving salary in many (most?) situations.

Re: Hiring Is Broken – My interview experience in the tech industry

#442

The only way out of this mess is to start and bootstrap your own company. Hiring is broken, therefore hire yourself.

Tell that to someone who has rent and loans to pay, medical needs or family to feed. Bootstrapping takes savings/investment and a LOT of time before you see a penny of profit.

I am totally empathetic to this. I did not intend for it to be a trite statement. I'm in the same boat.

Not all ventures require lots of savings. (Time? Definitely). It is conceivably possible to try and bootstrap something outside of working hours.

The original author was able to devote much time to GitHub projects, so it's not a stretch that the author might be able to bootstrap an idea.

Re: Hiring Is Broken – My interview experience in the tech industry

#443

Hiring isn't broken, dude. You just don't interview well, and you seem antagonistic even to the idea that your cachet and skills, insofar as they exist, aren't useful to the market. That's a problem -- for you. Interviews exist because employers need a way to quantify and qualify your ability. Typical computer science problems are a (flawed, but concrete) way of doing that. No reasonable interviewer expects you to re…

What do you think about OP's comments that the algorithm questions were unrelated to the front-end positions?

I think that's an unfounded and problematic stance.

Front-ends almost always involve working with data. It is increasingly common for front-ends to have filters, searching, sorting, etc... of that data as well.

Doing that efficiently is key to ensuring a fast, responsive UI.

Wrangling with divs and CSS may take a disproportionately large amount of your time but that doesn't mean it's the most important skill to look for, nor does it mean the CS questions are somehow irrelevant to the work.

Re: Hiring Is Broken – My interview experience in the tech industry

#444
This is why I refuse to participate in tech industry job interviews. Thus far, I've managed to get enough work in a freelance capacity mostly through referrals and my personal network to avoid having to go down that route. I think it's the height of hypocrisy that tech companies complain that they can't find enough good candidates and how hard hiring is, yet the absurd processes they use actually turn off some good candidates who just aren't interested in playing the game.

Kudos to the author for being so forthcoming about his experience. Maybe if enough programmers start making a big stink about this problem, something will actually get done about it.

Re: Hiring Is Broken – My interview experience in the tech industry

#445

Earlier quoted context omitted.

Nurses also have licenses and registered credentials. If they mess up badly, they can be disciplined and lose their license and career. So there is a self-regulation that takes place in that industry. Were it not so, I could imagine nursing interviews to be a lot more intense. There is no such regulation in the tech industry. One bad hire I made faked his technical capabilities and I regretted it a lot when I had to…

Can you expand on the guy who faked his technical capabilities? Way back, I was part of a 4-person team that did some phone interviews of contractors. We asked some pretty basic questions, based on their resumes, and after the call voted on him/her. One of my questions to see if they knew anything about C++ was just to ask if they could tell me what a class was. A bunch of candidates couldn't answer that question. It…

The guy was lazy and not very competent. We hired him for a specific capability that he was supposedly doing in his previous job. He knew the words and terms but was dangerous in his position. I can only assume that his previous workplace, a very large company, kept him away from doing anything meaningful so that he didn't mess things up. That's what we ended up doing.

I later discovered his resume was an identical copy of his coworker's resume (both were submitted several months apart for the same job).

Re: Hiring Is Broken – My interview experience in the tech industry

#446

Earlier quoted context omitted.

I think memorization tests of the sort that ask what FunctionX you should use from LibraryY for a particular situation are terrible. I don't consider asking a developer about basic data structures and their properties as terrible. This is foundational knowledge that is useful for nearly every programming job. Knowing about lists, hash tables, trees, etc and their operations or tradeoffs is extremely important. Simila…

Sure. I know what a list, a hash table, a tree are because I looked it up whenever I saw someone mention it, and eventually internalized it. But before that, I'd used them for 10-15 years without knowing the name because it doesn't matter. Take a hash table. Python calls it a dict. C++ calls it an (unordered) map. Java calls it.. whatever it calls it. It's nice to have that 'hash table' google term to find the thing…

>> Java calls it.. whatever it calls it. It's nice to have that 'hash table' google term to find the thing you want in a new language, but otherwise they're just words.

Actually, they are more than just words. Try not to conflate the abstract data structure itself with the language-specific implementations which can vary quite significantly. Also your flippant, dismissive attitude on quite important CS concepts wouldn't take you far. It's better to frame your argument like this ... "There's no point in testing for X or Y because ... e.g. we won't need X or Y to perform the job we are being tested for" which is quite reasonable as most devs CS-minted or otherwise will agree with you. & also while it might not be useful to rote memorize every single CS concept, it's sensible to at least have a passing familiarity. Why? Well, not being able to recognize what BFS even stands for in the first place is enough to raise a red flag anywhere.

Re: Hiring Is Broken – My interview experience in the tech industry

#447

Not sure if it's accurate, but it seems like these inane coding challenges are more common on the coasts. The only time I've experienced any of them was at an interview with Amazon (for an Email Deliverability Manager role, of all things...). I've been tested on code, but it's never been these inane tidbits everyone went through getting their CompSci degree. Anecdotal, I know.

What cities and kinds of firms did you work at?

Re: Hiring Is Broken – My interview experience in the tech industry

#448

The OP is describing the new grad tech hiring process. It looks like an exam because it's for hiring people straight out of school. For experienced people, it's not what you know, it's who you know. You tell your connected friend that you're looking for a job, he tells you who's hiring and gives you a recommendation. You still have an interview, but it's no longer adversarial, it's a formality, it's friendly, it's ju…

This calls the entire meme of "Silicon Valley is a meritocracy" into question. This just further validates those who criticize tech for being a monoculture with lack of diversity.

Anyone who actually believes "Silicon Valley is a meritocracy" is exactly the reason why Silicon Valley is, in fact, not a meritocracy. :)

Re: Hiring Is Broken – My interview experience in the tech industry

#449
post #375

I interviewed with Netflix for a front-end JavaScript position a few years ago. I had two technical phone screens. One with the engineering manager and another with a senior engineer on their team. Those went smoothly so I was asked to fly out to Los Gatos, CA. On-site I was supposed to talk first with the senior engineer I had already interviewed with over the phone. He was out sick so they changed at the last minut…

I wonder if he didn't like you because you didn't look like a hipster....

I'm totally serious: I really wonder how many of these baffling interview experiences where seemingly highly-qualified candidates get turned down is really about non-technical and non-work-related factors, but no one wants to actually admit it. How much of it is due to personal biases by the interviewers, who may discriminate against people for various reasons? A lot of people want to surround themselves with people just like themselves, so if you have a company full of hipsters wearing fedoras and someone comes in for an interview and they don't look like that, they could easily be passed over because they're "not a fit for our company culture".

I don't think I'm half as competent as the guy who wrote this article, but I've had a much easier time getting jobs in general. My background isn't even CS, it's EE, so I totally suck at all the algorithm questions. But OTOH I generally apply for embedded programming positions where knowledge of algorithms isn't that important anyway. I even interviewed at Google (one of their recruiters contacted me) and had pretty much the same experience as him; I won't waste my time with that company again. A bunch of recruiters have tried to get me to interview at Bloomberg LP, but I would never work in that crappy open-plan environment that they're infamous for. But I frequently wonder how much of my success is just from being tall and in-shape, not having any obvious personality quirks, and "fitting in" with the look and the company culture (I interview with more stodgy places, not places with hipsters with arm-sleeve tattoos), rather than due to my technical proficiency.

Re: Hiring Is Broken – My interview experience in the tech industry

#450
"Programming trivia" style interviews are the bane of our profession. They serve primarily to allow the people doing the interview to feel clever and superior when they discover that the candidate can't implement a red-black tree from memory on a whiteboard. They tell you little about whether the person is a good candidate.

There is a school of thought, baffling to me, that suggests that knowledge is mere rote memorization of facts, so the best way to test people in anything is to check their memorization of the relevant material. This interviewing style derives from that school of thought.

This is, of course, utter bullshit, especially given that the details of the topics chosen are almost entirely irrelevant to the actual job of a software engineer. A working programmer who re-implements a red-black tree from scratch is almost always doing it wrong. Someone has already built that and debugged it and optimized it, and you should be using that implementation, not redoing it from scratch yourself. The "programming trivia" interview style is like interviewing an architect by handing them some iron ore and asking them to smelt high grade steel out of it. That's not what architects do. They buy premade steel smelted by experts, then use it to build other things.

The solution? Real-world programming as an interview. Either give them a toy problem, or pay them to do some minor bit of actual work on your system for a day or two, if that is feasible. Then get out of their way. Give them a laptop and the Internet, leave them alone for a few hours, and see what they can do.

Afterwards, do a code review. Then discuss their programming and engineering philosophy.

Why don't people do this? It takes a lot longer, and requires the interviewer to think more. It's much less cognitive load for the interviewer to memorize some obscure data structures and ask candidates to recite their construction.

Post reply on HN