
Ask HN: Hiring managers, what do you look for in a junior dev? - gravy
What does 0-3 years of experience mean to you? Are you hoping to retain them for a long time? Do you prefer exposure to certain technology? How do you measure &quot;willingness to learn&quot; during the hiring process?
======
laurentl
\- what does 0-3 years of experience mean to me?

I assume this is in the context of "0-3 years of experience is specified in
the job description". Answer: nothing. There's very little in common between a
new graduate with 0 experience and someone who's worked in the field for 3
years. To answer the implied question: 0-1 year of experience means that I
will have to teach you how to code, write documentation, test, use Git (not in
the narrow sense of git add / commit but managing branches, merging, creating
PRs), follow a requirement document, work in a team, and generally not pee on
the rug. At 2 years of experience or more, I expect the puppy training to be
done.

\- Am I hoping to retain them for a long time?

Ideally, yes. Since it'll take 6-12 months for them to learn their craft
(which implies a fair bit of involvement from myself and the lead dev), I
would be sorely annoyed if they quit right after the ramp-up period. But
salary inflation being what it is, it's a very real possibility. I try to
stave this off by giving more responsibility gradually and making sure there's
always something new to learn (of course, this only reinforces their market
value and hence the temptation to jump ship for a big raise). Realistically, I
consider 2 years to be a minimum and 3 years to be a good tenure.

\- Do I prefer exposure to certain technology?

Not necessarily looking for a given technology or language, but for a certain
well-roundedness. I like seeing candidates who have worked with more than 1
language, ideally with different paradigms (imperative / functional, low-level
/ higher-level). Ideally some front and some back experience, even if it's
only a portfolio webpage for the front and toying around with Twitter APIs or
setting up a Django project for the back. This makes me more confident that
the candidate will be able to pick up our particular stack, and can be trained
to work on different components. Any knowledge of how things work under the
hood (ie what does the compiler do, how does the request get from the client
to the server, how do you host a service on AWS, why is it a good idea to use
https and sanitize your inputs...) is a nice bonus.

\- How do I measure "willingness to learn" during the hiring process?

I test what the candidate knows of their favorite programming language
internals; what they know of the broader ecosystem (network, security,
infrastructure, etc). This tells me if they're naturally curious about topics
which should be of direct interest to them, or if they just copy/paste the
first answer from SO. And obviously the basics: have they looked at our
website, do they know the company, did they read up on the stack we use if
they haven't used it before (this is literally in the job description), etc.

