[HN Gopher] Hiring technical talent: An exercise in clarity, pat...
       ___________________________________________________________________
        
       Hiring technical talent: An exercise in clarity, patience, and
       preparation
        
       Author : wallflower
       Score  : 64 points
       Date   : 2022-05-13 00:38 UTC (22 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | lordnacho wrote:
       | > You can also have an in-depth technical interview that's just a
       | conversation instead of a pass/go asynchronous take-home
       | exercise.
       | 
       | Just a conversation is what I've always found worked. Just two
       | people in the same business discussing some technical topic. What
       | do you like about Rust? Why would you write this system in Java?
       | Blah blah, and if the person doesn't actually know much they will
       | run out of things to say. Sprinkle in some references to ordinary
       | tools like git or gcc, and you can't avoid using industry jargon
       | that will function like a shibboleth. If they know how to do
       | stuff they will know the words you throw at them and throw back
       | some of their own. If they read around their area they will know
       | what the adjacent areas are and they'll have opinions and more
       | keywords. It's not actually simple to make this up, for instance
       | how would you pretend to be a surgeon or a pilot? There'd be a
       | bunch of things you'd have to have heard of, and there isn't
       | going to be a shortcut to knowing what they meant.
       | 
       | If they're a bullshitter and they somehow manage to blag
       | themselves a job, they will get found out pretty quickly anyway,
       | definitely before the probation period ends.
       | 
       | If they're someone who understands stuff, they'll appreciate
       | talking to a technical peer and that will be part of the draw of
       | working with me.
        
       | nobodyandproud wrote:
       | I've been struggling to teach some engineers how to peer review
       | thoroughly.
       | 
       | What I realized recently is that it's really an attitude issue:
       | Do you give a shit, or not?
       | 
       | Too much time is spent vetting the unnecessary technical.
        
         | Ancalagon wrote:
         | This. Whats funny too that I've learned from my last job hunt
         | is its actually better for my career, money-wise, ladder-
         | climbing-wise, to _not_ care about my job function or
         | knowledge, but rather memorize leetcode and system design
         | solutions.
         | 
         | Note this doesn't mean I actually strive to be good at those
         | things over my job though. Just pointing it out, that's what
         | the current technical interview process selects for.
        
       | beebmam wrote:
       | >Diversity and inclusion are essential, and should be reflected
       | not only in the job posting but throughout this process. I
       | encourage managers to use take-home exercises as a delta for
       | talking points rather than a pass/fail test. Why? Because you can
       | get deeply skilled engineers who can crush code, but it's not the
       | only thing that matters in most cases.
       | 
       | Strong disagree. I would instantly decline an interview with any
       | company that expected me to do my interview work at home. I'm not
       | going to work at a company that expects me to work off my
       | scheduled hours.
       | 
       | Moreover, I find it quite ironic that this take-home interview is
       | somehow supportive of "diversity and inclusion". It seems to me
       | that the people most likely to not have the time to do their
       | interview at home are people with families, and especially women,
       | who often are responsible for much of the house/family work
       | during their non-salaried hours.
        
         | [deleted]
        
         | Kaze404 wrote:
         | I've interviewed for companies that presented this as a choice.
         | You could either do a take home assignment followed by a
         | discussion of your solution or a "standard" technical
         | interview.
        
       | polalavik wrote:
       | I think a more important point that should be added: don't have
       | 500 interviews. Have at most 2 or 3 which altogether should not
       | take more than 2 to 3 hours of somebodys time.
       | 
       | I've been to 8 hour all day interviews with a new person every
       | hour 1-on-1. It was demoralizing and exhausting. I've been in
       | interview cycles where I keep "moving up" to meet the next higher
       | up person and the next higher up person to the tune of 3-5
       | interviews. Stop!
       | 
       | You can have a meaningful conversation in 2-3 hours over a couple
       | days. Don't burn peoples time to find a unicorn. Most people are
       | pretty competent and will rise to q challenge.
       | 
       | I wish a company would run an experiment where they just higher
       | at random from a stack of team vetted resumes. I think the
       | results would almost be the same as being super picky.
        
         | mbesto wrote:
         | > Most people are pretty competent and will rise to q
         | challenge.
         | 
         | My experience is exactly the opposite. Most people are actually
         | _incompetent_.
        
           | sokoloff wrote:
           | I think the _applicant_ pool might be mostly incompetent. I
           | don't think the _employed programmer_ pool is mostly
           | incompetent.
           | 
           | When a competent applicant goes through interviews with 3
           | companies, they probably get hired. When an incompetent
           | applicant goes through interviews with 3 companies and
           | doesn't get an offer, they don't de-materialize but instead
           | keep applying, adding to the adversity in the pool of
           | applicants.
        
             | lapcat wrote:
             | Are these _wealthy_ applicants who don 't need a job? If
             | you're applying for jobs, then you either get a job, in
             | which case you become an employed programmer, and thus
             | competent in your eyes, or you eventually run out of money.
             | Difficult to remain unemployed for a long period of time.
        
         | bspear wrote:
         | The first product every candidate experiences is the interview
         | loop. If they have a sloppy and redundant loop, it directly
         | impacts the quality of talent they get. People who have lots of
         | options aren't going to put up with BS. Usually also shows they
         | have no idea what they're looking for.
         | 
         | Another challenge with hiring, esp. at a startup is that many
         | candidates who "qualify" will not be comfortable joining a
         | startup, so you have to find both high quality and high intent
         | people. There are some solutions that address this like
         | https://topstartups.io/ and https://angel.co/ to some extent.
         | 
         | In general, there needs to be clearer signaling of preferences.
         | Too much time wasted.
        
         | Ancalagon wrote:
         | Totally Agree. The endless interviews are the worst ones, and
         | I've dropped out of cycles before because they were too long.
         | 
         | And I like the experiment idea, although I don't think anyone
         | will ever do it without a boatload of cash to risk for no
         | reason.
        
           | polalavik wrote:
           | True. it just grinds my gears - whats the point of a degree
           | if at the end of the day almost 100% of companies assume I
           | know absolutely nothing and will completely flounder in their
           | company if I cannot jump through their little algorithmic
           | brain-trivia hoops?
           | 
           | People talk a lot about the price of college not being worth
           | it and that enrollment is declining because of the price +
           | salaries. I think thats one part. but I'm not sure I've seen
           | a discussion about how nearly every company out there has no
           | confidence in a college degree.
        
             | lapcat wrote:
             | > nearly every company out there has no confidence in a
             | college degree
             | 
             | Or in job experience, for that matter.
             | 
             | "You need to have 10 years experience in a technology that
             | has only existed for 5 years, and also we assume you're a
             | liar and discount all experience anyway."
        
               | polalavik wrote:
               | I was about to tack that on. Not only the badly worded
               | job descriptions, but zero trust that you actually worked
               | at $COMPANY and did some $JOB.
               | 
               | You can verify that pretty anonymously/easily (with the
               | interviewees permission, of course) by acting like a
               | landlord or something, calling the previous employer and
               | asking if $PERSON works/worked for your company and had
               | $TITLE and did they work there $YEARS.
               | 
               | That should almost be the first step imo after the quick
               | "are you a person / do you have these skills" interview
               | which is normally reserved for an HR person who doesn't
               | know a bit from a byte. If they picked up the phone,
               | claimed to have some skills, a company they work/worked
               | for genuinely seems to exist and employed them, heck hire
               | them - I bet 9/10 it would work out just fine.
        
               | [deleted]
        
         | nscalf wrote:
         | I turn down interviews that end up being >4 hours. When you get
         | to a senior engineer level, these interviews cost hundreds to
         | thousands of dollars of our time. Often times technical
         | performance doesn't _get you_ a job, it just keeps your from
         | losing the job. The decision is heavily dependent on how well
         | you got along with the hiring manager and what type of mood
         | they 're in when they meet you.
         | 
         | If you're unlucky, you'll flounder on one of the esoteric
         | algorithm questions that have little to no correlation to your
         | performance at the job. In this case, you've entirely wasted
         | your time.
        
         | returningfory2 wrote:
         | > I wish a company would run an experiment where they just
         | higher at random from a stack of team vetted resumes. I think
         | the results would almost be the same as being super picky.
         | 
         | Have you ever interviewed someone whose resume looked good but
         | who couldn't code basic things? The kind of candidate FizzBuzz
         | was invented for?
         | 
         | I interview at a FAANG and encounter these candidates all the
         | time. I feel the approach of "if their resume looks good they
         | must be fine technically" makes sense until precisely the point
         | when you interview one of these candidates.
        
           | ipaddr wrote:
           | Who cares if they can do the job.
           | 
           | Someone who has a resume with accomplishments means that
           | person has a proven record of getting the job done. Not being
           | able to do a FAANG FizzBuzz has no relationship to their
           | ability to get the job done.
           | 
           | You never hired these people so you have no idea how they
           | would do either.
           | 
           | Have you ever heard of someone hiring a surgeon by giving
           | them an over ripe orange and a plastic knife and asking them
           | to cut out every 2nd segment without getting any juice on the
           | table?
        
             | ryandrake wrote:
             | I think OP is talking about people who literally can't
             | code, yet list a track record of 10 years successfully
             | writing C++ code on their resume. And you need someone who
             | can write code--not someone who can write about their
             | coding accomplishments. We've all had that experience of
             | reading someone's resume full of accomplishments that would
             | have required the candidate to write code, then sitting
             | down with them and they can't even come up with a for loop.
        
             | popularonion wrote:
             | > Someone who has a resume with accomplishments means that
             | person has a proven record of getting the job done.
             | 
             | This sounds good, but experience has taught me it's just
             | not true.
             | 
             | It's so easy to claim credit for accomplishments where
             | other people did 90% of the work. And in a big company it
             | takes about 2 years for a bad hire to get pushed out, if
             | they ever are.
        
               | lapcat wrote:
               | > And in a big company it takes about 2 years for a bad
               | hire to get pushed out, if they ever are.
               | 
               | Two wrongs don't make a right. I wish that engineers
               | would spend half as much time trying to correct the
               | organizational dysfunction of their companies as they do
               | on leetcode and the like.
               | 
               | The tech industry that likes to brag about "innovation"
               | and "disruption" seems very conservative and resistant to
               | change as far as hiring is concerned. Everyone seems
               | complacent about that and stuck in the status quo. Then
               | they complain about a talent shortage...
        
             | necubi wrote:
             | Surgeons have to do a _7 year residency_ before they get
             | hired. There 's nothing remotely comparable for software
             | engineers.
        
               | lapcat wrote:
               | > Surgeons have to do a 7 year residency before they get
               | hired. There's nothing remotely comparable for software
               | engineers.
               | 
               | Yet software engineers with 7 years of experience are
               | still assumed to be fakers.
        
             | vsareto wrote:
             | Surgeons are vetted way beforehand by tests that are way
             | harder and way more stressful than any engineering
             | interview round. They also possess a widely recognized
             | credential from (usually) reputable schools. Software
             | doesn't have anything close to a surgeon's credentials as
             | far as wide recognition/acceptance and rigor go.
             | 
             | I would love a widely recognized and rigorous credential
             | that I could study for and work towards if it meant I never
             | had to do another technical interview again. They can be
             | less rigorous than surgeons since we're not saving lives,
             | obviously.
        
           | treeman79 wrote:
           | I spent a couple years hiringly crazy at a fast growth
           | startup.
           | 
           | After a while it got to the point where I'd walk in give an
           | easy five minute coding exercise walk out and give a thumbs
           | up or down. They could use any language editor or tool they
           | wanted. We even provided a few alternatives they could pick
           | from in case they just had a weird mental block on our
           | preferred one.
           | 
           | Others would make sure that they weren't too insane
           | personality wise.
           | 
           | Other team members were constantly shocked by candidates that
           | were verbally great but couldn't do deal with hashes or
           | arrays at all.
        
             | gopher_space wrote:
             | > Other team members were constantly shocked by candidates
             | that were verbally great but couldn't do deal with hashes
             | or arrays at all.
             | 
             | Quick questions like this always throw me. I don't think
             | about programming in a way where free floating questions
             | make much sense to me initially.
        
               | treeman79 wrote:
               | A a b b c c c c d e
               | 
               | Give me a count of each letter.
               | 
               | Give me a function that given a number returns the
               | letters that have that many in it. You have 60 minutes.
               | Any language.
        
               | popularonion wrote:
               | In my experience interviewing, about 25% of candidates
               | would fail the first part and another 25% would fail the
               | second part.
               | 
               | This is after the initial resume screen and sometimes
               | even after they did an online leetcode style test.
        
               | symfoniq wrote:
               | I'll be looking for a new contract or job in June. Last
               | time through the process, someone actually told me I was
               | bad at interviews! They might be right; I spend a lot
               | more time doing the job than looking for jobs. I'm not
               | looking forward to the grind, and doubt I would be so
               | fortunate to run into fun little problems like this one:
               | letters = %w(A a b b c c c c d e)              letter_map
               | = Hash.new(0)              letters.each do |letter|
               | letter_map[letter] += 1       end              def
               | print_count(map)         map.each do |key, value|
               | puts "\"#{key}\": #{value}"         end       end
               | def match_count(map, count)         map.select { |key,
               | value| value == count }.keys       end
               | print_count(letter_map)       match_count(letter_map, 4)
        
           | lapcat wrote:
           | > Have you ever interviewed someone whose resume looked good
           | but who couldn't code basic things? The kind of candidate
           | FizzBuzz was invented for?
           | 
           | It's a self-fulfilling prophesy, if you're using FizzBuzz to
           | judge whether people are competent.
           | 
           | Programmers aren't stage performers, but companies treat
           | interviews like auditions. Anyone with "performance anxiety"
           | is assumed to be incompetent, which is silly. The tech
           | interview/audition is unnatural and very different from
           | normal work.
           | 
           | It's been shown by researchers over and over that interviews
           | test for anxiety, not skills, but interviewers refuse to
           | listen. https://news.ncsu.edu/2020/07/tech-job-interviews-
           | anxiety/
        
           | 0x20cowboy wrote:
           | I would love to see some studies on this.
           | 
           | I am almost convinced that the market has made it so people
           | have to lie on their CVs to get through the HR filters to
           | even have a shot.
           | 
           | I've only ever interviewed people for "normal" level jobs,
           | and I have never once seen someone lie on their resume or
           | even act like they knew something they didn't.
           | 
           | I think big companies either make up this problem, or they
           | created this environment for themselves.
        
           | polalavik wrote:
           | I agree that incompetent people are out there, but I also
           | think the interview setup is completely unnatural and nerve-
           | racking.
           | 
           | I've been working 10 years, can get things up and running
           | pretty fast, learn fast, but I'm super anxious in interview
           | (and I've done hundreds). I'm just an anxious person, so most
           | of the time I completely freeze up. Perhaps finding a better
           | way to interview is a better way to hire for diversity.
           | 
           | I think there are two camps of people: truly incompetent
           | liars that look good on paper and people just straight up bad
           | at interviewing who are perfectly qualified. So how do you
           | give the latter a fighting chance?
        
             | lesuorac wrote:
             | I mean what questions are you getting that you freeze up on
             | but could otherwise solve in ~1h?
             | 
             | I nearly always use a glorified DFS and I find that roughly
             | 
             | - 50% of the candidates cannot write an iterative or
             | recursive function (never mind actually solve the problem).
             | 
             | - 15% of the candidates can't figure out how to pass data
             | recursively (i.e. a counter) and resort to a global or do
             | it incorrectly (i.e. pass-by-value which won't work).
             | 
             | - 10% start with an iterative solution and change to
             | recursive once they start having trouble (IMO good call but
             | it is solvable iteratively).
             | 
             | - 10% actually come up with a completely correct answer.
             | 
             | ~ 5% test their solution with non-provided input.
             | 
             | Sometimes I do wonder what prep the candidate has been
             | given. A lot of the time they seem afraid to add a new
             | function and instead only modify the provided template (do-
             | able but obviously more difficult).
        
               | lapcat wrote:
               | > I mean what questions are you getting that you freeze
               | up on but could otherwise solve in ~1h?
               | 
               | You're thinking that the difficulty of the question
               | matters, but it doesn't. The difficulty is the situation.
               | You freeze up in an interview, but then immediately after
               | the interview you go back and solve the same problem
               | quickly, because the anxiety is gone, and nobody is
               | standing over you watching. But you don't get a second
               | chance after you're rejected.
               | 
               | If you're _not_ anxious, you can solve very hard
               | problems. If you are anxious, you can 't solve very easy
               | problems. Many interviewers are astonished that
               | candidates can't do FizzBuzz or whatever, but it's often
               | because these interviewers don't understand fundamental
               | human psychology, and expect everyone to be a robot with
               | no emotions.
        
               | 331c8c71 wrote:
               | Can't upvote enough.
               | 
               | I tend to freeze big time in tech/mathy interviews unless
               | I feel there is a good emotional connection with the
               | interviewer.
        
               | lordnacho wrote:
               | I often google even very basic shit. If the IDE doesn't
               | give me the structure of the for loop in a given
               | language, I look it up. If I forget how to split a
               | string, I look it up. If I forget what the print
               | statement looks like, I look it up.
               | 
               | Naturally, someone interviewing me who's just written a
               | for loop in the language is going to wonder wtf I'm doing
               | in the interview, because to them it seems like something
               | everyone would know.
               | 
               | Someone who understands how to think about the problem
               | could easily get disqualified because they don't have the
               | little things to hand.
        
               | lesuorac wrote:
               | > I often google even very basic shit.
               | 
               | Ok but can you not write a pseudocode version of say
               | fibonacci recursively? Like I don't dock people _just_
               | because their code doesn't compile and when I go to run
               | it through a bunch of test cases I wrote, I'll fix
               | compilation issues. So if you write `for(int i=0;` but
               | the interview was in JS so `int` doesn't work I won't
               | care.
        
               | lordnacho wrote:
               | Yes, and I agree pseudocode should be doable if leniently
               | judged.
               | 
               | But I guess it's easy to be impressed with the guy who
               | also wrote the thing out in a way that compiled, even
               | though you were not testing for that?
               | 
               | At some point the code deviates enough from the platonic
               | ideal that it's no longer a perfect score. The issue is
               | when that is?
        
               | edmcnulty101 wrote:
               | Pass data recursively
               | 
               | You mean back up the stack via the return statement?
               | 
               | or via parameters in the function call?
        
               | lesuorac wrote:
               | Either.
               | 
               | Like I could have a recursive solution that returns the
               | sum of the length of the sub-arrays or I could just pass
               | a mutable object and update the length there.
               | 
               | Which way would depend on the exact problem (i.e. Strings
               | would be best collected in a StringBuilder rather than
               | concatenated but `lengthParam` would probably more clear
               | if it returned a number instead of using the Array).
               | ```       const lengthParam = (a,p) => {
               | if(Array.isArray(a)) {           for(let c of a) {
               | lengthParam(c,p)           }         } else {
               | p[0] = p[0] + 1         }       };              var b =
               | [0]       lengthP([1,2,3,[4,5],[6]], b);
               | console.log(b[0]) // 6       ```
        
             | throwawayboise wrote:
             | Honestly, most companies will prefer the candidate who
             | projects poise and confidence rather than anxiety, all else
             | being equal. Sorry but that's life. Work on overcoming
             | that.
        
               | lapcat wrote:
               | > Honestly, most companies will prefer the candidate who
               | projects poise and confidence rather than anxiety, all
               | else being equal. Sorry but that's life. Work on
               | overcoming that.
               | 
               | Most companies will also prefer the candidate who who
               | projects tallness and youth.
               | 
               | Maybe these biases are something that companies need to
               | overcome?
        
             | MontyCarloHall wrote:
             | In my experience, the latter can pass the interview with
             | some coaxing. Someone who knows the right answer but who's
             | frozen due to anxiety can often complete a thought that's
             | already in their head if someone else starts verbalizing
             | it. On the other hand, no amount of hints can help the
             | truly incompetent liar, since they can't produce any
             | thoughts on how to solve the problem in the first place.
             | 
             | The problem is that many (most?) interviewers have no idea
             | how to effectively coax a candidate along. They usually sit
             | there in silence for an awkwardly long period of time and
             | then fail the candidate, or offer totally irrelevant hints
             | that don't reflect how someone would actually think about
             | the problem.
        
           | VirusNewbie wrote:
           | >Have you ever interviewed someone whose resume looked good
           | but who couldn't code basic things? The kind of candidate
           | FizzBuzz was invented for?
           | 
           | I think that's fair, and why most people aren't against an
           | hour or 90 minute tech screen where someone has to write some
           | code. But I've had to do a 3 hour take home assignment, then
           | an hour long tech screen solving some medium level LC
           | problem, THEN an all day onsite doing design+multiple coding
           | rounds.
           | 
           | On top of that there's the randomness factor. I know people
           | who interviewed at FAANGs and basically had to do some easy
           | level graph traversals and some linked list manipulations.
           | Others get asked hard bottom up DP coding questions and need
           | to use Prim's algorithm for MSPs like, wtf lol those are not
           | the same thing.
        
           | cscurmudgeon wrote:
           | Do you need a full day of interview to screen for FizzBuzz?
        
       | pluc wrote:
       | I have 25 years of experience and most interviewers interview me
       | like I'm out of college. It's mildly enterfuriating.
        
         | gopher_space wrote:
         | I'll take that over "guess the keyword in a non-technical
         | project manager's head".
        
       | [deleted]
        
       | ipaddr wrote:
       | If you want to out hire competition the solution is simple. Seek
       | out premium candidates and give them a job offer before you even
       | talk to them.
       | 
       | If someone is the head of some product at google and you want
       | them cold email an offer you were always comfortable offering. If
       | they accept or counter or want to talk or engage perfect you beat
       | all the others.
       | 
       | It could work for targeting lower paying employees at less known
       | places. If the person is worth at least what you are offering
       | it's a no brainer. If a recruitor reached out to me with an offer
       | in hand even if it was lower than my current pay I would engage
       | knowing they are serious. When they reach out now and still
       | require 4 rounds of interviews it becomes a farce to get someone
       | paid for getting people into a hiring funnel. When a founder
       | reaches out personally you listen.
        
         | ceeplusplus wrote:
         | Most premium candidates won't consider your $Y M in illiquid
         | equity to be actual money. And if you're some no-name startup,
         | they definitely won't even consider you. You can't afford to
         | pay them cash either.
         | 
         | I also strongly believe in the 10x programmer idea [1] and
         | you're not even going to come across these people unless you
         | run in the same social circles as them. Some random manager at
         | Google is not necessarily a 10x candidate. It's very difficult
         | to vet potential 10x candidates from just a glance because so
         | many people exaggerate and bullshit on their resumes.
         | 
         | [1] https://www.joelonsoftware.com/2005/07/25/hitting-the-
         | high-n...
        
         | akavi wrote:
         | Just anecdata, but I've been given offers without interviews
         | purely on the basis of my resume, and viewed it as a pretty big
         | red flag.
         | 
         | I've known enough people who've gotten where they've gotten
         | with little technical ability that I'd be suspicious of a place
         | that doesn't even attempt due diligence.
        
       | chiefalchemist wrote:
       | > The hiring process is more than you evaluating the talent; the
       | talent also evaluates you. Joining a company and a team is a bi-
       | directional relationship.
       | 
       | Essential!
       | 
       | In fact, I had an interview earlier today. The two FE devs on the
       | other end of Zoom, best I could tell, didn't look at a single
       | repo in my CV. Instead we batted around fluff-ish questions (for
       | the most part) instead of "In the repo in you CV why did you...?"
       | 
       | I was disappointed and then some.
        
       ___________________________________________________________________
       (page generated 2022-05-13 23:00 UTC)