by passenger on 5/2/19, 6:35 PM with 148 comments
by andrewstuart on 5/2/19, 9:57 PM
I once sent one of the very best programmers I know for a job interview.
I have met a small handful of outstanding programmers in my > 30 years in IT and this guy was in the top five, near the top.
I had personally worked directly with him for 5 years and he was unquestionably one of the most talented programmers there is, and a nice guy, easy to get along with and great to work with. Incredibly productive, and capable of the most incredible feats of software development.
The client interviewed him and said ....... no thanks.
There you go - I have just explained everything you need to know about technical recruiting. Give it some thought - the more you think about it, the more it reveals the deepest truth about YOU and your software hiring processes.
NO-ONE - no-one ever thinks they make the wrong call when they reject a candidate - including you.
If you want to know what happened after that - I called the CEO who I knew quite well and essentially said to him "What the fuck are you doing? I sent you one of the best programmers there is - and I know this from first hand personal experience over five years - and your interviewers rejected him?". They employed him because of that and he became their chief technical architect pretty quickly.
by rsweeney21 on 5/2/19, 8:06 PM
My new company helps companies fill contract software positions. We're a lot like a recruiting or staffing agency, but trying to do it in a new, less spammy way. It's been REALLY frustrating working with hiring managers. I used to be one of these frustrating hiring managers so I guess I had it coming.
I had a hiring manager tell me that he can tell in the first 15 min of an interview if someone is a great engineer or not. I remember thinking the same thing. I felt like I had this special intuition that I had developed over the years. That's just total BS. There is NO WAY you can know that and you don't have a "special gift".
I don't have a great solution yet, but for senior engineers I've come to trust previous work experience the candidate has much more than my gut, my culture fit questions and my stupid coding questions. We had a hiring manager that was looking for a strong back end engineer turn down the engineer that built the search backend for yelp because he didn't like his answer to "how would you program the code in an elevator."
So my new company Facet (www.facetdev.com) is basically built around helping senior engineers, with strong experience building products at scale, find contract work.
by MikeTaylor on 5/2/19, 7:11 PM
But you often can tell, with very very nearly 100% confidence if someone will not be a success. And that is the purpose of the interview. To filter out the "definitely not"s — the programmers who can't write fizzbuzz. And yes, I have seen plenty of these.
And interview is not the be-all and end-all of recruiting: of course it isn't. But I'm seeing a pendulum swinging a long way in the other direction now, and a lot of people talking as though interviews are worthless. They're really not.
by nocitrek on 5/2/19, 9:25 PM
by sagitariusrex on 5/2/19, 7:17 PM
by 0x445442 on 5/2/19, 9:12 PM
And those that do care about past accomplishments seem to be more interested in public Github repos.
However, it's my guess there's some sort of inflection point because I doubt Pike or van Rossum did any white board problems when they were hired at Google. My guess is their interviews were much closer to the way the rest of the world, the world outside software development, conducts interviews.
by larrik on 5/2/19, 7:11 PM
by movax on 5/2/19, 9:53 PM
by mjevans on 5/2/19, 9:24 PM
Formally have an internal 'contract' worker process where anyone they might want can be hired in to a trial pool, and projects can bring in the trial worker for small things quickly (maybe writing unit tests, or a fresh set of eyes, etc).
Every month review performance, make a decision to offer job as X, keep on for another month, or let go.
As a different part of this, alternating weekends might also be a more focused part of this, let someone that ALREADY has a job have a similar trial process on just some weekends, maybe with a more remote-work focus.
by thtthings on 5/2/19, 9:08 PM
But i dont see this changing as most interviewers have been through the system and are likely average programmers themselves.
by stratigos on 5/3/19, 10:56 PM
Articles and discussion threads like this are pretty much the only reason Im willing to interview at all (and thus remain in the industry). So thanks for sharing, Im glad to know other people are aware of how bonkers this is.
The long version takes years of explaining.
The short version is: I am highly allergic to cognitive dissonance.
by llamataboot on 5/2/19, 8:10 PM
by starpilot on 5/2/19, 8:15 PM
by bdcravens on 5/2/19, 8:58 PM
This really isn't your typical "but whiteboard interviews suck!" situation. (not to say that they don't ....)
by gumby on 5/2/19, 11:17 PM
Also: "is this person a jerk?" though you have to account for the awkward things someone might accidentally say when they feel they're in a high-pressure situation.
by vram22 on 5/3/19, 12:08 AM
FizzBuzz in Python with nested conditional expressions and a generator expression:
https://jugad2.blogspot.com/2018/12/fizzbuzz-in-python-with-...
by julienreszka on 5/3/19, 3:45 AM
In France we have a legal maximal 4 months trial period for employees so... This gives enough time I think.
by stunt on 5/3/19, 6:27 AM
Then you need to spend more time for the remaining ones to find the right people.
by baconmania on 5/3/19, 3:58 AM
by combatentropy on 5/3/19, 5:03 AM
I could talk to someone for hours and still misjudge whether I would enjoy coding on the same project with them.
Show me reams of code that they wrote, and I will know immediately.
It's too bad that usually isn't possible.
by alkonaut on 5/2/19, 9:37 PM
by EliRivers on 5/2/19, 7:30 PM
by LeicaLatte on 5/2/19, 7:59 PM
by segmondy on 5/2/19, 8:48 PM
What's difficult to judge is, are they organized? are they hard working? how do they handle stress? how's their communication and attitude? do they write great documentation? do they test their code? are they a great team player? how creative are they?
Due to time constraint of an interview, someone might be more sloppy than usual. Their might be the interview stress which is different from regular work stress, interview stress can impact their communication, etc. But if we focus plainly on technical skills, you can flush that out in 60 minutes.
I'm a hiring manager, and I have never failed in hiring someone who didn't have the required tech skills. Technical ability I can always hit spot on, the tough one is determination and soft skills. Some of the folks I took chance on, who displayed terrible soft skills during interview turned out to be champs, communicate great, work hard, etc. A few that were very eloquent during interviews were a disappointment, sloppy in development, poor communication in practice, etc.
People also grow, so someone that was a bad fit/interview for you, could in a few years grow and become great. Potential is also difficult to spot.