To start, thanks for the self-submitted promo piece on your company. If you want publicity, earn it. You ought to make a statement about this fact in the comment section. Or, submit this using an official account.
Here is basically how it goes:
- Phone screening
- Take home assignment
- "Resume” interview
- Technical interview
- Product interview
- Interview with another team
- Finalizing the hire
This might seem that there are a lot of steps… and maybe it’s true. However we feel that it’s good for both parties if they get a good look at what working together would be like.
Are you kidding me? That is more time spent interviewing with you than the legal French work week. Who has time for that? I don't know about Paris, most candidates would laugh in the face of your recruiter. Those that don't are push-overs with nothing better to do.
Put yourself in someone else's shoes and imagine going through 7 days of 1-4hr interviews, concurrently, with a half dozen other companies at the same time. What makes your company so elite? Prove it.
If you sum it all up, it is less than a day. The phone screening is ~20 minutes, the assignment takes a couple of hours and so on.
I think it's fair to expect that a candidate is willing to invest at least 5-6 hours in an interview process. Compared to what I've seen before (full day interviews, freelance period etc) this seems fair to me. But like you comment proves, it might not be for everybody.
A take home assignment alone is likely more than a work day, if not multiples - I'll take a 7 hour onsite interview gauntlet over that any day.
The only side this process seems to be favorable for is the company interviewing.
To give a flip side, I just finished interviewing with over 10 companies in a rigorous search. Of those, two did take home tests, and ultimately I didn't have the time to complete either, especially since the requirements were written in a way where candidates were encouraged to dump a lot of time into them. My schedule was filled with many high stakes interviews, which was mentally exhausting. It simply is not in my interest to do a take home project, as it reduces the number of companies I can simultaneously interview at.
From experience we saw that for most people doing the coding test was only taking ~an evening which seems reasonable as it removes the need for more on site discussions.
I guess that it's true that the take home assignment is not optimal if you interviews with more than 10 companies and in this case we must be loosing some candidates.
They lie. Most candidates will tell you the coding exercise took less than it actually did because
1) they want to appear efficient
2) you said it would take only 3 hours so if they say it took 8 hours it would look like a failure
Source: me, last week, for another company.
Plus, programming is not just writing code, most technical interviewers will want to see the global design, unit tests, comments, etc... Which are not accounted for in the expected time
If this is the case, you are merely writing a piece of "our interview process is entirely average." I don't know about you, but 5-6 hours is standard. What's the point of breaking out your day-of process into 4 bullet points if its just the same as your normal engineering interview? Fluff.
Finally, realize that your candidates (just like your Eng org) spend much more time prepping for your interview than you quantify on paper. However much they choose to is up to them, but don't pretend you're doing them a favor.
I never said our interview process was perfect, I mainly wanted to share it because I saw a lot of people complaining about whiteboard coding and so on... so I figured it could be interesting to some to see a less exhausting alternative.
Just a small observation: whiteboard coding is not inherently wrong. Bad experiences with whiteboard coding usually come from dealing with companies with broken hiring process, where simply eliminating whiteboard coding and replacing it with something else wouldn't help.
That was a little startling. Other than open source companies, how many employers would be happy to know their code is being shown off to potential future employers?
That whole section needs an alternate. Enough people are NDA etc. bound that you're going to have qualified people who literally can't do this step. Many people don't have large software written in the public domain or do not have anything showable because they don't have access to the source anymore. It'd be awesome if everyone had enterprise level software on GitHub, but that seems an unfair requirement to show technical competency for closed software.
We accept any kind of code, be it a kata made during a workshop or a side project... really we just want to talk about code that the candidate wrote previously. It doesn't need to be large to have interesting tradeoffs made
Why? You already gave the candidate a "take home assignment". That assignment should involve interesting trade-offs. If it doesn't, tweak it until it does. Why not discuss that code?
I'm the kind of guy who still likes to code on the side, at home, for fun, after all these years, but I'm also aware that not everyone is like that. Maybe that's one of your filters -- maybe you're looking for people who prefer coding to be 90% of their lives -- but that would be a big red flag in my book. I've seen too many companies who think that they are entitled to employees who will give them everything for next-to-nothing in return.
Sometimes we do discuss this code if the candidate prefers. But it's still a somewhat "fake" code made for the only purpose to apply at the company. Most people would find it more interesting to discuss code they spent weeks on.
Finally we are not looking for any specific profile, but so far almost every person found a piece of code to share from their career. We don't get thousands of applicants, so maybe we're not seeing the issue just yet. If it turns out to be a problem, we'll change the process :)
>"We accept any kind of code, be it a kata made during a workshop or a side project"
>"But it's still a somewhat "fake" code made for the only purpose to apply at the company"
The code I write for side projects is not "production quality" because I do it for my own entertainment. I would never feel comfortable showing it off in an interview because it doesn't represent me professionally. All of my positions have been strictly closed-source.
Additionally, the code I write for side projects is usually unlike the work I'd be doing professionally. I'm a web developer but most of the side projects I work on are either dinky little video games or open source hardware.
I'll cede that I do find my side projects more interesting to talk about but I generally try and write "high-ish quality code" (not "fake") for the take home interview projects that I've had to do.
That ignores the class of FOSS people I like to call the "fixers", the ones that will spelunk a code base because they have a problem, find the 10 line fix that fixes their issue and never come back to the project again. Those 10 lines were probably very useful but doesn't show any larger design ability, despite that being a thing the candidate may be very good at, or large enough to garner a gauge on how that person sees code. Also consider the people who have never contributed to open source because they leave their work at the door. This is all your prerogative on how you want to run this, but I was personally put off reading that section, despite having a good idea what you're looking for. out of it
Yes it's true that it doesn't fit all use cases. However I would see looking at a few of the fixes you're talking about as an interesting technical interview.
Yes, some people prefer not to share this and it is totally fine by us. It's really up to the candidate to decide in accordance to the previous company's policies.
Personally I wouldn't mind if a previous employee would like to demonstrate his/her work using the codebase - as long as they're not applying to a competing firm :) We also have a lot of people that created their own companies or interesting side projects that will present this.
I don't think that there much one can learn by looking at a couple of classes. On our end we let the candidate decide based on their previous company's policies.
I'm elbow deep in all parts of the recruitment process, and the take-home test and "bring some sample code in" are much superior to anything algorithm-y or whiteboard-y, so +1
Here is basically how it goes:
- Phone screening
- Take home assignment
- "Resume” interview
- Technical interview
- Product interview
- Interview with another team
- Finalizing the hire
This might seem that there are a lot of steps… and maybe it’s true. However we feel that it’s good for both parties if they get a good look at what working together would be like.
Are you kidding me? That is more time spent interviewing with you than the legal French work week. Who has time for that? I don't know about Paris, most candidates would laugh in the face of your recruiter. Those that don't are push-overs with nothing better to do.
Put yourself in someone else's shoes and imagine going through 7 days of 1-4hr interviews, concurrently, with a half dozen other companies at the same time. What makes your company so elite? Prove it.
Some some respect.