Live data from Hacker News

A Method I’ve Used to Eliminate Bad Tech Hires

mattermark.com

301–310 of 517 posts

Re: A Method I’ve Used to Eliminate Bad Tech Hires

#302
post #75

Earlier quoted context omitted.

I dunno about Google, but I've got a friend who's legal advice was "Stop working on your phd immediately" when his lawyer read the new employment contract we was being asked to sign when his company got acquired by Oracle. It took months for him to get an extremely limited exemption to the standard contract to be allowed to publish his thesis according to his phd requirements...

That's just one more reason to not work at someplace as notoriously 'litigious' as Oracle.

You have no control if your awesome company gets sold to giant multinational.

Re: A Method I’ve Used to Eliminate Bad Tech Hires

#303
post #5

Does anyone have experience with this style of interview from the candidate side of the equation? I want to move to this style of hiring; however, I fear that because it's against the grain I may miss out on good candidates. Is that unfounded?

I did a weekend exercise for a company once. I didn't care for it. I felt like I was wasting my time when I could be doing something I wanted to do instead, but I wanted a new job and they seemed decent.

However, before they had time to review it and get back to me, another company interviewed me and offered me the job and I took it.

From the other side of that, we now give these assignments when hiring. It has virtually eliminated the bad candidates, and we've hired a few good junior programmers for a change.

However, neither of those 2 situations paid anything. They were throw-away projects that the company couldn't actually use to avoid any legal issues. If we were going for experienced programmers, I think I'd recommend the payment route. But junior programmers? We got too many applicants to send it to all of them, and so we'd end up pre-filtering them like we used to do, which makes the process less valuable.

Re: A Method I’ve Used to Eliminate Bad Tech Hires

#304
post #266

Problem is, many companies are only playing interviews. When you want to hire people who gets the job done it is no harder than: 1. Please tell me about a project you have done, a sw book you read, a hard bug you solved, really anything you like about computing etc. 2.a (This guy seems smart) Let's discuss compensation and you can start your probation period asap. 2.b (This guy is not smart nor passionate) Thank you…

Exactly. Also you have no idea what kind of cultural fit you're having if you only rely on technical skill. And besides, why do you want me to solve $problem? Take a look at my portfolio and public code - it's telling enough.

Re: A Method I’ve Used to Eliminate Bad Tech Hires

#306

This seems like a pretty popular take on the interview process here on HN. However, there's one pretty glaring flaw that I've never seen discussed: if the interviewee can take the problem home, what prevents them setting up a hackathon with their friends at their place, and making the interview problem a team effort? A couple of knowledgeable friends can do wonders, and if you also prep with them a little you can pro…

This is the primary reason that you shouldn't make hiring decisions based on the test/problem results alone.

The interview problem should only serve to be a conversation catalyst. If they got some help with the problem, outsourced the problem or simply googled prepackaged solutions to the problem then they are going to have a really hard time talking through the context of how they solved the problem.

What you're testing for here is communication skills and, if possible, a really basic datapoint that may indicate their technical ability. The latter is very subjective and incredibly difficult to test for but the former is arguably a lot more important if they are going to be working as a part of a team.

Re: A Method I’ve Used to Eliminate Bad Tech Hires

#307

This seems like a pretty popular take on the interview process here on HN. However, there's one pretty glaring flaw that I've never seen discussed: if the interviewee can take the problem home, what prevents them setting up a hackathon with their friends at their place, and making the interview problem a team effort? A couple of knowledgeable friends can do wonders, and if you also prep with them a little you can pro…

[deleted]

Re: A Method I’ve Used to Eliminate Bad Tech Hires

#308

Earlier quoted context omitted.

If it's supposed to be 2 hours of work, then it wouldn't be too big of an issue. Even a simple phone screen is going to eat up 2 hours of my day, much less the full day interviews that most big tech companies do.

In practice, I rarely see assignments that are actually 2 hours. Even this article suggests giving candidates the weekend.

Yes, which is interesting, as 2 hours != the weekend..

Re: A Method I’ve Used to Eliminate Bad Tech Hires

#309
post #9
post #2

Trials are how we do things at Automattic. Not only do we get a feel for the candidate, but the candidate gets a feel for us too.

I've actually got a technical interview from Automattic sitting in my inbox right now, that I'm planning to work on tonight! Any tips? Is it possible/encouraged to write back and ask questions during the test?

The thing I liked most about their hiring process that it seemed to be done by permanently overworked people that didn't bother to give me any kind of answer after I worked all that hours and pushed a working solution.

Re: A Method I’ve Used to Eliminate Bad Tech Hires

#310
I'm glad to hear this works for you. But I think the process emphasizes technical skills over what really matters when hiring: how the person works with the team and within the business.

Giving someone a toy project unrelated to the business tells you nothing about how they will perform in the real environment. Letting the candidate take the work home to work on it in isolation tells you nothing about how they will work with your team, or within the company.

In his study "People and methodologies in software development" Alistair Cockburn found that “People’s characteristics, which vary from person to person and even from moment to moment, form a first-order driver of the team’s behavior and results." (http://alistair.cockburn.us/People+and+methodologies+in+soft...). Other studies have come to similar conclusions.

In a technical job, actual skills and experience are necessary but not sufficient for success. Programmers fail in their jobs because they can't work with or fit in with the team, and the larger organization. Any competent programmer can learn a new language, framework, or technique like TDD in a week or two. But people who don't pay attention to the business environment and requirements, and can't work with their team, group, etc. will fail, often costing a lot of money.

Presumably you have weeded out the unqualified before offering to pay them to work for a few hours, but this seems like offering an unnecessary incentive to learn very little about the candidate's likely on-the-job performance.

I don't know any scientific way to measure how someone will fit in, and I don't think anyone else does either. That's why having several people from different parts of the organization interview is the norm -- the interviewers compare notes and reach a consensus because everyone understands they are going mostly by their subconscious (gut) feelings.

I spend time describing the business requirements and then ask candidates how they might solve an actual business problem. I don't expect a complete or deep answer; what I'm after is finding out if the candidate can think about a business problem at all. Examples: Our inventory system frequently doesn't match what's in the warehouse. We get a lot of people abandoning their cart at checkout. We have customers gaming our promotion codes.

Testing for things like "functional reactive principles" is an example of ignoring the business environment and favoring technical trivia. No business ever had the problem "We need 2,000 lines of Ruby code by next week," or "We need a system to organize a small movie library, you have two hours." What I find is that far too many programmers don't even hear business requirements and can't do basic analysis or think of the right questions to ask. They want to start writing code. Having expensive people writing code that doesn't address business requirements is costly, and very common. If a candidate isn't asking questions about the business and the team that's a big red flag for me. Programmers who just want to be left alone to do their own thing are easy to find but they aren't necessarily a good fit, or productive.

I also spend time getting as many people in the organization as I can to chat with the candidate, so we can compare our impressions. That is just recognizing human nature -- we all tend to form opinions of other peole within a few seconds, and then look for things that reinforce our impression. Of course I want to see evidence of actual technical skill, but I can do that with a few actual programming problems -- even something on the level of FizzBuzz will tell you if the person can solve a problem in code. And I want to see how they solve the problem, and what kinds of questions they ask.

If someone is uncomfortable working alongside another programmer, or solving problems on a whiteboard, or talking to a group, I get it, but those are all necessary skills too. Just like learning a new framework, a motivated person can learn to work in a group, listen and ask questions, speak to a room. They may be a genius when left alone in a corner not interacting with anyone but they probably aren't going to be a good fit in most organizations. I often ask candidates to tell me how they would go about hiring someone for the same job they are interviewing for -- suppose we have two positions open and you get to hire a peer. That can tell me a lot about what they value in a co-worker.

Post reply on HN