Hacker News new | ask | show | jobs
by blizkreeg 2675 days ago
I'd like to talk more about (1). We do a homework assignment that in fact does takes a few hours, but only for candidates who don't have experience developing in our core stack. If you can code in the languages and frameworks we use, it's a step we bypass. It tells us if they can solve a problem well using the tools and setup of their choice. If we clearly see they did well at this, the on-site can then focus on the more non-coding aspect.

Our on-site interviews are highly contextual and rooted in the real-world where candidates work directly in our codebase. They are reasonable in the things we ask candidates to do (re-factor something, review PRs, implement a small enhancement).

If someone can't code in one of our core languages, it's a tougher assessment since we would have to resort to hypothetical/whiteboard crap (which we hate). How do you assess someone then? We recently had a candidate do a take-home where they didn't do well, and it did save 5-6h of everyone's time and their effort of coming in and being subject to the pressure of the interview.

I'd love to hear counter-opinions on this.

4 comments

That's nice. If your recruiter called me I would pass unless I happened to be unemployed. And even if I were unemployed, I'd tell your recruiter that I'm interested but I'd prioritize all of the other companies I'm talking to that don't have a homework assignment. If I failed their code challenges, only then would I do your homework assignment. Most developers I know would do the same exact thing. You have to realize that you are NOT the only company the candidate is talking to. In fact, the candidate doesn't even know if they want to work for you. Their recruiter pitched a bunch of companies to them. Your company was one of those. They were like "okay, sure send me over there." Seriously, unless you're a famous company like Google, the candidate never even heard of you. You are one of many places they agreed to let a recruiter send your resume to. Your job is to sell them on why they want to work there, not give them a fucking homework assignment.
I like your response. I think the reason for it is because it's a false indicator of capability and its demeaning. I think some technical discussion is good but this paranoia that somehow you're scamming them with a long con is so stupid and results in terribly non diverse hires.
So in the above reply I completely ignored the fact that he said the homework is only given to people who haven't worked with their tech stack. I also swore and went on a rant. Sorry! It's still something that needs to be said though. Just not to that guy...
Haha thank you for not directing that at me.

Hiring and having a welcoming but selective process is rough :)

Indeed it is my friend. One more thing I'd like to share... A lot of companies start their process by having someone in HR reach out to the candidate. Often these calls provide little of no value to the candidate. They are simply another hurdle. Here are some things I wish the HR folks would take into account:

1. Please be prepared to actually sell your position. Most recruiters simply explain what the business is and then tell you that their engineering team is really tech focused. It's totally generic. It's nothing the candidate hasn't already heard from their recruiter or read on the web site.

What's special about your product or company? What kind of benefits do you offer? What makes your tech team so great? Have you built some amazing open source library? Is the CTO an ex-Google guy?

2. Please be prepared to answer some basic questions that an engineer will have. For example, what is your tech stack. "We use JavaScript on the front end" is not an acceptable answer (unfortunately, It's one I've received several times). Tell me what frameworks you use. I know you're not an engineer, but you could ask one to write it down for you.

3. Please know what the technical assessment process is. "We have a technical assessment" is not an answer. Is it a take home assignment? A hacker rank test? A remote code pairing? If it's a take home assignment, how long does it take? Again, you are likely not the only company the candidate is interviewing with. The candidate needs to know how long the process will take and how much time he has to invest.

> only for candidates who don't have experience developing in our core stack

If you're looking for top talent it wouldn't be measured against any singular tech stack. I tend to take positions on stacks where I'm unfamiliar, and no I wouldn't complete homework. Employers are competing for the good candidates and should have a process of identifying them without hoops.

I'd love to hear your thoughts on the right process. We want to make it easy for the candidate too. Care to share your feedback/opinions?
When I'm interviewing senior candidates or being interviewed, my preferred first interview is a conversation about interests, past work, and areas of future work. Depending on the ability to communicate effectively and deeply about topics of shared knowledge and interests that will decide the next steps. It also gives a good idea of the candidate and the company in the process. The best use of time all around. I have yet to be 'duped' by an imposter by this process. Some may be slightly underwhelming but I've yet to regret a hire or being hired.
I do that as well and that still doesn't tell you much. It's a good first screen filter but isn't always sufficient. For senior candidates though, I agree that a homework assignment is not the best qualification process.
People willing to spend a few hours of their day doing a "homework assignment" will tilt towards the spectrum of people who have a lot of free time which might not intersect that well with the set of people you want to hire.
> If you can code in the languages and frameworks we use, it's a step we bypass.

Curious; can you say more about how you judge this? Isn't that sort of the point of the homework in the first place?

Judge if they can code in our core stack? Well, if they're working with it in their current job, or in side projects. Assessing if they are good, we can do it in the on-site. Like I said, our on-site is based on knowing our stack, so we have to make sure they can work with it before we bring them in.
What is this 'core stack' you speak of, is it special in some way?

I once did an all day on-site pairing interview with Pivotal. The morning was Swift/iOS and afternoon was Java back-end. I didn't have experience in either except some Java desktop GUI from a while back. It was all fine, they wanted to see how I think, what code paths I think of, what tests I choose for coverage. The actual syntax of what's being written wasn't the main point. That translates quickly on the job from experience doing similar tasks in other environments. If on the other hand, you've never written a test, or discussed code with a colleague those are not as easy to pick up from somewhere else.