I recently got a lot of questions about what to expect from a junior interview and what I look for. Since I have a very narrow view I wanted to open it up to the community. No need to be overly specific about problems, just a general idea of the sessions you do and what makes a candidate stand out for you would be hugely helpful for those trying to prep!
For further actions, you may consider blocking this person and/or reporting abuse
Top comments (29)
What I look for in Junior Engineers
Interview Process:
We do one of the two depending on the experience. A junior who might have a little professional experience(0-1yr) or just overall seems more comfortable we will do an in-person coding challenge. Those fresh out of bootcamp we will give a take-home problem. Often we will ask what they want to do.
Resume Chats/Culture Fit: We always do interview chats and culture fit sessions where we just chat about what is on the candidates resume, what makes them tick, and more importantly, get a feel for what THEY want out of the job. Fit is a two-way street and we want to make sure we meet all the candidate's needs.
The Takehome problem approach should be the way to interview everybody IMHO. Ask candidates to solve a problem in a job ad, use that code to continue the interview process. Instead of the usual hr_phone_interview-meet_manager-meet_team-code_test-meet_Some_VP-get-offer way
I think that would work until someone posts the solution online and everyone is submitting the same code, effectively turning it into an unscreened interview.
Of course, the next step is to do an in person interview and drill the candidates on their work and choices they made. It's very difficult to get through the second stage when the first one was accomplished by cheating.
Interesting that just a few weeks ago we had this exact situation. A candidate was copy pasting blindly some SO code verbatim. Now days, it's easy and fast to find out where the code is copied from :)
Finally, change the test projects with each hiring session so that they sufficiently different.
@molly_struve and @rommik : Finally, I find others on DEV who do the same thing I've been doing for years: a take-home coding challenge, which is further discussed in the final interview.
@etampro I don't know about other teams, but I keep an archive of all previous solutions, and also do web searches. I have spotted copy/paste answers before. In any case, such applicant always falls apart when the final interview comes around, because they don't actually know the code well enough to modify it live.
this is a great interview process! One of my favorite interviews I've done was when they were more interested about company culture fit before even getting into a coding interview
From someone who will have to interview in a few months for a junior role, this seems like the perfect situation.
Thank you.
My interview is the same as my mid-level interview but judged for a lower level. I give them a problem they likely are familiar with but wouldn't do a lot. Then I watch them google and debug. They don't have to get it right or even make much progress! I'm just looking to see how they solve their own problems. They can also ask questions. If they have those skills then they're in a good position to succeed no matter what projects they wind up on.
I agree completely.
Critical thinking is an essential facet of working in any aspect of software and there's rarely anything wrong with asking questions if it will help you accomplish your task.
Programmers who research on their own and have the ability to quickly pick up an API or learn an unfamiliar library's syntax (especially in today's world of npm) if they find it will help solve their problem are some of the most efficient programmers out there.
That's great. I hope to get an interview with someone with the same mindset and methods. On my very limited journey into coding, my curiosity has been my number one reason for the (very small at this stage!) wins so far. If there is anything I hear that I don't know I have always jumped onto Google. To find a career where my curiosity to solve problems is rewarded would be phenomenonal.
We recently hired new juniors and this was the process:
During this pre-screening we invite them to ask questions because in our experience, the candidates that are enthusiastic about what we have to tell and ask questions are the candidates turn out to be the best colleagues. Some candidates definitely are shy or are afraid to speak up, which is why I usually have a few questions that will result in them asking the question anyway without them knowing. It's not about the (quality of the) execution but the willingness.
If the person on my side agrees (almost always yes), I invite them to come to the office (if need be, fly them in) and tell them to bring their CV (not resume) if they have any.
At the office, there is a short interview:
Finally I ask if they have time to stay for ~4 more hours, or if they have time in the next few days to come for about 4 hours. They can give me their day-rate or I will decide it based on what we pay other candidates if they feel uncomfortable.
This is when we'll work with them, usually with more people from the team they'll actually work with. And they get paid for that work.
If there is consensus after this first half-day by the team, they can come on-board, with a month as try-out so that both they and we can separate ties without any obligations. Fire at will doesn't exist here.
That's great! I recently began a career change (from 7+ years in the commercial construction sector) with the goal of becoming a full stack developer. I am currently in the JS phase of learning and am loving it! CSS definitely provided some hiccups but managed to solve them with patience. Can I ask, would you guys hire a junior with html, CSS and JavaScript knowledge (portfolio obviously)? Also would node.js be sufficient on the backend or would it be better for me to learn something like python? Appreciate any info at this stage, just trying to feel my way into this new space.
We look for Junior Engineers who have a strong background in another discipline. A trend that we've picked up on is a lot of Juniors with experience in Customer Service end up being very successful. Most likely it's because they can put themselves in our customers shoes. And they have good experience learning products.
In a candidates first interview, we look for enthusiasm, how well they have researched the company (shows real interest) and overall team fit/personality. In terms of code, we are looking for a clear understanding of key concepts in their code (whether it be professional, personal projects, bootcamp projects). These concepts usually include DRY, understanding of CRUD, testing.
Once they've been approved by the team (we are a team of 4 engineers) - we make candidates build out a simple CRUD Rails App. Basically creating short links from website urls. And then having the ability to send those short links via SMS text. We allow as much time as needed for the candidates to complete (within reason). We also give full control over design, code, testing and more. This gives us a true understanding of how the person thinks and what their true understanding of basic concepts is. We usually don't even say you need testing or anything, just to see if they end up writing tests.
We are not big fans of in-person coding. When a candidate has completed the project, even if it is not up to our standard, we usually like to sit with these people and cover why they should be doing xyz while including things that we liked with the project.
But overall it's enthusiasm. The great thing with juniors is that you have a chance to mold their mind. And hopefully it's the first real production codebase they will be working with - so it's a great chance to really get a junior thinking their way around your codebase and the way you want them too. It truly is awesome. I love hiring junior talent and seeing them grow. We actually just send our Customer Service lead to dev bootcamp - and she starts full-time on the development team in August! We are super excited.
Where do I sign up!! 10 years of customer service & management experience trying to make the switch to developing! Lol. Nah for real though it gives me more hope for me that I can eventually land a gig in software engineering. Been working hard for over a year now! Can’t stop me now!
Cheers
That's great to hear as a junior dev with a wealth of customer service experience.
With lower-level interviews, I assume they know nothing, or nearly nothing. I'm looking for passion and perseverance. Do you just give up straight away? Or do you chip away at a problem until you can solve it? You can teach someone how to code, but you can't teach them enthusiasm.
Honesty is also very important to me. If an interviewee tells me they don't know something, that adds credibility to everything they've said before as it takes guts to admit to something like that at a junior level.
No matter what anyone's experience level whether junior, senior or anything more, this is absolutely spot-on @natalie !
In most cases, strong fundamentals, enthusiasm & a genuine willingness to learn will take us miles ahead than the best bootcamps money can buy.
100% AGREE! I have no problems if they don't know, I do if they pretend to when they don't.
I think one of the few criteria for with junior especially for junior developers it is their attitude and willingness to learn.
They will stand out to me since the last thing I want is to work with is someone with a bad attitude.
If I was the Interviewer, I'll just ask about git and willingness to learn, and be honest with them about deadlines, how your company finish some jobs/sprint basically how the company works. I always wish the company scare me out on interview with "this bad things that could happen if you're a developer, it could be company fault or yours depends"
My first interview was like Senior/mid level Dev Interview :( we talk about background jobs, redis, websockets, CI/CD. I failed but I learning a lot about architecture.
Oh and the take-home coding was: create a chat app using redis, make it run on two cluster, use background jobs to delete chat message every 10 minutes.
We do pretty similar interview questions independent on the seniority of the candidate.
Normally we present a problem and ask the interviewee to design a system which solves it.
We start with the first thing that comes to mind and then iterate over that to get more into detail, discuss pit falls and edge cases.
This way the experience doesn't matter too much as it's rather about understanding the problem and explaining your way of thoughts to the solution.
What we're looking for from above:
Love your second point. I actually use a big mirror to write out my problems/ plan of attack.
Would it be common for companies to have a whiteboard for this type of thing?
I do basically what you described, @molly_struve .
What I look for in an intern is:
Humility and willingness to learn.
Basic coding skills — this is an internship, not CS-101.
Good (if unpolished) communication skills.
Self-discipline and a sense of responsibility for their own work.
A passion for their craft.
A healthy perspective on workplace diversity.
My hiring process is an initial interview, a take-home coding challenge, and a final interview. (This whole process is full-remote.) I've been refining it for several years, and my hiring success rate has gone up with every improvement.
This is awesome! Thanks!