Earlier quoted context omitted.
Testing 4=='4' is far from pointless. For better or worse, programming as the majority of us practice it is no longer about flipping bits or moving bytes or red-black trees or building common collections data structures. It's now about a language plus an api or apis, and the language of front end web development is javascript. So checking if front end or fullstack dev candidates have a basic understanding of types in…
Well, testing 4 == '4' is pointless in my opinion, because you should never use the '=='-type equality in JavaScript. I never use it, so I don't even know what that evaluates to. You should always use ===, and set up a linter to enforce that. What I think is valuable to understand is the concept of truthy and falsy, as I've seen even some experienced JavaScript programmers struggle with that. Maybe that could be a de…
People suck at technical interviews
101–110 of 177 posts
Re: People suck at technical interviews
#102>> Somebody who can intelligently discuss technology >> Somebody who knows what they don't know I believe in these principles especially. Most of my interview questions are vague (and I tell the candidate this up-front, and explain why). For instance, I'll ask them to explain how they would debug a very slow cluster, or to explain everything happens between me hitting the keys 'google.com' to me viewing the web page.…
Oh god, a question like the Google one would have me not knowing what to say... I mean, to give a reasonably complete answer would take hours and hours! What do you do if someone really goes into detail and can't even get to the part where the packet leaves the local network in a practical amount of time? Is that viewed as inappropriate overkill or a poor understanding of the question?
Re: People suck at technical interviews
#103Re: People suck at technical interviews
#104Earlier quoted context omitted.
Criteria #3 is toxic. Nonsense. It's as toxic as screening a resume. On one hand you have people with immense industry experience (such as yourself) advocating to drop the "do I actually like this person" approach and on the other hand you have people who also have immense industry experience advocating that culture fit should be one of the most important criteria. I'd be interested in hearing your thoughts on elimin…
To clarify, the difference you aren't seeing between the groups is the incompetent managers define "sit next to" as "sit next to at the nudie bar" or gaming table or harry potter movie premier or frat house or pretty much any place other than work. AKA young inexperienced white frat boys only need apply. In comparison, competent managers define the same "sit next to" as "sit next to during an emergency bug fix" or wh…
Re: People suck at technical interviews
#105I've interviewed with dozens and dozens of startups in NYC. I'm an entry level Front-End Dev with passion for a lot of things I (in hindsight) probably should have gone to college for. For example, my current side-project is a completely client-side image metadata reader/writer that has forced me to learn new things like parsing Binary, Endianness, Meta and a lot of things about organizing JS because I've never built…
You should be upfront with the employer. "I think the best way for me to showcase my skills would be to come onsite for a day, and tackle whatever projects you're working on currently. After 8 hours, you'll have a good assessment as to whether or not it's a fit, and vice-versa."
Re: People suck at technical interviews
#106This is the most god damn cathartic thread I have read on this site after taking 1.5 years out to work on my own stuff and having failed 4 interviews getting back into the workforce, with the most random god damn shit technical tests.
Unfortunately, almost everybody feels overconfident and ignores our advice to prepare and practice for tech interviews: http://www.quora.com/Whats-the-best-way-to-prepare-for-a-sof...
Re: People suck at technical interviews
#107Earlier quoted context omitted.
As a junior developer, I find myself confused by your comment. It seems as if a large proportion of the posts on HN claim that, when looking to hire someone, they focus on problem solving abilities and and culture fit. However, in May when I was interviewing with companies (including YC backed startups), almost every company focused on quizzing me about trivia [1]. I was actually given a paper quiz by one of the comp…
Testing 4=='4' is far from pointless. For better or worse, programming as the majority of us practice it is no longer about flipping bits or moving bytes or red-black trees or building common collections data structures. It's now about a language plus an api or apis, and the language of front end web development is javascript. So checking if front end or fullstack dev candidates have a basic understanding of types in…
I don't program javascript at all, but am vaguely aware of the terrible implicit conversions it does. Isn't that the important part? I do not have memorized that
false == 'false' // false, yet
false == '0' // true
Why would I (I had to google that, took 5 seconds, btw)? It is ugly, terrible code. Sure, if I spend my days in a terrible code base I might be forced to learn those conversion rules, but that isn't exactly the mark of a hirable person - it is just the employment history of that person.Now, if somebody who claimed they knew javascript was writing 'j := 0' for assignment I'd be concerned - but probably they've just been writing a lot of Go lately.
I can see a question like this being asked as part of a lead in to a more general discussion about types, type conversion, how different languages manage it and the trade offs thereof. But, most of the nit-picky questions I have ever been asked in an interview were just nit-picky. What is the output of the obfuscated C? What happens if you abuse the syntax like so? Just pointless questions compared to the real thing you should be measuring - can I produce high quality code on schedule and budget that adds value to the organization without making everyone around me wish they were dead rather than talk to me again? Can I recognize inefficieces in the company and improve things? Can I step up and lead a team or a project? If asked to do something outside of my comfort zone, like go on a sales call, can I do it? Will I complain bitterly if asked to fix bugs for awhile? Will I skip off to a new job just as I start becoming productive at your company? Can I mentor junior people? Can I converse with the CEO and tell him difficult facts if necessary? Can others read my code, modify and extend it without undue problems? Can I untangle other people's spaghetti code?
Measure that stuff, not whether I know if 0 == 'false'.
Re: People suck at technical interviews
#108Earlier quoted context omitted.
That kind of question can actually be useful as a proxy for experience with the language, and whether you're the type of person who digs into understanding your tools. If you say "I'm a rockstar Javascript dev", it's very hard to prove it; but if you've never been bitten by some of Javascript's type conversions, and/or have never really looked into some of its intricacies on your own, you probably aren't. It's just o…
I find it hard to believe anyone has spent a bunch of time writing js and never been bitten by a type conversion. Am I wildly off base? I do data science, but everyone who writes R has been bitten by it's scoping rules, which are definitely not mainstream. Everyone I know who writes java or python has been bitten at least once by the pass object references by value (is there a better name for this?) function argument…
Which is the reason I would be deeply annoyed by the 4 == '4' question. The technical answer is it evaluates to true, but the real answer is "any code that requires all readers to have intimate knowledge of Javascript type conversion rules to read and understand is horrific code."
Re: People suck at technical interviews
#109I recently interviewed with a consultancy (role was UK-based) that is desperate (quite literally) to hire experienced developers in the technical area I have experience in. I came highly recommended by a recent senior hire of theirs (he had been my manager).
The technical filter question in the face-to-face interview was (paraphrased and simplified): "write an algorithm on the whiteboard to check for mismatched braces".
I described an approximate solution aloud, but did not complete the solution in the interview.
As it happens I solved it in my sleep the following night - but of course they will never, ever know that.
Now everyone will have their pet theories as to why this is a good or bad question, but these are frankly moot because I am confident the hiring developer had no idea what he was testing for with it. He may have a vague "I know the answer, so he should too" mindset, but not much more.
What does this question, presented verbally in an interview really test? A recursive solution sprung to mind, but I can recall implementing recursive solutions in production code only a few tens of times over a ten year career. The question does not test for experience with the technology they are hiring for. It certainly filters out developers who cannot come up with an algorithm while standing at a whiteboard infront of a hostile audience. I could go on, but the biases implicit in this question are as numerous as they are irrelevant.
After a few years in the industry you typically get to work direct with these so-called "top end" consultancies anyway, so you get to know what these kind of questions don't filter for. I can say with confidence and from experience they don't filter for ability to create high quality software.
The thing is, this 'clever' 'does he know recursion?!' question is almost insultingly trivial when compared to the type of problems most development teams face.
Like the fact that although "Joe" has an IQ of 150, he speaks in sentences so impossibly convoluted he may as well be mute. Or "Alice" the sole domain expert, who begrudges her position in some way and will only communicate after you have negotiated the massive chip on her shoulder.
Hell, most organisations can't even provision accurate testing environments and force their developers to run underpowered Windows laptops.
Let's walk before we can run yeah?
Re: People suck at technical interviews
#110This is a really excellent post. It talks about a bunch of things that are hobby-horses of mine (I help run recruiting for a large software security firm), and I find myself agreeing with more of it than I disagree with. I would go a little further than Laurie does. I think several of the goals he sets up for his process are not in reality achievable in an interview process. Starting axiom: job interviews are among t…
> In no other common situation does a tech worker find themselves interrogated by a panel of strangers whose implicit goal is to knock them out of contention. I take the opposite approach. I want you to succeed. I want you to be the best candidate I've seen so far. I want you to be awesome. In fact, I want to hire you right now and never have to do another interview again. I'm in your corner, and I'm rooting for you…