
Ask HN: Junior devs, what frustrates you the most at the recruitment process? - alinalex
Self-taught web developer here. I would like to see more interviews for cultural fit. What about you?<p>Feel free to embrace debate.
======
hunglee2
The main issue with 'seniority' labels is that they are contextual - dependent
on the hierarchies already in place in the existing team. In simpler language,
what is a 'junior' developer changes depending on who is already there. The
main manifestation of this in the recruiting process is a misalignment of
expectation between the candidate and the employer. And all kinds of bad
things can happen from this: under / over sold jobs, job title 'inflation',
incipient turf wars and so on.

It's not an easy problem to solve and we've wrestled with this on Workshape.io
(matching platform for Software devs). The formula we've come up with is a 4
level hierarchy based not on experience or times served but on the role you
play within the team.

Entry - you are competent, but need guidance / supervision / mentorship. Your
code will be reviewed before deploy

Mid-level - you are competent but do not lead or manage

Senior - you are still hands on, but do lead and manage others

Lead - you may still be hands on but managing / leading / deciding are the
most important things you do.

Its still our categorisation though and we know it's not perfect at all

~~~
kod
I've got well over a decade of experience, much of that as a team lead, and I
still think everyone's code including my own needs review before deploy.

~~~
cheez
Yeah, that's kind of nuts. No one is above review.

~~~
Bombthecat
Who has time for that?

~~~
EliRivers
I've worked in places that didn't bother with code reviews. In the end, they
didn't have time for it because all their time was spent desperately trying to
keep the mass of poorly-designed, inconsistently implemented legacy code
(which included code written the previous week - "legacy" doesn't mean "old")
working.

There comes a point where there's no time to stop and start making things
better, and you just watch the inevitable disaster come hurtling down the
track as people are forced to continue churning out legacy code to keep it
going _today_ , knowing that they're just ensuring the final crash will be
that much more destructive.

~~~
dhogan
Exactly. The question ought to be "who does NOT have time for that?"

------
guitarbill
Requiring a CS degree and asking coding questions that boil down to if you've
memorised BFS/DFS.

When we were hiring, I noticed people couldn't look past non-CS degree, and so
we were effectively turning people with 3+ years of experience and great
Github profiles/real world experience away. Because we "wanted the best".

Or having people fail shitty coding "challenges" because they couldn't
remember breadth-first search of the top of their heads. Never mind that they
knew where to look the algos up, or the role was pretty much full stack web
developer.

~~~
Bombthecat
Than there are clearly enough developers to pick from.

------
paublyrne
When I was a junior dev trying to get my first jobs, what was frustrating was
the range of what 'junior dev' meant. Anything from knowing what JavaScript is
to having 2+ years of experience with a JS framework, and having a Github full
of interesting side projects.

The latter style job posts were very disheartening to read, and I sometimes
wondered how I would ever get enough experience to get a job as junior dev!

~~~
magic_beans
I couldn't agree more! I looked at junior dev jobs that wanted people who
contribute often to open source, had awesome side projects, etc. Sounds like
they wanted midlevel but only had budget for junior.

------
jackgolding
I'm a little bit more senior (4 years experience) than a new junior and not a
developer per se (work in marketing tech) but my biggest gripe are the hurdles
you have to do to reach the hiring manager (or how drawn out some of these
processes are). Some of these I've experienced are:

1\. Cover letters - I'd rather someone from HR screen my resume and give me a
3 minute call about why I wanted to apply for the job.

2\. Take home exercises/psychometrics before having an in person interview

3\. Interview with junior staff before an interview (good experience for the
staff but I've found them to be a bit unsure of what to ask.)

4\. Vetting from HR or recruiters that don't really know the topic but are
just looking for keywords which indicate competence (i.e. "SQL","Reporting",
"Project Manage","Agile") or want to know why you want to work at the company
specifically when the careers website has poor information.

My ideal process would be (for a large company): Apply with Resume (ideally
one-click apply) -> Short Chat with HR on phone -> In person interview with
hiring manager -> Interview with senior manager (more on cultural fit and long
term fit) or short take home (ability) -> Offer

~~~
amorphid
Let's say you the one paying for the ideal hiring process you mentioned above.
You're the owner of a bootstrapped business, or you're in a large company and
have a fixed budget with which to work. You advertise a 10 junior positions,
and get 100 applications per position (let's assume 1000 total unique
individuals). In this situation, would you make any changes to your ideal
hiring process mentioned above?

~~~
Aeolun
You throw out 900 resumes between step 1 and 2 because they didn't manage to
submit one without tens of spelling mistakes?

I agree though that having everyone write a cover letter, that they can write
in their own time, and that you can read in your own time is preferable
though.

Better yet, just leave off on the cover letter requirement.

~~~
collyw
What jobs are receiving 900 resumes?

When we looked for a Django dev we got two applicants, and the good one of the
two only wanted to work freelance. Admittedly we were looking for some
experience.

~~~
amorphid
A lot of it is situational. A company in San Francisco hiring a junior Rails
dev will probably get a LOT of recent bootcamp grads as applicants. Last I
checked, most bootcamps were still focused on teaching Rails. So that's on
factor. I was recruiting for Rails in SF, so that's part of it. You learn to
optimize for challenges you have.

~~~
jackgolding
In that case would you throw out all the bootcamp grads? Would degree >
bootcamp?

------
throwaway_374
Probably when you're interviewed by some mid-senior manager who isn't capable
of writing any code and his sole purpose is to "keep you in line" so tries to
assert a bullying authority from the outset.

Extremely typical in big corps. Makes me wonder what purpose they serve other
than being glorified messengers between the board and real works.

~~~
noir_lord
Pretty much this :-
[https://www.youtube.com/watch?v=hNuu9CpdjIo](https://www.youtube.com/watch?v=hNuu9CpdjIo)

I love that film.

~~~
EliRivers
The irony of this being that a decent requirements person, who can actually
get out of the customers what they actually want and present them meaningfully
to the software engineers, is extraordinarily valuable.

------
greyostrich
As someone who has been unemployed since graduation....

Getting no feedback, not even a rejection, after an onsite.

Trivia games

Getting rejected because of the lack of keywords on your resume. Example: I
was interviewing for Walmart. Recruiter said I must've applied to the wrong
position, since I had no Java framework keywords. This was for a new grad
position.

Companys not asking any algo questions, not even STAR ones, and me still
getting rejected.

Lots of lying by the recruiters that revolve around salary.

~~~
stephancoral
>Getting no feedback, not even a rejection, after an onsite.

This happens all the time even when you are senior (10+) years like me. It's
maddening and I think one of the rudest things an org can do.

------
bsvalley
In reality culture fit means "do I like you or not?". To get disqualified on
culture fit, all you need is one single interviewer that will not feel %100
comfortable working with you. You can get discriminated on anything really, if
you seem smarter than the interviewer, if the interviewer is having a bad day,
your voice, the way you look, your laugh, etc. In other words, it's nearly
impossible to figure out the exact reason why you'd get disqualified on
"culture fit". It's in the interviewer's brain only. He or she will obviously
never share the real reason why. Sometimes it's not even explainable on paper,
it's just a personal feeling, you haven't connected with the candidate for no
particular reason. So you can't write an official feedback based on culture
fit. Interviewers will never share their personal tastes because it doesn't
seem professional. That's why 'we' use algorithm questions :)

Speaking of "technical" questions - the good news is that there's absolutely
no difference between Junior and Senior dev nowadays. Questions are identical
so you can learn it once and re-apply for life. Everything you've learned in
college is what will get you a job, even 10 years down the road so forget
about your professional experience. Majority of interviewers have no skills
interviewing candidates. They apply the same evaluation whether you're a tech
lead or fresh out of school. If you happen to have 10 years of experience or
at least one project on your Resume, they might fill up the blanks by asking
you a few questions about your previous projects. But the goal is to jump
straight into the basic CS questions (algo) because this leads to a YES or NO
answer. That's what interviewers use to make a decision and let you go to the
next round or not. You can't fail answering questions like "tell me about your
project XYZ, what was difficult, how did you solve it". Though if you can't
reverse a linked list because you forgot to google it prior to the interview,
you will get disqualified right away since it gives the interviewer a solid
feedback to write down that will never get challenged by the hiring manager.

To answer your question - what I just wrote is what frustrates me the most in
the recruiting process in the Software world. I've been dealing with this
thing for years... as an interviewer and interviewee. Things are getting worse
in 2017 because I see 500 applicants per job. You get disqualified on
questions like "do you use a new line for curly braces?". The trick is to not
answer right away and to return the question back to the interviewer - "good
question, what do YOU use?". Then just say "me too"... safe bet.

~~~
Clubber
>Speaking of "technical" questions - the good news is that there's absolutely
no difference between Junior and Senior dev nowadays. Questions are identical
so you can learn it once and re-apply for life. Everything you've learned in
college is what will get you a job, even 10 years down the road so forget
about your professional experience.

That isn't even close to true. Perhaps I'm misunderstanding. Could you
elaborate on this a bit?

>You can't fail answering questions like "tell me about your project XYZ, what
was difficult, how did you solve it".

This is the most important question I ask, and you can absolutely fail it. I
use it to gauge interest in the field. If people give me a ho-hum answer, I
know they are in the field because they heard it paid well and will probably
have no incentive or drive for excellence. Even passionate introverts will
perk up when this question is asked. I can't overstate how important passion
is to future personal development.

On a side note, I haven't had to deal with a recruiter (for my employment)
since 2001 (dot bomb) and that didn't even help me. I used a recruiter for my
first and second job and haven't since (in 20 years). If you do good work,
people will remember you when time goes by and your co-workers are at a new
location looking for talent.

I think you are sharing your perspective from large companies. Small and mid
sized companies are often more competent in interviewing (and fun to work for)
because they aren't shackled by some pre-determined interview "process."

~~~
bsvalley
I agree with what you said even though it seems a bit outdated. I made a
general statement looking at the evolution from 2005 until today. I switched
employers many times, worked for small, medium and large companies. I got to
interview a lot of candidates for the last 10 years collaborating with other
colleagues to make hiring decisions. I'm aware there are exceptions out there,
totally agree with you! Though, it changed since 2005. It seems that most of
the tech companies are now following the google model by putting CS principles
at the center of the technical screening. It doesn't matter if you applied for
a Web, Mobile, Backend position, if you're a junior, senior, staff, etc.
You'll have to go through it and it's usually a 30 minute question within a 45
min to 1h interview. So I call it the main technical evaluation for engineers.
Versus a 2 minute question going over the technology you used and how you
tackled some of your challenges. I personally dig into those questions but
most of the interviewers don't want to hear about anything else rather than
their own voices. They need to make a "valid" decision at the end of the day
so they better get a solid justification. Like I said, it's easier for them to
ask YES/NO type of questions rather than engaging in a design discussion for
30 minutes. Some do but most don't.

Right now the market is saturated by people applying everywhere at the same
time. Some recruiters get handed multiple choice questions and get involved in
the filtering right up front. If you use a referral these days you still have
to go through the standard hiring process, again, there are exceptions. I got
hired by an ex-collegue from another company a few years back, where he got
promoted to manager. We worked together, coded together and were both
engineers at our previous employer. He had an open req in his team and
contacted me personally. I still had to go through the standard hiring process
and crack a few algorithm questions with other engineers. He bumped up my rank
though to the max when he hired me, which is where the referral boost came
into place. Not during the hiring process, I was just a regular candidate for
other engineers.

Anyway, back to your points, algorithm questions are the main topic of
conversation during tech interviews in 2017, minus the exceptions. It all
comes down to writing code on a whiteboard or in a notepad. When I say code I
mean palindrome, dykstra, doubly linked list and all this crap. I say that
because it's the hardest problem you can ask to a candidate with or without
experience. People know you'd feel comfortable talking about app optimization,
scaling an infrastructure, common problems in a multi threaded system, etc.
They use it for architect positions where they know the person won't write a
line of code. There's just a big misunderstanding because interviewers aren't
trained to evaluate candidates. They'd rather go for the generalist route and
hire the "smartest" algorithm guru over someone who has a deeper knowledge of
the field.

~~~
Clubber
>It all comes down to writing code on a whiteboard or in a notepad.

Thanks for elaborating but that's sad news. I thought we had all collectively
decided this was a horrible way to interview people. If a company absolutely
must have code written, assign all interviewees a programming task and have
them submit it through GitHub or on your site. Something that shouldn't take
more than 30 minutes for a moderate developer. Anyone who doesn't complete it
gets filtered, and you get a good example of their thinking, style,
sloppiness, comment habits, etc. If you think they nicked it from the
internet, have them make a slight change.

I've always considered the ability to be able to design a piece of software or
module from nothing to something complete in a moderately elegant way was way
more important than if someone had memorized how some algorithm works without
ever having the need to implement it.

It's akin to asking a painter how to build various types of brushes and how to
harvest paint, or an author how to make pens. That ability isn't useless, but
certainly don't make that the focus of your interview.

I want experienced software designers, they can learn anything they are
lacking with whatever stack we use in house in just a few weeks. I'll just
stick to using my methods and wait until the industry catches up. :)

~~~
bsvalley
What you're describing is the perfect way to evaluate a developer. That's
exactly what I promote to my employers. That's what I ask at the last step of
the hiring process if we still have a doubt. we should use this evaluation
only and get rid of the extras. Then we should talk about life and work in
general for an hour rather than a stupid algorithm question just to make sure
the candidate isn't a d*ck.

------
johnb777
Being quizzed on specific language syntax during in person interviews when
they knew I didn't have much experience in that language was annoying.

Also, any mention of a cover letter was frustrating. I think hiring managers
have enough info to decide if a phone interview makes sense with just a
resume/Github, especially for a technical role.

Also, having to spend 20+ minutes creating an account with all my personal
info just to submit an application stopped me from applying to multiple
positions. That time adds up during a job search and makes it extra stressful,
not to mention you end up feeling like you just dropped your resume into a
black hole where it will never be seen.

------
JCDenton2052
For me it used to be the fact that everyone required at least 1 year's worth
of work experience. They would hardly grant you an interview without it with
all open source projects in the world. Recruiters don't even know what open
source is and employers might have assigned the hiring to a legacy guy who's
never done open source either.

You can't get work experience without working so it was 6 months of constant
searching before I got a job.

------
sotojuan
If the company is not a startup or otherwise very young, then a lack of
training or mentoring.

I'm expected to be a cheaper version of a mid/senior dev, perhaps just a bit
slower.

------
amalfra
Companies that give opportunities to some one just because he got a degree
from premier institution

