Code Test Expectations for Junior Developer Roles

Hi all,

I got approached by a company’s in-house recruiter on LinkedIn last week, as they are looking for React developers. I have only just started to build projects with React/Redux, but have a good understanding of how they both work. After speaking with her and explaining that I was only looking for a junior developer role and that I don’t have commercial experience, she put my CV forward to the CTO. He was apparently impressed with the React app I had showcased on Github, so we had a phone interview. So far so good. I was then given a code test, which was sent to me late on Friday afternoon, and I was asked to have it back by Sunday evening. This is where it started to go wrong.

When I saw the test, I nearly cried. It was not something I’d be able to put together in two days (though they said it was feasible to have it done in a couple of hours - which an experienced developer could’ve done, no doubt). I gave it my best shot, but it was really stressful, and in the end, I sent it back incomplete. As you can imagine, the feedback I got was pretty awful. Basically, the CTO thought that I was not even worth being paid a junior salary at this point in time.

So my questions relating to this are as follows:

  1. How much time do junior developer applicants typically have to complete a code test. Is a couple of the days the norm or is more time usually allowed?
  2. Would it have been reasonable for me to ask for more time to complete the task?

As far as my experience goes, I will continue to try and build more projects in React/Redux, and will even see if I can finish the test they set for me in my own time. I have to say though, that my confidence has been knocked really badly by this. I just wonder how much employers are looking for when they employ junior developers, and if I’m still way off the mark.

6 Likes

Hi, they asked me to create a react/redux app, in which I had to write a set of exam questions including answer options as an api that could be fetched from a server - I didn’t have to use an actual server, but could use local stubbing of asynchronous functions to do it (which I’ve never heard of before, and couldn’t find anything useful online that would help). The idea was to then post the user’s answers back to the server, compare the user’s responses to the correct responses, and return a response in the UI, showing which of the user’s answers were correct, and which were incorrect, as well as a final score. I ended up setting up an actual server and managed to get as far as posting the user answers, but the whole thing was pretty awful. I know if I spend some more time on it, I can come up with something better, but am starting to think it probably still wouldn’t be up to scratch.

It varies dramatically. I’ve had an “interview” where I was put in a room with a laptop for 8 hours and asked to solve an unsolvable(ish) problem. I’ve been left to do a relatively simply task for 30 minutes. I’ve seen interviews where you solve the challenge in a shared document while the interviewer watched live. Most of my interviews (I’ve done several) do not involve a true coding test, but rather whiteboard style challenges.

Reasonable? Sure. Would it have done you any good? No. They decided that they wanted to see what you could do with a specific challenge in a specific amount of time. I’m not saying it’s good practice, but it’s what they decided to use.

Please don’t let this discourage you. Like I said, most of the jobs I’ve applied for haven’t done this sort of thing. One of the ones that did was Amazon (the put me in a room for 8 hours one). I ended up coming very very close to tears partway through and got an “ummmm…no” call within a day of the interview. This job search resulted about a 50% rejection rate and practically a bidding war between the companies that wanted me. My next job search 2.5 years later landed me a six figure job. Now Amazon recruiters hit me up on a regular basis.

I don’t say this to fall into a survivor’s fallacy, but to illustrate to you that the technical interview process is fucking broken and that you should not take this as a personal failure or a real indicator of your ability to succeed in this field.

11 Likes

Also keep in mind that they may expect a certain amount of failure. If the test is too easy and all they get back is successful apps, they haven’t learned anything about the different applicants. I’ve heard a few stories of people that didn’t do well on these tests but still got hired because they knew the test was hard and just wanted to see how people handled it.

If nothing else, you learned some things. I’ve done about 5 of these things now and haven’t been hired. On a few of them, I definitely got the “Oh crap, I’m way over my head” feeling. But I learned something on each one.

I might suggest building the app anyway. It would be a nice portfolio piece and it would be a chance to fill in some knowledge gaps. Heck - it sounds interesting - I might build one myself.

9 Likes

As @kevinSmith said, sometimes failure is expected and it’s all about how you try and fail. When I talked to one of the engineers overseeing the interview at Amazon and admitted my feelings of concern about not being able to solve the challenge, he leaned forward and said “This is a problem our programmers have been working on as a team. The other candidates who think they have a solution are wrong.”

4 Likes

Thank you, your post makes me feel somewhat better.

I have to admit that I think I knew this deep down already.

The CTO of this company used to work for Google, and perhaps his expectations of what he thought I could do, or expected me to do, were higher than average. This was my first interview and code test, so I have nothing else to compare it to in my own experience, but I’m starting to think that I was thrown in the deep end!

This from your second post:

I hoped that was what would be the case here, but after the rejections, it became very apparent that it wasn’t. However, I can appreciate that this might be the case for other employers.

I really do appreciate you taking the time to comment. I’ve been feeling like absolute crap, thinking that maybe I don’t have it in me to be a developer, but then I think back on how much I’ve progressed over the past year. Just need to find that employer whom is willing to give me a chance.

Yeah, that makes perfect sense. I had hoped that they would appreciate that I’d given it a go, but I suspect their expectations were very high in this case.

I will admit that this was precisely what I was thinking of doing! I don’t know how long it will take, but I know that I learned a lot from building my first ever React/Redux app, so I know building this would be hugely beneficial. The more you do, the better you get!

I didn’t have to use an actual server, but could use local stubbing of asynchronous functions to do it

Would this mean just returning promises from completely synchronous code to “simulate” async or is this beyond me to the point where I don’t know what I’m saying? This actually sounds like a fun project to build as an exercise, but I’d like to try that fake server thing.

I’m still not sure how to go about it, so I don’t know if you’re on the right track or not, but it’s something I plan to look into too. In the meantime, I’ve continued working on this challenge, using the express server that I set up. I’ve actually got a working version now, but just want to spend a bit more time fine-tuning it. It’s been a really good learning experience, and it’s reminded me that I am a capable developer (something I was starting to doubt after the feedback I got!).

I agree, though. It’d be great to try the fake server, simply because it’d be a really useful thing to know for testing purposes. If I find out how to do it, I’ll try and post something back here, because it sounds like something that could potentially help a lot of people! If you, or anyone else, work it out and would be willing to post any info here, that’d be great too.

I made a similar app over a year ago using mean stack (Mongo, angular, node, express). It was a testing application - you created a test, someone else completed it and got their scores.
https://github.com/Yuri-Predborskiy/NodeTest
Feel free to poke around and see if you can learn something useful from it. Beware, though, this was my first full stack app (the code may be pretty horrible by today’s standards) and it was never truly finished.

Feel free to make issues or comments or whatever in github, I’ll try to reply in a timely manner.

2 Likes

Hi, sorry to hear about you not getting the job, but it seems like you are getting something positive from it. Maybe once you have finished the project you should write a blog post about the experience and what you learned to help consolidate your knowledge?

I’m still learning myself but from what I understand it is very rare for someone to land a job from their first interview/

Best of luck!

1 Like

Cheers Yuri! Really appreciate you sharing your code.

I finished the challenge last Thursday. I set up an Express server using the express-generator package and hence was able to post the user’s responses to that, compare their answers to the correct ones, and get a response back. In case anyone wants to see it, my version is here: https://github.com/UrsulaRodgers/multiple-choice-quiz.

2 Likes

It’s definitely been a great learning experience! As I mentioned in my reply to Yuri, I did finish the challenge last Thursday :). If only they’d given me a week instead of two days!

Yeah, I know it’s extremely uncommon to land a job after the first interview. I was just concerned about the code test, wondering if they were all as hard as this, but as it turns out, they can vary greatly. My husband is a senior developer (Drupal/PHP, so our paths have diverged enormously), but he thought the test was pretty harsh for a junior candidate. I wanted to post here to see what others thought though (and hopefully this thread will be helpful for others whom are just starting on the path of job applications).

Thank you for replying, and best of luck to you too!

This is normal behavior in the dev industry. We have all had some of these experiences. I have quit sending my resume and do not speak to recruiters in the industry much anymore. Not discouraged just taking my skills in another direction. You @UrsulaRodgers are not a unicorn with wings and a jet pack. Do not be discouraged by one persons opinion of you, it holds no bearing on the work you put in. Most of the work is done in a team environment not a one man show. This is a test of how you handle failure. Don’t give up! The right opportunity will come along. Be :muscle:

Congratulations on completing that Ursula. Stay positive. You are nearly there. The word of God says that though the righteous may fall seven times they get back up. Stay blessed.

Я только учусь. Не могли бы Вы мне дать этот тест для анализа.
С уважением Евгений.