Standing out as a new Computer Science graduate

Shane Smith
8 min readNov 7, 2019

--

So you’ve coded your last uni assignment, got those amazing (or not) grades and got the thumbs up to say that you’re ready to head into the workplace. You know the kind of roles you’d like to land, but how do you stand out during the recruitment process and make sure you get one of those roles?

As the previous CIO of Education Perfect, I’ve been asked a number of times for any advice I’d give to new grads. It’s perhaps a little ironic because I’m entirely self-taught rather than going through a university course myself, but I’ve had a fair bit of experience on the recruiting side of the table and can share what we look for when we’re searching for new grad recruits. Here’s what I tell people:

Understanding what they’re looking for

  1. Businesses hire people to solve a problem or meet a need they have
  2. As a new grad, you don’t yet have the experience to directly meet their needs or solve their problems — but with mentoring and practise, the future you in 6–12 months hopefully will be able to do so. That’s really the person they’re hiring. Between now and then, they’ll need to invest considerable amounts of their best developers’ time in helping you to become that person.
  3. Hence, what they’re looking for is a set of baseline capabilities, an attitude towards the new role, and perhaps most importantly a willingness to learn and engage with they way they do things

Technical competency is a baseline requirement

In my experience, technical competency is a baseline requirement, but it’s not what makes the best candidates stick out. After all, we’re going to be mentoring and coaching whoever we choose anyway, and that technical skill can be learned over time.

Instead, outstanding candidates:

1) Demonstrate interest and empathy in their end users

Not all dev shops will require this from a junior dev, but I know that was something I always looked for. Understanding your users and what they need prevents countless hours of writing code to fulfil misunderstood needs and allows you to direct your efforts to where they’re going to have the biggest impact.

2) Demonstrate their enthusiasm and genuine interest in development

We always look for evidence of interest projects outside of the university curriculum. Pick out a real world problem that you can build something simple to solve, whether it’s an app to help your grandmother with her grocery shopping or a system to help you drone detect and evade territorial swooping seagulls. It doesn’t matter how simple or complex the project is, just go and use these skills you’ve acquired in the real world. Alternatively, if there was a particular project during your course that really resonated with you, take that further and see where you can go with it. What we look for is not just the presence of these projects, but what the developer learned about building software and understanding their users as a result of having engaged with the project. Given the choice between someone who just completed their uni assignments and a second candidate who couldn’t stop himself from solving a whole bunch of real world problems with that same knowledge, it’s a no-brainer which candidate a business is going to choose.

3) Show that they’re willing and excited to learn

This applies in two ways:

  • Firstly, each company has different ways of working, and they’re looking for someone who is going to adapt and fit in to their teams
  • Secondly, your degree will have given you some great skills and knowledge, but this is just the first stage in your career learning progress

We would choose someone who is keen to learn every day over someone slightly more technically capable but who thinks they know it all already.

4) Are clearly going to be enjoyable to work with and mentor

This may sound obvious, but development is a team sport and you’re going to spend a lot of time with these people. Basically, be friendly during the interview. Once again, we would pick a friendly candidate over a technically brilliant but grumpy or uncommunicative one. This applies to all of your email correspondence with the company too — make sure your responses are punctual, polite (and spell-checked!).

(Note: During the interview we expect that our candidates will be nervous, so we give a fair bit of leeway for this. It’s the interviewer’s job to break the ice and put the candidate at ease, not the other way around. We’re also not expecting our devs to be extravagant extroverts — many if not most of us are introverted.)

Nailing the Interview

Here are some tips to give you that extra edge over the other people applying for this same role:

  1. Send a confirmation email a day or two beforehand double checking that you’ve got the right time and address for the interview.
  2. Be early. 15 mins is enough, but make it happen
  3. Do some research into the company beforehand. What kind of product or service do they produce? Who are their customers? What challenges might they be facing? If it’s a consumer facing product, get a login and try it out, then take in some observations about things you thought were really good and a few things you feel could be improved. You can also critique their website in the same way.
  4. Bring along your own laptop with some samples of code (and preferably working projects). Make sure that the code is readable and neatly formatted!
  5. Consider asking ahead of time who you’ll be meeting during the interview and look them up on LinkedIn. You don’t need to be blatant about this in the interview, but it might give you some ideas about things to talk about before the interview begins.
  6. If you get stressed out in interview situations, remind yourself that your interviewers are just people too. Right now they might hold the balance of power in this interaction, but fundamentally they want to treat their candidates fairly and build a positive working relationship with whoever they pick for the role.
  7. If the interviewer requests any further information or documentation that you don’t have at hand, make a list and ensure that you’re prompt in providing these. If you’re unable to do what they’ve asked, also communicate this promptly. Communication threads that go dead for extended periods of time are not a good look for the candidate.

Technical Challenges

  1. If they ask you to do some coding or solve a problem, first clarify that what you heard is actually what they want solved.
  2. Talk through your thinking as you go, step at a time, so that they can follow along and correct any misunderstandings of the situation.
  3. Don’t worry if you don’t get the optimal solution first time around. Once you’re done, look at your code for places which it could be optimised. Point these out to your interviewer and ask whether he’d like you to do this. It’s worth also pointing out the places you’d want to add explanatory comments in the code, and areas which would benefit from unit tests.
  4. Finally, refer back to the original problem-statement and check with your interviewer to make sure that you’ve adequately solved this.
  5. It can be handy to brush up on your typing speed beforehand. It’s definitely not the be all and end all, but we certainly use general comfort and speed in a coding environment as a positive sign of competence. (Obviously, this needs to be backed up by the rest of their performance).

If you get stuck…

  1. Slow down and take your time. It’s OK not to get this first time around.
  2. Continue to explain out loud your thought process. “Oh, I see that doing it this way isn’t going to work because of…”. Seeing a developer catch him/herself and correct that is a really positive sign for an interviewer.
  3. Go back to the problem statement and work through your ideas again. Check in with your interviewers again that you have understood the challenge properly.
  4. If you’re truly stuck, say so. “I’m not sure where to proceed from here…”. The interviewer might give you a hint and allow you to continue to solve the problem from there.

Come with a list of your own questions

The interview is also a chance for you to get a feel for whether you’re going to enjoy working with these people. Come prepared with your questions for the company. The most organised candidates that I’ve seen have these printed out (or on their phone) and reference them when they’re asking questions.

Questions you might want to ask could include:

  • Who will I be working with?
  • On what sort of projects?
  • What support and mentoring will I get in the first 12 months?
  • What will the job look like day to day? What will I actually be doing?
  • What does the trajectory of growth look like for a junior dev in the company? Where can they go, after how long, and what do they need to demonstrate to achieve this? (Both in terms of responsibilities, opportunities, and pay)
  • What are they looking for in a candidate?
  • What is their approach to development? What does the company and the team value above all else?
  • What does their recruitment process look like? Are there multiple stages? What kind of timeline are they running on?

Although asking a set of tough questions can feel daunting, it shows that you’ve thought through the role that you’re coming in to. Make sure that you personalise your questions for the company and your situation though! I’ve had a few candidates come through with lists of questions that were strikingly similar and generic, which comes across more like parroting out a formula rather than truly engaging with the opportunity at hand.

Good luck!

Job searching and interviewing can be challenging and sometimes nerve wracking. It’s difficult to know what your interviewers are really looking for, and interviews are downright stressful scenarios. However, once you get through this process, I can vouch for the fact that software development can be a fulfilling, exciting career with many branching opportunities ahead of you. Put your best foot forward, and good luck!

(You might also be interested in my follow-up post — “Tips for your first few weeks as a junior developer”)

--

--

Shane Smith

Ever curious about the world. Previous CIO of Education Perfect. Amateur underwater photographer.