by ddispaltro on 10/9/19, 8:57 PM with 104 comments
by tptacek on 10/11/19, 3:56 PM
* The challenges often don't actually matter, and are simply part of the recruiting hazing ritual.
* They're totally subjective and just a proxy for the same bullshit friends-and-resumes process people were using already.
* No consideration is given to the amount of time the entire recruiting process is taking.
* The challenges themselves are totally divorced from the day-to-day expectations of the job, so people are doing CS102 algorithms problems for jobs that will mostly be about moving bits from one place to another.
I understand why people don't like them. But that doesn't really matter, because code challenges are so much more effective at qualifying people that it would be crazy for any competent shop to stop using them.
For a couple years (and, of course, for many years before at Matasano) we've been hiring resume-blind and with almost no interviewing (we do a final on-site, but it's a formality with no tech-out, which is something we tell candidates). We calibrate our challenges so that they'd ideally, for a qualified candidate, take less time than interviews and phone screens would, and have the advantage of being scheduled at the candidate's convenience (all in one night, spread out over a couple weekends, whatever).
We have candidates coming out of our ears (volume has been the single biggest problem with our recruiting practice), and the quality of those candidates is just as good as anyone else's comparable funnel.
This is the right way to hire technical staff.
by nscalf on 10/11/19, 3:30 PM
My skills give companies extreme multiples of ROI, and no other fields have nearly as ridiculous a hiring process. Have someone come onsite for a day and pay them, we can both decide if it’s a decent fit. But I don’t know you, your company, your team, the work process, the supporting teams, your funding, etc... honestly, one of those things are probably really awful. I’m not jumping through hoops for free. You’re not google, you won’t pay me $150,000+. Pass.
by deeg on 10/11/19, 3:55 PM
Most people seem to agree that white-boarding is a poor way to judge technical skills. Coding challenges seem a good compromise, assuming they don't require more than a few hours of time.
by 0xDEFC0DE on 10/11/19, 3:40 PM
by vorpalhex on 10/11/19, 3:07 PM
Yeah, I don't typically work for free either. Are you paying candidates for this time?
"Hey, I need you to come in and stock shelves for four hours, you know, just to see if you're a hidden gem for shelf stocking"
by iliaznk on 10/11/19, 4:51 PM
1) They asked for some publicly available samples of my code «I’m proud of». Okay, I prepared three samples from different areas with detailed descriptions and comments, explaining what that code did and why it was good.
2) After that, as a coding challenge, they asked me to write a simple app using the Unsplash API.
3) Finally we had an over an hour long interview during which I was again given three simple coding problems.
And then they rejected me. The question I have after all that is do you really need a multi-staged procedure like that to determine a candidate is not a good fit?! When exactly did they decide I wouldn’t fit? If that was after step 1 or 2, why didn’t they stop right there? If that was only after step 3, then what’s the purpose of steps 1 and 2? They don’t mean anything if step 3 can just cancel them out. Then why didn’t they start with step 3 not to waste my and their time?
by etxm on 10/11/19, 4:38 PM
Let a candidate pick a ticket from an open source project and come in to pair on it (or shoulder surf if uncomfortable with pairing). I don’t see the issue until the day we are pairing. Goal is to let them be the expert and as comfortable as possible.
They get some code on their GitHub, open source benefits, and I get a peak into their engineering skills.
If you’re thinking, “hey that’s not apples to apples,” well people aren’t fucking apples.
I had someone come in once that didn’t have an “issue.” She had been working with a library that had poor docs and wanted to work through the library and document it. THAT! That was an awesome experience. Best engineer? I had no idea. Willing to bang her head against a wall to make the experience better for others. Yes. Fuck yes, get on my team.
by deedubaya on 10/11/19, 3:21 PM
You may be gaining access to hidden gems, but you're definitely turning away proven and experienced developers from even entering your hiring funnel.
It all depends on what type of employee you're wanting to hire.
by kemiller2002 on 10/11/19, 3:56 PM
by UweSchmidt on 10/11/19, 3:29 PM
The only way to find out what kind of salary is possible is to ask for numbers that get rejected a few times. Additionally, there are many companies out there, with a surprising variety of job parameters. Finally, many people are not good or comfortable with the application process, so you need to practice.
This means you have to apply to many companies and have to have many job interviews. Long, multi-round interview processes and take-home assignments - reasonable or not - make this very difficult and expensive for the employee.
These regular company blogposts seem to respond to the pushback of applicants and try and establish this kind of application process as a norm. Unfortunately this would decrease the market transparency for employees even more - many people go through their working lives underpaid and in subobtimal working conditions without knowing any better. This procedure also feels asymetric - in a time where software people are supposedly in demand, it's the employee who is supposed to jump through hoops to get a job.
by jgwil2 on 10/11/19, 5:00 PM
by mooreds on 10/11/19, 4:11 PM
Saying "We will pay you to do this exercise" is a simple (and cheap!) way to show you value candidate's time.
by jonfw on 10/11/19, 3:55 PM
I was contacted by a recruiter a short while ago asking my availability for a phone screen- and I replied simply with my availability. The recruiter still hasn't gotten back to me, and I think that it may be because I didn't go out of my way to thank them for reaching out to me.
Are all of the niceties in your email inbox really that important to people? It seems pretty manufactured and boilerplate when people send me emails that they "hope find me well".
I may just have to get over it and start letting people know how "excited I am to speak with you and learn more about this opportunity!"
by kureikain on 10/11/19, 9:25 PM
Let me shared my experience.
Alexander is fantastic as an interviewer and co-worker. I was interview by ALEXANDER a few years ago. I ended up not getting an offer. It was my fault.
The challenge is the hardest thing I have to research on my own to implement because google found no result for me at the time. I learned a lot when working on his challenge and the idea of being able to solve it is more imporant than passing to interview to me.
The way they conduct interview is really great. You are given help by their team.
All I can say is Gravitational takes hiring to their heart and setup for success of candidate.
TO Alex, I'm Vinh if you remember me :-).
by sandGorgon on 10/11/19, 3:39 PM
> Not communicating. Candidates who submitted all the code to master branch, which does not give us the ability to provide feedback on the various implementation phases. Because we are a distributed team, structured communication is critical to us.
how do you ask your candidate to split your answer using PR ? We would like this during interviewing but it ends up being a single PR. I dont want to impose create separate branches and a PR for each small incremental feature thing.
I'm assuming you are using Github
by pickle-wizard on 10/11/19, 4:42 PM
It was done one site as part of the interview process. It was related to the work I'd be doing, however it wasn't super complicated. They expected that you'd be able to finish it in about 30 minutes, but you had as much time as you needed. I finished it in about 20 minutes. Since it was over lunch time, they bought me lunch. I figure lunch for 20 minutes of work was a fair reimbursement.
by etxm on 10/11/19, 4:25 PM
I don’t know if we’ll ever fix it, but code challenges certainly aren’t the answer.
I’ve been developing professionally for 20 years.
I take about 4 interviews a year when _not_ looking for a job to stay practiced. Held DoE, Staff, and Principle roles.
Anecdotal evidence from this year:
- given a decent sized MVC app with bugs and missing features. Tasked to green the test suite. PR comment from a pretty established engineer was “this is perfect, I wouldnt change anything.” I used 1 of my 4 hours and thought my work was poor
- given a “simple”[1] sort and map/reduce a large log file and didn’t finish after 2 hours because the interviewer kept interrupting to ask me about the details of how internals of the language and GC worked - things I was familiar with, but I can’t focus on code and answering questions at the same time. I was ranked as “junior” and not a fit for the role, cute.
This last one rolls up into one of the problems I have (and assume others have) in interviews: “work through the problem as you would, but talk out loud about your process”
If I’m talking, I’m not in my zone. Let me shut the fuck up and solve the problem and we can talk about it afterwards.
[1] “simply” parse this 500k line CSV file and aggregate some results, no dependencies. CSV file was actually a STDOUT log file that multiple containers were writing to with different formats, JSON, CSV, TSV, SSV, and random ass unstructured logs from a prod system.
by rileymat2 on 10/11/19, 4:00 PM
by rajacombinator on 10/11/19, 7:05 PM
by IshKebab on 10/11/19, 4:09 PM
by a0zU on 10/11/19, 4:07 PM