Live data from Hacker News

Hiring Is Broken – My interview experience in the tech industry

medium.com

601–610 of 693 posts

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

#601
post #592
post #560

Earlier quoted context omitted.

No, overfitting is a real thing. Overfitted learning algorithms are generally worse at generalizing their ability to broader examples and new situations. The types of candidates who spend the time necessary to memorize algorithm trivia for the sake of passing these exams are exactly like overfitted learning algorithms. What they happen to know is unlikely to generalize well. Of course you could get lucky and hire som…

Totally disagree with the final sentence. Most math/programming olympiad winners are way more than capable of handling anything the Macgyver/Edison type would be good at. At least in my industry, every olympiad winner has been a consistently spectacular performer, and I have absolutely no qualms heavily biasing myself towards that credential.

Having worked with some such folks in a quant-focused field, I can say that their performance was no better than average and in some cases worse. After a few hires like this, my boss actually pulled me aside and asked me to take over one of the main hiring projects because he and a few other managers were unhappy with the way the emphasis on this type of paper credential had failed to produce good enough analysts, and they wanted a process more focused on probing someone's experience and ingenuity. I didn't enjoy it at the time, but that 9-month project focused on that team's hiring needs (which took me away from some of my technical projects for more time than I liked) ended up teaching me a ton about what candidates in general look like (at least for that type of firm).

But I grant this is reasoning just from the anecdata that I have. I can believe that winners perhaps represent a higher degree of skill, but then we're talking about an extremely small number of people.

Generally you're facing a tradeoff where you have to choose between a sort of rustic self-reliance skill set versus a bookworm skill set. People from either group can learn the other over time, but you can't predict how well by testing them solely on trivia that constitutes their current main group. My preference is to hire for self-reliance and learn bookworm stuff later. I used to believe the opposite (e.g. hire someone good at math because they can always learn to be an effective programmer later) but my job experience made me believe the opposite (e.g. actually it's pretty easy to teach people stochastic processes, machine learning, or cryptography, but it's incredibly hard to teach people how to be good at creative software design).

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

#602
post #567

Earlier quoted context omitted.

> Easier to take 20 minutes and just write the tool. What? That would be a huge red flag in my book. Where are your unit tests? I'm not trusting your 20 minute off the cuff reproduction of classic algorithms in any business critical piece of the code, not ever. This would get you booted from a lot of places, or at least given a stern talking to for doing something that seems slick, cool, and time-saving in the short…

The pseudo-code of BFS is all of 20 lines, and that's accounting for a graph possibly containing cycles. A graph without cycles (such as a tree) would be even simpler/shorter. https://en.wikipedia.org/wiki/Breadth-first_search Correct arg parsing is actually significantly more complicated in comparison because of all the possibilities and edge cases. > Never (!) homebrew that shit unless you have to (like, you're in…

> I can't help but think this mentality is what lead to the recent left-pad debacle

It borders on category error to compare homebrewing argument parsing with an overreliance on microframeworks extending all the way down to leftpad. Argument parsing is almost always supported directly by the language implementers in a standard library. And even if it wasn't, it's such a critical task with huge overhead for handling corner cases, cross-platform details, etc., that the value of a central implementation is obvious. A left pad operation ought to be part of the standard language (which is actually what the leftpad debacle was about, Javascript's incredible failures as a language), but it's too trivial to compare it to something like argument parsing.

> The pseudo-code of BFS is all of 20 lines, ...

If it's only 20 lines, that's great because it means it was easy for the other 500 library writers to write it, write tests, and observe and fix issues over time. So, whew, that's 20 lines I totally shouldn't waste my time on, plus unit tests and routine maintenance I don't have to commit to.

And also, given the wide acknowledgement that a good programmer should be writing at most a few hundred lines of code per day (otherwise it's probably mostly junk), 20 lines of code is not trivial.

Probably most programmers write a whole lot more than that per day (especially if counting copy/pasted code), but this is in part a sign of a bad programmer, or perhaps more so a sign of the anti-quality constraints placed on them by most employers.

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

#603
post #407

No offense, but not knowing BFS is kind of a red flag, even if its for a front-end position. It's the most basic graph / tree traversal algorithm there is. And you when you work with the DOM on a daily basis and use libraries that traverse for you its a good idea to have a basic understanding of whats going on under the hood. It's like saying you're a good programmer but not understanding basic concepts about memory…

If I took an interview with a random developer at your firm, drawn at random, not including you, and I spontaneously asked them to implement Djikstra's shortest path algorithm from memory, what percentage of them would be able to do that? Djikstra is not only basic and extremely simple, but it's also an algorithm that everyone who takes graph theory --- or really, computer science at all --- learns. I'm guessing 10%.

Ask somebody to implement Dijkstra's algorithm and they might not remember specifically which algorithm that was. Questions shouldn't say "BFS" or "Dijkstra" in them -- if you're going to ask whiteboard questions, the way to do it is to pose a problem where that's a solution. Ask an actual shortest path problem or a weighted shortest path problem, or an "any path in non-infinite time" problem, or what-have-you.

BFS and Dijkstra's aren't really the sort of thing you implement from memory, you figure it out fresh each time, unconsciously plagiarizing from your past experiences.

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

#604
post #47

Earlier quoted context omitted.

Hiring IS broken, unfortunately everyone isn't realizing it simultaneously, so half of us end up speaking about it to the other half who are already employed and feel the need to justify their employment. Since these discussions never happen out of CS / IT circles they very rarely propogate upwards to changing company practices unless the CTO/CEO happens to read HN. You're just further contributing to the rigged scen…

It's really not an either/or situation. Hiring could improve obviously but the current process of generic white board problems is effective if imperfect. It's just really hard to decipher one's ability when everyone puts technical experience on their resume because they took an online class or read a book on some thing once.

But don't many thousands of lines of code for personal and professional projects written over many years count for anything?

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

#605
post #29

Earlier quoted context omitted.

I had a disastrous phone interview this week throughout which I remained calm and focused but immediately after putting the phone down I emailed the recruiter to say I wasn't interested. The "Technical" part was just trivia. Never-mind that I was sat in front of a computer and could have googled everything asked, I chose not to do that. So yes, I stumbled when asked "what does the using keyword do". I explained how i…

The first Google phone screen for SRE candidates is so scripted that you can probably Google the questions and get exact answers. It's been years since I've had it, but I remember it being the exact same questions, about UNIX internals and TCP/IP. This type of recruiting seriously turns me off because you can tell they're hiring minimum wage call center workers to read a script and filter out the 9/10 candidates that…

In my opinion Google absolutely does care about their employees. However, if you are turned off at the first contact, this company might just not be for you.

At the end of the day, it is not about what the company can do for you, it is about what you can do for the company.

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

#606

Earlier quoted context omitted.

I think hiring is really steered to avoid hiring idiots. After all it's the interviewer that will have to answer if they hire someone who can't do the job. So all questions are very technical/random and difficult. Most of these people just lookup stuff from textbooks and fling them at interviewees. It eliminates the top and bottom contenders while catching mostly people who just came out of school (or ridicilously sm…

Hiring does need to avoid hiring idiots, but I've found that it's more effective to ask easy questions. Seriously. People who can't program a digital computer have just as much trouble, and there's less opportunity to fake it. Easy questions produce better signals.

I was asked once during an interview to describe a specific problem that I enjoyed solving. And I was told to go in as much depth as I could during the timeslot.

I thought that was a great question. It got me talking about something I cared about, knew very well, and showed my normal thought process and development process outside of an interview. It also gave the interviewer plenty of things to ask about, to "quiz" me on if they wanted, or to just make sure I could actually code.

If I'm ever in a position to interview someone one-on-one, that's most likely going to be my main question.

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

#607
post #581

Earlier quoted context omitted.

Minneapolis area The last 3-4 years have been at larger corporations. Major retailer and a division of SAP. Haven't always been at larger corps, but after doing the startup thing for a couple of years, the stability is relaxing. I also had job offers from some companies that would be maybe "mature startups"? Not sure of a good term, but around 5-7 years old, profitable, ~50 employees, etc. One of them had zero progra…

I've been looking at companies in Minneapolis over the last few months, but I've been having a hard time finding open positions to apply to. My usual methods (online job boards) have gotten me precious few results. How do you find companies in Minneapolis who need your services?

Little hard to answer without knowing where you're at career-wise and what you do, but here goes. I haven't been looking for about two years now, and I don't know if I have any unique insights here, but when I did look there was a couple of avenues:

- Job boards: Mainly indeed.com, to be honest. Lot of recruiters on both, but they do a pretty good job of indexing real job posts as well. I think that's where I found my current position.

- Targeting specific companies. Got my previous job this way. If you're looking in and near Minneapolis itself, Best Buy, Target, US Bank, United Health, Ameriprise, etc are almost always hiring. So are Medtronic, 3M, Ecolab, etc, but they're not right in Minneapolis and depending on where you're at might be quite a drive. If you see a job listing by a recruiter and it mentions Richfield, MN it's almost certainly Best Buy (like this one - http://www.indeed.com/cmp/Palnar-Inc/jobs/Ui-Developer-c059f... ) or US Bank (which is actually using about 25% of Best Buy's HQ now). Best Buy hires a lot of their front end devs as contractors, so if that's what you're interested in, you probably won't find a listing on their own website. I was a Front End contractor there for 18 months. Not a bad place really, although the front end dev contractors are definitely 2nd class citizens. If you're looking for a job at Target, they host (almost) monthly meetups in their pretty cool Plaza Commons (across Nicollet Ave from their HQ). Free beer and food, some interesting talks, and there are Target recruiters there usually - http://www.meetup.com/Skyway-Software-Symposium/

- Recruiters. A lot of junk here, but there are actually some decent ones out there who aren't complete idiots. Turning the "Looking for a job" flag on in Linkedin was enough for me (just make sure you turn off notifications for your network).

Anyways, hopefully that's helpful (not sure if it will be). Unfortunately, I can't be more of a help directly as we're not hiring at my office currently (I think we just filled our latest openings).

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

#608

Earlier quoted context omitted.

Gladly! Lets say your software as a service website has a real time analytics graph, so that customers can look at statistics of how much they are using the service in real time. One potential question a customer might want to know is "How many API calls have I made over the last hour". This is a moving window average question, and it needs to be displayed/done on the front end. My company that I work at has such a f…

Thank you for the example, but this is not a generalized problem, and is very specific to your domain, so it would be silly to receive such a question from companies that are not your company, which I have had happen. If I were applying for your company, I would expect to have to implement an algorithm like this on the job, but I don't see why I should have to know it to get the job. As long as I was capable of imple…

And how would the company know you were capable of implementing algorithms as described? Perhaps by asking you during the interview how you might go about implementing it?

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

#609

The purposes of these interviews is not (usually) to see if you know the answer. It's to see how you problem solve. If you knew the correct answer to e.g. the BFS algorithm, you'll get thrown another question that they hope you don't know. When interviewing, the thing I want to see most is how someone works through a problem: can they solve from first principles? do they go via trial and error? do they ask for a comp…

That sounds nicer than what 95% of programming interviewers actually do, which is something rather different. Almost all are simply playing "programming trivia." They name an algorithm or a data structure, and then evaluate whether you can recite it from memory. That's it. There is no problem-solving element involved. It is purely a test of whether you can memorize and recite. This requires a lot less effort on the p…

If that's the case, is that really a company you'd want to work at?

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

#610

Earlier quoted context omitted.

Do you have any idea how easy it is to tell when someone's doing that? Or going even further, how exhausting this is for someone who's not good at it? Why not just be genuine?

Or going even further, how exhausting this is for someone who's not good at it? Why not just be genuine? Yes, I do. I don't act genuine because when I'm my genuine self, I glare at everyone in the room with the rage of a thousand suns. I don't know if people can tell that I'm hiding it or not, but when I try to hide and act enthusiastic, I get the job, when I don't, I don't.

Fair enough. I'm the same way.

Somewhere along the line, though, I learned to stop caring about pretending to be excited and just accept that a majority of companies won't hire me for what they perceive to be a lack of apathy. It's a pretty good filter for finding companies that I'd be happy working at, but I understand that it's not for everybody. I just hope for a much more genuine tech/otherwise community so that I don't have to pretend anymore. Pretending just feels like shit.

I'm not saying any of this under any financial comfort. I'm friggin' broke right now. Though, I'm much more content with myself, my quality of work has skyrocketed and I've learned to bulk cook a mean chicken thigh and lentil soup.

Post reply on HN