As coding bootcamps such as Coder Academy and General Assembly churn out more and more software developers, and as more and more people…
As coding bootcamps such as Coder Academy and General Assembly churn out more and more software developers, and as more and more people start to realise the importance of software, companies these days are facing an increased amount of candidates applying for junior dev roles.
Recently we had to take down our job ad for a junior full stack React and Elixir role only a few days after posting it due to having received about 300 applications. Suffice to say, the competition is fierce at the entry-level end of the software engineer spectrum.
Software is eating the world. - Marc Andreessen
In the past three months alone I've had to sit through over a hundred interviews, many of which were for junior roles. Some candidates did really well but unfortunately the vast majority did quite poorly. In this article I am hoping to offer some tips and insights as a seasoned interviewer and hiring manager, to those who might be struggling landing an entry-level software engineer role.
I'll break the tips into three sections: before an interview, during an interview and after an interview.
This is arguably the most important stage of your interview - before it happens! Prepare yourself with enough knowledge and confidence in both software development and conversational skills in order to ace the interview and stand out amongst a sea of candidates.
I get it, bootcamps and many online tutorials and courses focus on teaching the practical things to turn code into products. But just like running or even walking without correct postures, it can be incredibly dangerous over time.
Not having any substantial project experience on your CV is a sure way to significantly lower your chance of getting an interview.
Do junior developers really need substantial project experience, you may ask? Abso-fucking-lutely!
Build your own side projects, participate in open source projects, pick up some freelancing work - the choice is yours. These won't be your most technically accomplished work, but they will help you accumulate experience, and more importantly to demonstrate your capability to your interviewers with real world experience.
I want you to put your hand on heart and answer this question honestly. If your answer is more money or FOMO, that's okay, but be prepared to be disappointed with the reality - if you are not in this field because of your passion for building products or solving problems, you will find this a long and hard slog.
If you are passionate about building software, then let me tell you this - when you are starting your career you will have to give up your work life balance for a bit. That is, if you want to boost your career and progress quickly beyond being a junior developer.
My interest is in the future, because I am going to spend the rest of my life there. - Charles Kettering
Looking back at when I started my software career many moons ago, I never regretted giving up my social life early on in my career: I worked extremely hard, often did many jobs - a day job as a dev, a night job as a dev, freelancing and doing open source work all at the same time. Some would probably frown and say that I had no life, but I choose to believe that I was making sacrifices so I can become good at what I love doing in the shortest amount of time.
If you are one of those who spam your CVs to every job opening, please consider changing your tactic. A well written cover letter will not only increase your chance of getting an interview, but also allow you to ask relevant questions during the interview.
Check out the company's website and any social media pages on LinkedIn, Facebook and Instagram, etc. Do a bit of "stalking" on the people who work in the company, sometimes this will give you some insights into the type of work environment and culture the company has.
Doing enough research is not only for your own good - knowing whether you will enjoy working there should you end up getting a job offer, but also demonstrates your ability to do research and independent thinking to your interviewers.
This one might not be immediately obvious because it's very high level and somewhat vague, bear with me.
Some people might be deep thinkers but really struggle to get their points across, and to communicate their ideas and thought process in a clear, concise and useful way. My advice is to read blogs, listen to talks and learn from other people on how they communicate. When you read and listen, pay more attention to how sentences are structured and how titbits of information are given.
The most powerful person in the world is the story teller. - Steve Jobs
And don't forget to practice! Get comfortable talking to others on various topics in software development.
Hopefully the tips given thus far would help you secure an interview. Now it's show time!
Whether you are attending an on-location interview, or more likely during Covid, an online interview, make sure you turn up on time!
If it's an online interview, also make sure you have whatever software needed (Zoom, etc) installed and tested. I've had a few occasions where the first five minutes of the interview was spent on the candidate trying to get their mic or speaker working - it's not a huge deal, but it does show the lack of preparation and organisational skills.
Understandably, interviewing is stressful. However, remember to put on a smile when you greet your interviewer and when you do small talks. Everything needs a balance of course, when you're giving technical answers it's probably not a good idea to smile.
If you know you get uncomfortable talking to strangers or when under pressure - do more practices! If you can't find a friend or don't have a partner to practice with, use a mirror!
When you don't know something or can't recall the details of something, just say it. As an interviewer, when I ask you a technical question I can see through your hmms and ahs. A "sorry, I don't know" is a much better answer than one that doesn't make sense.
Bonus point: "Sorry I don't know, but I will look it up after this interview."
This one can be extremely easy or extremely hard depending on your personality. For those who might struggle with reading social cues, try pay more attention to what type of questions you were asked.
If it was an introduction of yourself to kick off the interview, make it more than just two sentences but also under five minutes - this is usually a warm up for you to find your feet and calm your nerve, and for the interviewer to extract any interesting information as a discussion point later. It doesn't have to be your memoir and you shouldn't robotically talk through your entire education and work history.
If it was a technical question, always try to time-box it. Don't drag on and repeat yourself just because you have already answered it quickly and concisely. When in doubt, ask the interviewers whether they have anything in particular they were looking for.
If it was an open ended question, try to explain your thought process as you explain it. As an interviewer, I'd hate to ask an open ended question and get a short yes/no back. At the same time, give interviewers room to interject and ask follow-up questions by pacing yourself.
Okay, you might be very nervous, or English might not be your first language, so you tend to speak fast to "get through it".
If that's the case, work on your speech pattern, make it concious enough that you will recognise it when you speak too fast. If interviewers can't get your points clearly, they might not always ask you to clarify - because if you kept doing it repeatedly, you would already be written off as a suitable candidate.
I totally understand that in a competitive job market you want to present yourself in the best light. Just be confident and speak the truths.
As someone who's been doing interviews for years, I really dislike people who overstate their capability either on their CV or during the interview because these are often very obvious. Claiming to be an Elixir expert but not knowing how the supervision tree works is a sure way to score a black mark, for example.
To counter the point on over-selling yourself, what works better is to show interviewers your willingness and determination to learn. Remember, you are still a junior therefore we don't expect you to know everything we know.
What we do expect, is your commitment to learning - not by saying it, but by demonstrating it. Remember the earlier tip on getting more project experience?
Usually towards the end of the interview, we'd ask you if you have any questions. Don't say "no".
Doesn't matter how much research you've done on a company, there are always insights someone who's working at the company can give you. How do they manage the delivery? How do they support learning? What makes them enjoy working at the company?
Use this opportunity to gain insights into why you should be working at this company, and to demonstrate your interests in working at the company to the interviewers too.
After completing an interview, it's an opportunity to do a little retrospective and do a follow up when necessary.
Don't over-analyse on what you could have or should have said. Instead, spend your energy on solidifying the topics you couldn't or didn't provide good answers for. If you've said "don't know" or "not sure" during the interview, now is your chance to make it "sure".
If during the interview there have been things mentioned that you could provide links or more information on, be sure to act on it. You never know, maybe the clarification is just what the interviewers needed to help them make a decision.
To all the junior developers out there - enjoy the journey! You are in for an amazing ride, make every second count.
If you enjoyed this article, checkout my other tips articles: