A Method I’ve Used to Eliminate Bad Tech Hires
301–310 of 517 posts
Re: A Method I’ve Used to Eliminate Bad Tech Hires
#302Earlier 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.
Re: A Method I’ve Used to Eliminate Bad Tech Hires
#303Does 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?
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
#304Problem 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…
Re: A Method I’ve Used to Eliminate Bad Tech Hires
#305Re: A Method I’ve Used to Eliminate Bad Tech Hires
#306This 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…
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
#307This 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…
Re: A Method I’ve Used to Eliminate Bad Tech Hires
#308Earlier 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.
Re: A Method I’ve Used to Eliminate Bad Tech Hires
#309Trials 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?
Re: A Method I’ve Used to Eliminate Bad Tech Hires
#310Giving 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.