15

Most people I talk to in the industry hate the "puzzle-y" nature of interviews (e.g. coding on a whiteboard, now get it to run in linear time, oh wait there's a trick you don't know but could totally look up if given the chance) and acknowledge that it does a poor job determining the value of the prospective hire.

Why then is there no sign of this changing? I realize it's a hard problem to solve but in theory the entire company is at stake when it comes to hiring good/bad devs. You'd think somebody would have come up with a better way.

Comments
  • 0
    At our company I use the same sort of questions/puzzles as well. Those questions are all about determining someone's level of insight. Sure, some of the questions can be solved by simple tricks, others require some real knowledge about the programming language.

    To be fair, we use PHP as a programming language. Those questions are meant to find the people who really know how to program (know when to use certain design patterns, etc.). We have had multiple candidates who claimed they know how to program in PHP and know how to program object oriented. Those questions show me your true skills :)

    No offence, but most people who create WordPress sites should not apply for real PHP programming jobs. PHP is easy to learn and even easier to screw up. However, especially since PHP >=7 it allows you to write decent code. But finding those people how can are hard to find. (Still missing Generics in PHP though, but I think that should be it's own rant).
  • 2
    Kinda hard to get out of this.
    The problem is finding out if the guy sitting across from you knows how to code, has an analytical thought process, and is not insane/sociopath - unless you want that kind of coder - high output, but hard to work with. Also - very important - can handle his shit, and yours.

    The simplest way is to pose a sort of frustrating puzzle - this will reveal the candidate ability to think, code, and think analytically. The best case secnario is that the candidate does not know the answer - and is frustrated. Then you can see first hand how frustration is handled - will he or she ask for help? will she, or he admit that she/he cannot solve by him/her-self? what will be done? ofc - taking out the uzi, is a big step in the direction of "don't call us, we will call you", but not, sadly, a deal breaker.

    There are better ways - but most of them are even more annouying. Like online timed tests.
  • 1
    @magicMirror well on the basis of that shouldn't I be in high demand?

    I get the same problem though and well it's those algo questions. At this point I don't give a fuck anymore.

    Current job pays the bills (apparently devs do make a lot compared to average population even if your not working at Google) so not too bad.

    Continue coding on my own time for whatever I want done.

    I guess maybe in the end it's their loss... Unless your desperate to find a job.
  • 1
    @billgates It is the same for me - I was on both sides of this process a few times.

    I once went through a strange process where someone asked me about binary tree serilazatio/deserialzation. my reaction - "WTF? just use the framework object serilazation...". interviewer looked embarassed for a sec, and said, "ummmm - we want you to write from scratch". I shrugged and implemted a steaming pile of code. Passed that part - and it has been a few years since I had to work with trees.

    I usualy treat those as "practice" sessions for something better, that has more self respect for itself, and thier coders.
  • 0
    @magicMirror well those are the sort of questions Google and Amazon ask. Maybe not directly but that's what it boils down to.

    And so everyone else follows the big tech guys even though as OP said it's not likely you'll use it unless you become tech lead or project designer/architect
  • 1
    @billgates Very true. FB, and for some bizzare reason Wix have this thing as well... no idea why.

    The strangest experience I had, was when I was doing a hands on test. A senior backend dev met me, took me to a small meeting room, that had a laptop in it, opened up IntliJ, and asked if I know my way around it. I responded with "have you taken a look at my CV?". Answer "not so much, no...". My response was "well, I have 6 years of Android dev experience. at least half of that on Android studio". blank stare from the other side.... So I went with "Yes. I know how to use InteliJ".
    It is a really dumb process - that works for them. probably. They want Conformity, not Free Thinking.

    And as a Software architect - I have never, ever, Had to implement a binary tree anything, or a sorting algo, from scratch...
  • 1
    @magicMirror but you sorta of know how they work or what to use them for right?

    I think that's the thing, there's a difference between implementation and using/knowing the concepts.

    But technical interview test for implementation rather than do you understand the gist of these things. So spend 30 mins just trying to implement working code rather than just discussing when you would actually consider it as an option and why.

    If your job is ML where you need to actually design and optimize these algos, fine. But most people's jobs I think just involve deciding between using different existing solutions or approaches with perhaps minor tweaks.

    And from my experience and probably why I seem to be better at creating and analyzing new problems compared team members, it just because I am much more aware of different options or when to actually stop and look to see if there's a better way.

    I've done a few code/PR reviews and have gone and said "this block of code looks ugly for this seemingly common problem. Have you Googled for existing solutions? I think there should be a better, simpler, maybe more efficient way"
  • 1
    Because there's no guarantee the interviewers are good or bad either. So technical interviews are "supposed" to set a fixed bar: "anyone that cannot answer this question is not good enough." If they can, they have a chance and goes into the pool of candidates that also passed. That's at least what the online ones seem like although same with in-person ones for me too.

    And of course the interviewers know the questions before hand so they can prepare to look smarter than whoever they're interviewing unless the candidate basically crushes the problem so well that they can only say: "wow... Ok next question..."

    But yes a lot developers probably can't do this stuff without preparing for months... Sorta like cramming for the SATs... Except well I have to work 8+ hours a day and now have something called A Life
  • 1
    @billgates very true.
    I do know those algos - mostly bc I have good memory for unimportant details. I'm pretty sure, at the cost of lower social ability, and remebering names.
    But yes - going into.an interview means that you will be asked thise questions - so, treat each one as training for the next one!

    And better way? I think a chat about past things you did, or stuff yoh want to do will be much better then the current system.
Add Comment