Sometimes the people who ask you to interview are not the same people who do actually end up interviewing you, or they don't communicate with each other.
At one of my last interviews I was told I don't look like I want the job enough because I was dressed casually. I was very confused. I reminded them that they requested an interview with me several times, even after I told them I was not on the market, and that I had actually taken time of work for the interview. I only showed up because they practically begged me. I was so annoyed at some of the questions. "What value can you add to this company?" No sir, how can YOU make it worth MY while to join you, considering that I have to leave a position that I'm perfectly comfortable with? After finally understanding that I was happy with my current job, one of the interviewers asked me "So why are you here wasting our time?" I was infuriated.
The whole experience left a bitter taste in my mouth. I don't think I would ever consider interviewing at that company again.
I think this also applies to someone who is unemployed. All I want is to do meaningful work and get paid. I'm tired of the hamster wheel of job applications.
For coders, a major offender is the variety of TrueAbility/Codility/HackerRank/custom code challenges. FizzBuzz is fine. You want to filter out people who just can't code. Beyond that, timed challenges don't tell the recruiter anything about how a person interacts with others, or maintains code, or researches solutions for new problems.
And then, after I successfully complete the code challenge, investing time that I really can't afford, they just look at my resume and delete my application, anyway.
Had the same thing the other week. This guy want me to do a coding test, i.e. build a complete smallish application with all bells and whistles, which was going to take somewhere between 8 to 10 hours of my time. Really? This is supposed to be a test to establish if I can write code or not? If you want me to spend that much time, no worries, I'll invoice you for the privilege.
For engineers without open source contributions, why not give a coding project? It seems to me like there's no need to eat into the person's working time, spending a few hours solving an interesting problem shouldn't deter people you want hire to code all day, and the signals you'll get are orthogonal to what you'll be able to assess in person.
I wouldn't mind being asked to create a small piece of open source software that would continue to look good on my portfolio even if the company never talked to me again. Hell, if the company wrote the project boilerplate and the tests and let me fill the code in and put it up with a GPL license, I'd be thrilled :)
Won't hold my breath.
I'm sick to the back teeth of most of these mini coding projects, though. They're too often sent by companies who aren't even sure they want to hire at all or wouldn't hire you anyway for some unrelated reason (age, race, etc.). The projects are always boring and almost never suitable for a portfolio.
It's also too easy to hit the 'send email' button and too easy to ignore the responses. Unless there is some cost for the company sending you the mini-project, a lot are going to waste your time.
For this reason, I actually prefer interviews. They're going to at least do a cursory examination and reject you outright before wasting an hour of their own time.
Let me describe the situation from the other side.
Where I am employed we are actively hiring. In late 2012, three of us started a small experimental projected which became a hit with our customers. As more feature requests came rolling in we realized that we need a bigger team to work on the project. We have been hiring since the start of 2014. We now have a team of about 15 engineers, but we still have few more open positions.
From our experience, resumes usually are not a good predictor of anything we care for. The only useful thing it tells us is what firms the candidate has worked at, and what those groups were doing while the candidate was there.
When a candidate comes onsite we spend significant time showing a demo of our product, what our groups ambitions are, discussions to understand what the candidates career goals are etc. We also have the standard white-board interviews, often attempting to design a small feature on our product. This takes significant effort on our part. Before investing this time, we will prefer to see some code from the candidate.
The candidate is offered an option to show us (1) some code they wrote which is out in the public domain, OR (2) some code from their employer (if their employment terms allow it) OR (3) solution to a small coding question we provide. Our coding question takes about 4-5 hours of the candidates time.
This process has worked very well for us. We have been able to screen our candidates with very impressive resumes who wrote horrible code. We have also found many great candidates (some who are my colleagues now!) with ordinary looking resumes.
I hope I have tried to explain our thought process behind asking candidates for some code.
Are you still at AppDynamics? Because my application to your company back in January is still listed in Jobvite as “New.” I applied for several positions, and the distribution is pretty even between “New,” “Closed,” or “Not Selected,” and I never got an interview or an invitation to come on-site.
Agree on mini coding, useless projects - especially when an HR drone sends out Java test to a python dev :)
Another thing to keep in mind is that for a lot of people who are already employed, permission must be obtained from current employer before contributing to open source (and more and more companies are actively enforcing that unfortunately).
> for a lot of people who are already employed, permission must be obtained from current employer before contributing to open source
I am always puzzled about contract clauses that try to limit what an employee can do in their free time. I understand that some people may be in a bad situation and have no choice but to put up with it. But if we're really in a seller's market, as everyone says, how can this kind of thing become a tendency?
It's actually usually not the employer, but the local dept of labor laws - for salaries employees, unless explicitly stated otherwise - your employer generally "owns" anything you do in your line of work, even on your own time. So for example if you work for a game studio, coming up with an idea for a game would auto-magically make it your employer's property, even if you did it on a sunday morning.
This is further reinforced by various employer-specific clauses in the hiring contract / code of conduct.
I don't sign contracts like these. Actually, I refuse even to work for employers who put it in and then take it out when asked because the trust has already gone if you demanded to own the work I do on a Sunday afternoon.
Any employer who puts that clause in their contract and whinges about not being able to find good developers has only themselves to blame.
As someone who is employed, I don't have the inclination to solve a open ended problem that somehow subjectively interests you or some individual arbitrarily in what little time I have in my life. I have other projects I could be working on, my family to give my life to. Not engage in something like this. The test problem should be small. Not a 'coding project'. It is unethical to ask for anything more.
This is exactly what we do where I work. We send them a small problem that any competent person can solve in 15-30 mins in Python/Java/C++. It is amazing what an effective filter this is and submitted results range from fully tested code, innovative O(1) solutions down to code submitted in MS Word that gives the wrong answer.
As a front line filter it is cheap, simple and revealing.
I'm not so sure that a software engineer who doesn't have any time (because you know, family) or desire (because it's unpaid work) to spend on open source software would suddenly find it OK to spend more than short amounts of time on a company's test project -- especially if they have a job or clients or any type of regular work lined up.
If you are asking someone to develop something for "a few hours" on their own time, you should be willing to pay them for it. Companies regularly pay recruiters 30% of the first year salary for candidates, companies should be willing to pay a few hundred dollars to someone that they are asking to dedicate a significant chunk of time for the "honor" of developing code for them.
Do you also ask that they pay you for the time spent on site during an interview? It's possible that these projects are replacing on site time.
FWIW we have a coding project but it's part (a large part) of the on site and really just replaces the whiteboarding and such. Candidates are not asked to code on the fly in ither sessions
No, but lunch at a good nearby restaurant paid for by the interviewer is a considerate offering. If the level of interest is high enough that man-day or more project submittal is asked of the candidate, at least put some skin in the game along with candidate in terms of time. Time is money. "The only thing I have in this life is time, and you are wasting it." -Andy Grove
I'd argue that having several people on the company's side - both in person and prep work is skin in the game. I've fought a fairly arduous battle in my company where we spend a lot of time reviewing code samples, resumes, pre-interview discussions and then the actual interviews. All told it's far more person-hours than the candidate is spending. That said, that's exactly how I think the dynamic should be
I don't think the fact that you have a lot of people spending time on an interview is any sort of "payment" for the interviewee. That's an investment in the company. The interviewee gets nothing out of it (unless they are the one person that is hired).
For what it's worth, I'm not talking about the 2-4 hours an interviewee spends on-site. I'm talking about the additional 4-8 hours some companies expect interviewees to spend doing coding projects or time spent on-site above and beyond 2-4 hours.
What I mean is that there's an investment of time (and time is money) by both sides. IMO the company should spend more time/money than the candidate, at least in boom times like this, but as long as it's fairly equitable neither side can really complain too much. You say that putting in time is an investment for the company but not the candidate unless they're selected - but if the company invests 100 person-hours of work into a candidate only to see it not work out, how is that any different than what a candidate goes through?
So for instance, my coworkers that complained when I said they should be spending several hours reviewing code samples before an interview are being just as silly in my mind as people who get bent out of shape over 5-6 hours of leg work. At the end of the day it behooves both parties to spend a fair amount of time and energy here, in theory this could be a relationship which last many years - isn't it worth it for everyone involved to put in the effort to make sure it's a good fit?
And really, at the end of the day it's entirely possible that the way a particular company or candidate conducts things reflects right away that it's not a great fit (e.g. a candidate loathes the coding challenges, or a company balks at a candidate requesting money). There's nothing wrong with that, a fast fail isn't a bad thing.
This is not equitable. A company generally has cash. You (jghn) spend so much time on the reviews, but at the end of the day, you collect your paycheck and go home. Sucks for the company’s investors, but you’ll be fine.
A job candidate loses both time and money. I complete your challenge, I don’t get paid, I get thrown into the street and starve. I would have made more profit washing dishes at a restaurant.
Besides, word on the street is that nobody can expect to have “a relationship which lasts many years” with any company, so drop your pretense at perfection. That is a contributor to the tech industry’s problems with lack of diversity and actually filling positions with people who can do the job.
Because you want to minimize friction. They already have a job so they don't really need you. You want them to want you, and making them jump through your hoops (one way or the other) is alienating.
Nah, you want to minimize friction for the people you want to hire and maximize it for people you don't want to hire. Even without the evaluation signal coding exercises give you (one could argue that it's hard to make it representative of actual work), I think there is a correlation between someone who will spend a couple hours working on a coding problem to demonstrate their skill and the kind of person you want to hire.
I have a limited number of hours and a lot of need for money. I would be a lot happier with these multi-hour code challenges if successful completion led to guaranteed job offer. As it is, they disproportionately waste my time, for the amount of care the recruiter puts on the rejection.
This is a question of hiring people who already have a job. Would you spend few hours solving an interesting problem while being gainfully employed and, hopefully, having interesting problems of your own? Honest question. I, for one, would not.
Absolutely, for a company that I want to work with. For companies that I'm not super excited about, I politely decline-for-now. Seems to me like that saves everyone tons of time. Do you really want to hire someone that doesn't want to be there enough to spend a couple of hours coding for you and doesn't have open source code to evaluate them on?
If a company approaches me there are probably some reasons for that. Because asking random people to prove how much they want to work for this particular company does not seem to be a very productive approach to me. You can post a job ad and get all the people who are supper excited to self select and then you can have your time making them to jump through whatever hoops you want. With somebody who expressed enough interest to answer the recruiter (in broad sense) you are not guaranteed to have a super excited candidate. Making him or her jump through the hoops will most likely terminate this and any future contacts.
> If a company approaches me there are probably some reasons for that. Because asking random people to prove how much they want to work for this particular company does not seem to be a very productive approach to me.
Why not? Make it a test that is easy to score and then finding people who do well on it and are interested in working for you is rather high, no?
It takes time and effort to get somebody who is not looking for a job to talk to you. It's going to cost a lot of money to hire anybody with a random approach. As far as I know, even Google or Apple cannot afford this - every time their recruiters contacted me it was about a job in alignment with my qualifications.
> Do you really want to hire someone that doesn't want to be there enough to spend a couple of hours coding for you and doesn't have open source code to evaluate them on?
I want to hire someone to do a job. That job requires a base level of competence. If they exceed that level such that I think they will bring positive value to the company I vote to hire them. I don't care about their motivation or "passion" beyond what is required to take them over that bar.
I would! I love coding exercises meant to gain information about a candidate; they're like yardsticks for my professional growth. I love evaluating how I solve a problem now vs how I would have solved it while interviewing for the job I'm leaving. I also just enjoy solving problems. To me, doing a coding exercise is like doing a Tuesday crossword puzzle (they're never hard enough to be stressful) that I get to show off: Look how correctly I solved this, and in ink, with no mistakes, with very well written, clear words.
I don't see it as a waste of time; it's about the potential payoff, which is a (presumably) better job with better opportunities. I wouldn't apply to a job unless I was reasonably sure I wanted to work there anyway. I might be very lucky in that I've worked for good companies in the past few years and the only reason I'd leave one of these companies is for a much much better one. Usually when I leave a job, I've become bored of the problem domain anyway and am looking to solve new problems.
Disclosure: 31 year old man, no kids, I live with my partner.
It's about the potential payoff for me too. When I am not looking for a job (i.e. I am happy with the job I have) an offer to write some code for some company does not look very enticing. After all, if I already thought that company offers a better job, I'd been asking them for a job myself. The most I can offer in this situation is a chance to sell me on the job.
On the other hand, when I am looking for a job (I am unhappy at the current job ) I go far and wide as I am applying to multiple companies. In this situation I talk to the ones that ask for interviews first, as they appear more committed, and push all the tests after the interviews. From my limited experience, by the time the interviews clear up I have at least a couple of offers on hand. Offers I can identify with people I've been talking to, the environment I've seen, the location, the projects etc. Spending several days on tests, which, at best will bring an interview, which may or may not lead to an offer, which, in its turn, may or may not be better than the offers I already have now looks like plain gamble to me. So I take the best offer instead of doing any tests.
I hate to be that guy, but everything changes when you have kids. Trust me, a spare hour when you have nothing better to do than jump through some hoop for a company is an extremely rare luxury item when you've got little ones. I love solving problems too, but there aren't any technical problems as interesting as reading a book to your snuggly little human(s). :)
I strongly prefer this approach, as long as the project is interesting enough to attract engineers, and allows you to assert the aspects you want to see in them. The coding project we give to candidates is to implement an open source Hacker News client. If it were me I won't mind doing one and put it on my portfolio (which I did), regardless of whether I pass the interview.
> You will go through 6-8 interviews!” I thought: “YOU will hire a bunch of unemployed people”.
Can someone explain why HR managers have such a severe prejudice against hiring unemployed people? Imho, its their job, to select those people from the unemployemnt pool that fits the company, and have the skills. A HR who only poaches employed people, is doing a bad job, and hiding his laziness under an evil prejudice.
>"A sound banker, alas, is not one who foresees danger and avoids it, but one who, when he is ruined, is ruined in a conventional and orthodox way along with his fellows, so that no one can really blame him. It is necessarily part of the business of a banker to maintain appearances, and to confess a conventional respectability, which is more than human. Life-long practices of this kind make them the most romantic and the least realistic of men."
The Ivy league is a conventional and orthodox disaster. Nobody can blame you for hiring them, their credentials were impeccable!
That previously unemployed guy, on the other hand...
I got my bachelors in biochemistry at a mid tier school with a bad science program and am now at MIT for my PhD. The difference in quality of instruction at the undergrad level, access to undergrad research opportunities / internships, and breadth of course availability is immense.
I don't think she was saying that hiring unemployed people is a poor choice, just that if you require a number of on site interviews, your hiring process requires so much of the candidate's time you are selecting out people who may not have that time available. Some employed folks may make the time, but others won't.
Note that the process she suggests (one phone screen, one on site and a decision) is good for unemployed applicants as well.
Quick hiring decisions are good for all parties involved, as long as they are thorough.
Oh she's not implying it; she's saying loud and clear "Never hire unemployed people! They suck. They lost their job probably because they were laid off as the bottom 10% Their last employer didn't want them and neither do you!"
Its terribly difficult to get hired when unemployed because of this bias.
> A HR who only poaches employed people, is doing a bad job, and hiding his laziness under an evil prejudice.
But the reverse is also true. HR managers that devise a recruitment process so arduous only the unemployed (and possibly then only the involuntary unemployed) will consider participating in it is doing a bad job. There are good unemployed candidates, but there are more good employed candidates, and most of the good unemployed candidates also have better options than your 6-8 interview process, which also screams of bureaucracy, indecisiveness and pedantry further down the line.
The advantage of interviewing employed people is that you have a better chance of hiring someone that is competent. That's also the reason, in a one local company's case at least, that your list of employers is looked at, as some companies hire a very high percentage of frauds.
One local employer, always looking for people, and not a bad place to work, has 3% of people pass the on-site interview, and it's not especially onerous: It shows you have general programming competency. Everything their exercise asks is something you'll use on the job. But most people that apply fail, because there is a local glut of people that know less than a proper entry level candidate, but ask for senior level salary. Those people tend to be the first to get laid off, and the ones that stay unemployed the longest.
There are great unemployed people out there sometimes: A SF startup that is 95% remote laid off 60% of their staff three weeks ago, and anyone would be fortunate to get that unemployed talent when they can. HR has to shift through a lot of unemployed people that you probably don't want to hire to find a great programmer, and a great programmer probably already has a network that gets them snapped up in days.
It's absolutely not fair to the good programmers that end up being unemployed for one reason or another, but given my experience interviewing, it's not hard to see why someone unemployed and without a good network gets passed up far more often than they deserve.
>The advantage of interviewing employed people is that you have a better chance of hiring someone that is competent.
I think I have to call Base Rate Neglect Fallacy here. Being already-employed may be evidence that someone is competent, but without knowing the strength of that evidence (ie: how many incompetents get hired anyway) and the base rate of competence/incompetence among all job-seekers, employed or not, we can't really say much about whether it's a good practice to poach rather than hire from the general pool.
> The advantage of interviewing employed people is that you have a better chance of hiring someone that is competent. That's also the reason, in a one local company's case at least, that your list of employers is looked at, as some companies hire a very high percentage of frauds.
How can you say that? All being emoyed means is that you got through the interview process and haven't annoyed anyone with the power to fire you. That hire may well be incompetent and looking to move out before they get fired.
> One local employer, always looking for people, and not a bad place to work, has 3% of people pass the on-site interview, and it's not especially onerous: It shows you have general programming competency.
How many people who apply get an on-site interview? Has this company considered if their prescreening process is broken and is actually filtering out mos of the people who could pass the on-site interviews?
I don't think any of those approaches are the fault of HR. If you have a system where companies will pay more money for a new employee than to retain an old employee, then employee churn naturally follows from that.
I don't understand why they dont lede with here's the $$ and here's the problem. I don't want to work on bullshit no matter how many massages and drycleaning you give me. I don't want to work for $40k plus lottery tickets on earth shattering problems. Why do we have to play this time-consuming game before you tell me the info I need to hear? This doesn't scale. I'll stick to the devil I know.
The 'one phone interview, one on-site interview, make a decision' format is how every good company I've worked for has hired, ranging over multiple industries and multiple decades.
You can tell a lot about a company from your very first interactions with them. I'd steer clear of anything more elaborate than what she described, they are probably guessing about how to hire, and that mean's they're probably guessing about how to run a business. That kind of risk can be entertaining and instructive, but might not be great for your career.
I once had an interview for a job while I was already employed. They asked why I wanted to leave my current job, I told them I didn't and that I liked my job, but I also look for better opportunities. My interviewer seemed incredulous at this concept, and thought I was wasting her time. Does she only want to hire unemployed or unhappily employed people? So dumb.
I've had folks get irate when I wouldn't spend the day at their interview. I was in alpha release, fighting fires and working on a deadline! I'm kind of glad I never worked for that idiot.
How much does it cost to have 7 people interview a candidate anyway? Even without considering that the best candidates will run away, how can companies justify that?
Hah, my latest gig, one interview, around 10 minutes in it was like "so how do we make it worth your while coming to work here?" (answer, ok money, excellent working conditions). Working well. Nice to have special skillz
At one of my last interviews I was told I don't look like I want the job enough because I was dressed casually. I was very confused. I reminded them that they requested an interview with me several times, even after I told them I was not on the market, and that I had actually taken time of work for the interview. I only showed up because they practically begged me. I was so annoyed at some of the questions. "What value can you add to this company?" No sir, how can YOU make it worth MY while to join you, considering that I have to leave a position that I'm perfectly comfortable with? After finally understanding that I was happy with my current job, one of the interviewers asked me "So why are you here wasting our time?" I was infuriated.
The whole experience left a bitter taste in my mouth. I don't think I would ever consider interviewing at that company again.