How to not suck at interviewing & hiring juniors in tech.

Hire juniors. But do it the right way, please.

Stock photo from WOC in Tech Chat

Last week, I asked #juniorsintech on Twitter two questions:

What are some specific reasons why you got rejected from a job?

What are some positive, helpful interview experiences you had, even if you were rejected?

Getting a job in the tech industry when you have little to no experience is tough. But some of you (by ‘you’, I mean hiring managers, HR, and anyone involved in hiring junior tech talent) make it unnecessarily difficult, soul crushing, and even discriminatory.

(Of course, this is assuming that you’re not completely against hiring junior talent in the first place.)

So, based on the responses I got, here are some Dos and Don’ts for hiring juniors in tech.

1. Experience level

Don’t: Reject junior candidates for not having enough experience.

If you’re hiring for a junior role, you do realize that juniors are going to apply, right? Ok. So then why do you reject us for not having enough experience? Even if it’s not a junior role, why waste someone’s time interviewing them for weeks, only to tell them that they’re not experienced enough? You could have figured that out just by looking at their resume.

  • On Twitter, @megantiffany12 wrote: “Applied for a full stack position and completed 3 interviews. Was told I (1) specifically didn’t have enough backend experience and (2) that they were looking for someone at the Sr. Dev level.”
  • @karaluton: “I was on my 3rd round of an interview once when I was told that even though I was one of the best at the code challenge that I was still too junior”
  • @AireddySuprith: “After 4 rounds of interviews at a big bank for a developer position, I was told that the other candidates had more experience than me.” As @taeluralexis replied, if you’re going to waste our time like this, at least pay us.
  • @Dayhaysoos: “One job said they want a React Native dev of 6 months experience, I have 2 years, applied, interviewed over the phone, then was told I don’t have enough experience in general.. I’ve been a dev for like maybe 3 or 4 years.” What exactly did this company want, then?
  • Anonymous: They were rejected from a job that required 0–1 years of experience. Why? Because they didn’t have enough experience. “After about 30 minutes of him talking about how the projects of mine he’d looked at seemed impressive, that what the role required was something I could “obviously do”, stated again that he was looking for someone with 0–1 years of experience, he ended the interview with, “But you just don’t have enough experience. Fill up that resume before you apply to more roles.”” Someone make it make sense.
  • @mariopvargas: “At a hiring event (for Jr. Devs), a recruiter told us he’s looking for “more firepower” and our group project was “too Junior.” again, this was at a hiring event…for Jr. Devs”.

Do: If you’re just going to hire someone with more experience, then have a separate role with a separate job description for that. Also, write better job descriptions for juniors. Here’s a good piece on how to do that.

2. Requirements

Don’t: Evaluate candidates on things that 1) aren’t in the job description, 2) don’t matter for the job, and 3) aren’t even possible.

  • On Twitter, @mmgfrog said: “Went in for a Front-End interview but got grilled right away on SQL queries/joins, and got flustered.” I’m sorry, but when did SQL knowledge become a frontend thing?
  • During an interview I had in late 2017, I was asked statistics and other general higher level math questions during the phone screen. I don’t care if this was a hard requirement (it wasn’t, I passed the phone screen), or if they were just trying to get an idea of what my background knowledge was. I feel like it was totally unnecessary and made me nervous for no reason.
  • @rodrigoelp: “Was called saying “it does not seem you have at least 2 years experience with x technology”. The tech had 1 year since it was announced and 6 months since it became available to the public.”
  • @iamask09: “I was rejected by a top tech company. They had a coding test which I completed successfully in half the time, I was rejected only because they didn’t like my graduation college.”
  • @WSmithNY: “He called me 3 days later and apologized to me because he was forced to hire someone with a higher test score even though he saw me as the best fit for the job. Testing is so overrated.”

Do: Evaluate candidates on things that actually relate to the job description.

And as I said earlier, write better job descriptions for juniors. Also, if there are parts of the JD that aren’t required, explicitly say that. A lot of us pass on job applications because we think we need to satisfy every requirement. (If you’re a candidate reading this, you don’t! Always apply anyway.)

3. Tests

Don’t: Most whiteboarding tests, and tests that are just WTF.

  • @paulmcclean: “Was asked to draw a flowchart on a whiteboard of how I would make a cup of tea. I forgot to include the teabag.”
  • @anerdydev: “When applying to a FAANG company, my recruiter said that everything was great culture wise, but when it came to whiteboarding, i took longer on the questions than anticipated despite being able to answer them pretty much correctly.” Because the day to day life of a dev consists of answering whiteboarding questions as quickly as possible, right?

Do: Useful tests that relate to the actual job.

  • In late 2017 I applied to a company that uses React, so my code test was writing a React component. See, it’s not that hard.
  • @radhikamorabia: “Using non-whiteboarding ways of assessing coding ability. 1) Clear take home exercises. I know there’s drama around this, but I wholeheartedly believe this is the best way to assess juniors. 2) Talking through the codebase with a senior. Them assessing your ability to ask qs.”

4. Feedback

Don’t: Vague, terrible, unhelpful, or otherwise bullshit feedback (if any at all).

  • @gintel, a designer, wrote: “I was told they felt I’d be bored working with them. I had more creative pieces in my port than I’d be tasked with there — according to them.” (General life tip: maybe don’t tell other people how they would feel about something.)
  • @browncdonovan wrote: “Back when I lacked dev experience it was often one of these: we decided to move in another direction, we decided to move on with other candidates who better fit our requirements and or after careful consideration we decided to not move forward at this time.” This helps no one.
  • @isaacandsuch: “When I was a junior, I was rejected for an entry-level web dev position with a one-line email. ‘We cannot hire you because you do not know much about the internet.’” Was the candidate lacking meme knowledge, or…? Continued: “This was after an in-person interview where the interviewer fell asleep and his assistant had to take over. In a subterranean concrete office where everyone looked miserable. In retrospect, glad I didn’t get the job.”
  • @o_dafydd: “For a junior designer role a few years ago, I was told that they were looking for someone with fewer opinions on things that they could “better mould”.” So I shouldn’t develop opinions about my own profession. Got it.

Do: We know we have a lot to learn and work on. We want to know what those things are so that we can do better in our next interview. So please give us feedback.

  • @ThugDebugger wrote: “The interview(s) that changed my life were Facebook and Amazon. I made it to their last round, and their dev teams said “you’re good. But not at our level yet. Read JS The Good Parts by Crockford, and get back to us”. That book has increased my JS skills 1000-fold”.
  • Anonymous: They had to do a test for a frontend job, and did not pass. But they were given very specific, helpful feedback on what they did well, such as using Flexbox and good naming of variables, and what they could have done better, like having unused variables in the code, and not separating concerns.
  • When doing the React code test for that company I mentioned earlier, I was able to submit my work to a dev and get detailed feedback on what needed to be worked on. After I improved my code, I was able to get feedback from the dev a second time.
  • @taeluralexis: “An interview that I ended up failing yet enjoying was one where I had to do an intense take home project. For the on-site, we went over the code and although the solution was “better than the work of their most senior engineers” he asked questions that forced me think creative. Why I liked the interview was because it provided me a whole new perspective on coding. For some companies, it’s not about if your code just works. They care more about the engineer and the ability to revise and refine your code as needs & specifications change.” She didn’t pass the interview, but she still got a lot out of it, which is really cool.

5. Support, transparency, trust, respect, humanity

Don’t: Make us feel like shit.

I’m not sure I know how to articulate this one. Wouldn’t it be nice if interviewing didn’t feel like hell? If candidates didn’t feel left in the dark all the time? If they didn’t feel like they were completely on their own throughout the process? If companies recognized a candidate’s talent without making them jump through hoops to prove their worth? And if we treated each other like human beings?

Do: Be transparent & support us. Treat us like human beings! Trust our work. You should be doing that on the job anyway. So why don’t people do this during the interview process?

  • @Hoeyboey wrote: “When there’s a take-home coding challenge, clear time guidelines and even giving me the marking sheet so I knew exactly what was expected of me (such as ‘is rubocop passing: 2 points’ and similar stuff).”
  • @AireddySuprith: “My final round interview day consisted of shadowing a software engineer the entire day. We did pair programming and allowed me to write unit tests. Keep in mind this was before I even received an offer…I had 3 rounds of interviews and for every round they sent me material to study and prep up days before each interview. They were upfront with me and always kept me informed throughout the process. The recruiters were very kind and worked with my schedule.”
  • On Twitter, I wrote: “And then of course there’s my current job at @Backstage_Cap. What stands out the most for me was how I didn’t have to jump through hoops to prove that I could code. @ArlanWasHere looked at my portfolio online, saw my work, and wanted to get me on the phone.”

6. Discrimination, “culture fit”, & otherwise being unfair

Don’t: Um…don’t discriminate and don’t be unfair to candidates.

  • @EmberFirehair: “Another time I didn’t have enough experience- despite the guy they hired having less experience than me.”
  • @Rezalas: “I worked for a guy that flat out admitted a year after I started that I got the job because the other candidate was Indian. I felt like complete shit. Started shopping for new jobs right after.”
  • @GriyoPikliz: “My friend from Algeria has a masters from Algeria, we did a boot camp together, every single job after he’s done the 3rd of interviews they tell him he can’t get hired because of lack of US experience”
  • @ch1nux: “The worst big company I’ve tried to apply, I was rejected because I’m from Venezuela. The recruiter thought that I was related to the government… They didn’t apologize…”
  • @thehappycoder: “I got rejected for saying “I have one other opportunity getting back to me today, so before I make a decision on this offer I think I should hear them out, out of respect.” They said I “wasn’t motivated enough” and withdrew their offer.”
  • @thehappycoder shared another experience: “I also had a place call me back saying “We don’t think you have 10000 hours of experience, so we can’t give you this job. We can offer you an unpaid internship though. Then I said, “I’m sorry but I need to focus on opportunities that come with health insurance right now.” And they said “Aren’t you currently unemployed? Do you have health insurance now?” which was way invasive.”

Oh, and** I vote for banning the phrase “cultural fit”** when it comes to hiring. Saying someone isn’t a cultural fit is not helpful, and we know what you really mean.

  • @MxOwl: “Once, when I was a junior, I was rejected after aceing all whiteboard tests because of “cultural fit” (they were all straight white dudes).”
  • @NerdyAndNatural: “I’ve always gotten the “not a cultural fit” answer which to me is neither valid nor is an indicator of my skills.” I replied: “Sometimes I wonder if that’s code for “not a white dude””.
  • @missvallord: “I’ve gotten that one myself. I was in the end, after being mad and disappointed for a while, thankful because I don’t want to work with unicorns, ninjas and bros. I want to work with smart people solving complex problems.”
  • @1queer1: “Not a culture fit” — despite telling me what an excellent candidate I was an what a pleasure and that I had everything they wanted — if only it wasn’t in a queer body (or with a queer mind).”

Do: Recognize that you are biased, and do something about it.

You and everyone else on your team is probably biased in hiring in some way. Hire someone to help you fix this. Seriously. There are people who get paid to help with this kind of of thing. There are no excuses for not fixing this problem within your company. Otherwise, you’re probably passing on really good talent, not to mention (if you’re in the United States) doing illegal shit.

Finally, hire juniors. We’re talented, awesome, eager to learn, and much more capable than you think. If you’d like to post a job in the Juniors in Tech newsletter, and on our job board, let me know.

And to my fellow juniors, hang in there. Especially if you’re trying to find your first job in tech. I know you can do it.

Copyright 2018 Zeebra Labs, LLC | Stock Photo from WOC In Tech Chat