I recruited for several years for my companies too. First thing I noticed, there is huge variability in CV for each country. When I receive a CV from an indian person (from India), I don't know if I should expect 100% lies or what, even from qualified seniors. On the other end, I could put my hand on coal if the same CV was written by most germans. Which is bad, because the CV or cover letter become essentially useless as a metric.
To reduce the number of applications we introduced simple tests to submit along with the CV. It does wonders, but I personally hate it. As a senior dev, I keep asking: would I apply to my current application? I have to answer that no, I wouldn't. I have plenty of public projects to investigate my abilities if needed, and I do expect some minimal amount in investment from both parties when hiring.
We also raised the requirements from applicants ridiculously, essentially expecting them to work on core features from tomorrow. Again, completely unrealistic. And again, by our own wording, I would be afraid to apply. We are definitely selecting over-confident candidates (or desperate).
And it's sadly also true that the industry has no apprentice jobs anymore, although there is plenty of need. There are some career paths where I would jump ships despite my lack of expertise to follow my interests. Starting from zero doesn't stop me, but there are simply no opportunities: junior jobs are not really junior anymore. They are simply paid less.
Let me reinstate that also this is not universal. We had very good candidates which didn't inflate the resume, thus my point that I really cannot look at the CV by itself. This is very detrimental for both.
I took "germans" as a stereotypical example here. Thinking back, most qualified applicants anywhere in EU are in a similar ballpark. I would say a small amount of inflation is common, but senior applicants generally match much more closely the qualifications they presented. I didn't have many applications from other eastern countries to say anything else.
I'm also not an HR guy. I just participate in the hiring process when the need arises.
Looking at it from the other point of view, are you getting enough candidates that you are comfortable with via your current application? If so, the question becomes whether it would be enough of a benefit getting "you" (people like you) to apply to your current job... vs the cost of having that many more people to filter through.
Just like the code you deliver, the application process doesn't need to be perfect (because being perfect has a large cost associated). Instead, you have to weight the tradeoffs and pick the solutions that best match the resources you have available to the outcome you want. You need "good enough" (I hate that term, it sounds like "bad" to my ears, but it's literal meaning is correct here).
This, in turn, results in a process of exclusion during the process more than actual evaluation (which then begs the question: why put such high requirements?).
I'm pretty sure we're discarding individuals which are just too afraid or see themselves too conservatively. I'm not afraid to say that I ended up in my position by pure chance, and probably wouldn't pass the hiring method we currently use, despite being here for quite a long time.
Be careful about going there. Discrimination is illegal & unnecessary.
I've been a part-time developer for three years (and worked full-time on top of that), and I'm looking for a full-time position. I gave up on tech after applying to 500+ jobs and getting three interviews and zero offers. The closest I got was a consulting outfit in a small city in the Inland North, where one of the interviewers got hostile about my major (philosophy) and eventually rejected me over it.
But even now that I'm only applying for positions that just need warm bodies with degrees, my ratio of applications to phone screens is upwards of twenty to one, and every phone screen I've gotten in the last month has rescheduled last-minute on me, sometimes more than once. And I have to put up with shit like getting rejected at the door because the interviewer doesn't like my [perfectly ordinary and unremarkable] shoes.
How in the world am I supposed to find the time to put effort into applying for hundreds of jobs?
Sadly, the hiring process for developers has turned into not much more than hazing.
FOR LOTS OF APPLICANTS
Send every single applicant a nice, warm email with a link to a coding assessment[1]. Doesn't have to be anything particularly in-depth: just something that requires an hour or two's work from the candidate.
Result: all the people who put slapdash applications together will self-select out at this stage (you won't even hear back from them) and you don't have to send rejections. This will probably eliminate 95% of candidates right out of the gate for you, and when you have 500 applicants in a single month this is going to make your job a lot easier. You'll be left with 25 people who are genuinely interested and, depending on what you're looking for, you might have 10 that are worth interviewing.
IMPORTANT: for the relatively small number you reject at the assessment stage, you should send them some real, and reasonably detailed, feedback as to why. This will generally take around half an hour per applicant. People don't do this out of fear of getting into an argument with the candidate (and, of course, because they don't have time): in practice this seldom happens, and can be diffused quickly when it does. Most candidates appreciate the feedback and, key point, you won't start dehumanising applicants and turning yourself into a worse human being.
FOR FEW APPLICANTS
If you're not doing an up-front assessment, which we don't at the moment because we're a relatively unknown company so we want to make it as easy as possible for people to apply, send everyone a nice email inviting them to a 20-30 minute telescreen.
Your email should lay out the format of the telescreen: we'll spend some time finding out more about your experience, and do a screenshare (or Google Doc share) on a short programming task.
Result: all the lazy or uninterested applicants will again opt out, doing most of your work for you.
KEY POINTS
- In both cases you can focus your finite time and energy on the better candidates, rather than on sifting out the worst.
- You can give every applicant a more positive experience overall (think how many times you've heard the complaint, "I applied for X job and the company never even got back to me"). You also avoid ever having to send out those crappy two-line pro forma rejection emails that just about everyone hates.
- It'll keep you more positive and energetic because you're not spending loads of time having to be critical and negative about swathes of applications, and the people you do end up interacting with, you actually have the time to invest in ensuring that they have a positive experience, whether you offer them the job or not. This is hugely important because I think, of all the jobs I've done - and, granted, this does depend somewhat on your personality and temperament - recruitment is the one with the greatest capacity to turn you into the kind of person you wouldn't like very much (I realised it was happening for me when I did a long secondment in recruitment for a previous employer).
- By giving everyone a positive experience you'll gain a better reputation for your company, which should translate into attracting better candidates. Certainly, the other way, word travels, and if you offer a ghastly candidate experience people will be put off applying. If you're Google you can get away with it because so many great people want to work for you regardless of how drawn-out and overwrought the process is, so it doesn't matter that some great people will be put off because of the process (still I don't recommend it, and I question the value of all the hoop-jumping). If nobody's heard of you, making the process straightforward and pleasant is the way to go.
[1] This might sound cynical but you can totally automate this process, and if you're getting that many applicants it's probably worthwhile: just make sure the emails go out within business hours, and that there's at least a few hours lag between an application being submitted and the email response going out, so it feels like it's from a human being. Also, and this goes without saying: use the applicant's name. Lots of ATS's don't (or didn't) have APIs, but since you'll only need to target (say) Firefox, browser automation with something like Selenium can work really well here.
One thing I should have mentioned as well is how I handle referrals, because it's quite different. I always skip the assessment or telescreen in favour of some sort of face to face:
- Invite them in to the office, have coffee, find out more about them, let them meet some of the team, show them what we're working on, maybe have lunch,
- Have a more low-key meeting in a cafe or pub.
In both cases it's about getting to know them better and giving them the opportunity to figure out whether they're really interested in the role: i.e., not a traditional interview. If they are interested, then we go straight to a technical interview.
The above is important because it's a key route for more senior hires. As a result, certainly at the beginning of the process, it's very much tailored to the candidate at an individual level.
Look at the hiring process at Apple or Google for examples of how to do it well. Apply; respond to applications with a request for a phone screen or a rejection letter. Do the phone screen. Those that pass, do a technical interview via FaceTime, then those that pass that, send them to the final round. If you reject anyone during the process, notify them immediately.
Be respectful to the candidates and you will end up with better hires. Don’t treat them like you are doing them a favor: you aren’t.
nailed it. is that really so much to ask?
Thing is, that doesn't scale too well. And when you reach the point when it doesn't, you need to do something else - particularly when you have a day job to do on top of recruitment.
I'm not wasting anyone's time. Nobody has to do anything - you can just ignore the invitation and that's fine. I'm certainly not wasting anyone's time any more than they're wasting my time submitting a subpar application for a job they're not really that interested in.
Maybe you were having a bad day but, in case not, let me say: nobody owes you a living. Like it or not, you need to earn it.
this is my experience - and why i don't do them out the gate. Because there's a strong chance my work won't even be seen or reviewed - and i have had this happen enough times to know that i should just say no.
I'm really sorry you had that experience. For what it's worth I've sat on the other side of the fence: spent a couple of hours working on something only to hear nothing in response. It sucks.
I hope I made it clear above, but my very strong recommendation is that if somebody has sent in a solution to a coding assessment, then you should be taking the time to give them personalised feedback rather than some stock response. If that didn't come across then I apologise.
And yeah, I have a job in software development.
Be aware that most of those are basically a scam. Trying to force you into some random job just so they can get the provision.
Better.
Thanks. Anything concrete or specific to add to the discussion?
Great: I'm really pleased for you, and I hope you have a fulfilling career. But all you're telling me is that if you don't respond to the invitation I've sent you then you don't want the job I'm advertising that much. And guess what? I'm selecting against people who don't want the job I'm advertising that much.
Now here's an interesting thing that I've spotted before on HN: the silent majority have upvoted me, but a few commenters have taken me to task. Clearly I'm not suggesting that the majority are always right (the majority of people used to think the world was flat and look how that turned out), but it's certainly worth further consideration.
In reality, while software development skills are in high demand, there's also a very high supply segmented across different skillsets and industries (and yes, in lots of industries being a software and domain SME is important). Companies have had lots of success using take home projects or short assessments for technical skills like HackerRank to separate both the wheat from the chaff and remove those who don't want that particular role that much (as you said).
At the moment we get few enough applicants that I'm fortunate enough to be able to talk to all of them. What has surprised me is that a relatively high proportion simply don't respond to that invitation. The numbers aren't yet anywhere near high enough to feel confident here, but it does seem - at least superficially - like there might be a correlation with weaker applications here.
You can fuck off if that’s is your first contact response.
I’m interviewing YOU just as much as you are interviewing me. There is no shortage of companies hiring. There IS a shortage of quality candidates. I don’t need your job — but you do need developers. I am not going to invest 1-2 hours of time on some bullshit variation of fizz buzz or some equally ridiculous and real-world irrelevant academic game from HackerRank.
If you can’t be bothered to have even a quick 10 minute conversation, I can’t be bothered to do your stupid coding exercise.
What I'm interested in is candidates who really want this job. Those people are the ones who will put in the effort.
With all of that said: "You can #### off if that’s is your first contact response." I suggested this in response to your other comment: maybe you were having a bad day. Nevertheless, taken at face value, that remark perhaps demonstrates something of a sense of entitlement. Entitlement is something I aim to select very strongly against, because it's absolutely poisonous in a team environment. Food for thought, if you think it applies.
Many people feel entitled to being treated respectfully by their (prospective) employer. Asking people to invest hours doing useless work (which, as others have indicated, they may not even receive feedback on, just a rejection) just to get a chance at an interview, can easily be taken as a sign of disrespect: clearly you feel your time is worth so much more than that of a potential employee that you ask them to invest hours before you'll invest minutes. The potential employee is treated as a beggar rather than a trained professional.
> Entitlement is something I aim to select very strongly against, because it's absolutely poisonous in a team environment.
I'm sure those who feel entitled to basic respect are glad you are selecting against them then :)
I'm really not sure how you've made the leap from me trying to help people who are swamped with applicants (by taking action that gives every single one of those applicants a fair chance) to a suggestion that I'm not treating people respectfully.
Sure, you know that you're going to put in some effort to look over the solutions and provide feedback (but even then you probably won't spend nearly as much time on giving that feedback as the interviewee spent on their "audition"). As others have indicated, not all employers will put in that effort, and as the applicant you can't tell in advance whether you will. Or perhaps you will look at the code, but will instantly reject their code based on indentation (tabs or spaces?) or brace style, or choice of language ("lol Python, real programmers use Ruby"). Because you aren't yet invested in the candidate (after all, you've only sent them the same email you've sent the other 499 applicants) you lose nothing when you're an asshole, while the applicant loses the time they invested (and they won't be able to reuse that code assessment on their next job application).
> I'm really not sure how you've made the leap from me trying to help people who are swamped with applicants (by taking action that gives every single one of those applicants a fair chance) to a suggestion that I'm not treating people respectfully.
Telling applicants to send you a picture of themselves dressed as a clown and selecting the funniest 10 for an interview would also be an effective way to weed down applicants (many wouldn't respond, so clearly they didn't really want the great job you're offering), and one could even argue that it would give every single one of those applicants a fair chance. Would you agree that such a thing might nevertheless be seen by some as disrespectful?
I'm not saying requesting a coding assessment as part of a job interview is always disrespectful, and I think most people would agree with that. But, as you may have noticed from the reactions to your original post, an unpaid coding assessment that must be performed before the applicant gets a chance at an interview is a bit more controversial.
They all look the same.
There is now way to tell if a position is any more than remotely relevant, because job postings are all the same.
If you want a group (prospective employees) to sift itself (only apply to jobs they want or are qualified for), you should make a concerted effort to give them the information needed to do that. Unfortunately, no one really does.
Recruiting sucks, so let's focus on making it better, rather than just complaining about the userbase.
Not the ones you 'don't like' - the ones that don't even make sense.
That process of filtering out folks using the blacklist should be automated and the blacklist should be public.
I wonder if that'd make recruiting jobs almost pointless in a large number of cases however. It sure would make one think twice about spam-applying, knowing you might get blacklisted for spam.
With your logic, ending slavery in a time when it was legal, would be a PR disaster, and illegal in most jurisdictions.
Oh wait... It may even lead to a civil war. Oh wait... That has happened... Oh wait... It was actually a good thing!
That's how progress gets made - by changing existing norms and laws because they suck. Recruiting AND job searching at this moment clearly sucks. Which's not to say blacklisting is THE solution. It's A solution, which's a lot better than nothing, at least it gets the conversation going.