Getting a job in software development

I have been developing commercial software since graduating from University in 2003. I started NBS in 2005 and in the 12 years I’ve worked there I’ve progressed from Graduate Software Developer to NBS Labs manager. As part of this role, I help recruit graduate software developers on to our Graduate Software Developer Scheme. Each year we look to employ 2-3 graduates. The graduates we employ typically studied at one of our local universities – Newcastle, Northumbria, Sunderland or Teeside.

The cost of attending University has increased significantly since the introduction of tuition fees back in 1998. Students can pay around £9000 a year for their degree. I’m going to be a little controversial and say that what is really surprising to me is that, as a recruiter, I’ve not seen an increase in quality of candidate coming through. Instead, I am seeing graduates who have done a little bit of coding – Java, C# – in year 1 and nothing since.

A core part of our recruitment process is a technical test, which many applicants struggle with. So I thought I’d write a quick blog post to give a bit of an insight into what I look for when recruiting graduates.

Review of CVs

The first step in the recruitment process is to sift through CVs. It’s quite common for graduate CVs to look very similar, after all graduates are at the beginning of their careers and have very little commercial experience.

An important thing to realise when you write your CV is that all the students on your course could potentially be applying for the same job. In addition to this, similar number of students from other local Universities might also be applying. How can you make sure that your CV stands out so you make the short list?

  • You are applying for a software development position, make sure you cover your knowledge and experience of key technologies. Also cover group projects and final year projects – with an overview of what the project was, your role and what technologies were used.
  • If you’ve been on a placement as part of your degree you should have some excellent examples of work done whilst on placement and technologies used etc. In ay ways you already have something to make your CV stand out.
  • Demonstrate your abilities and interest in computing – include hyperlinks to personal websites (written using a full development stack and ideally backed by a data store) to showcase your work, blogs, GitHub repositories.

Practical test

From the CVs, we build a short list of candidates to invite in for the first stage of our interview process – a programming test. Our test is fairly simple and is looking for a demonstration of basic programmings skills such as:

  • Interpreting requirements
  • Coding using a good programming style
  • Reading user input
  • Breaking up a problem in to reusable functions
  • Demonstration of code reuse in a loop
  • Reading a file and analysing data within it
  • And ideally showing some initiative – like writing some Unit tests and handling exceptions

This sounds simple doesn’t it? But we see many graduates struggle with this test event though it probably less difficult than something you will have done in a programming seminar at University.

My advice is always a reminder that many software development job interviews will require the completion of a test. Java, .NET, Python, NodeJs are all free to download and IDE’s like the excellent JetBrains IntelliJ IDEA or Visual Studio offer community editions. There are also loads of coding vlogs on YouTube. Practise, practise, practise the basics before you start applying for jobs.


The tests are code-reviewed by a mix of senior developers and developers to get feedback. If the candidate has written a good solution they are invited back for a formal interview as the final stage of the interview.

You can find lots of really good advice on the Internet about how to interview well – but my advice is try not to panic and remember that the interview is NOT a test to catch you out. It’s a conversation between you and your potential new employer to discuss your knowledge, skills and passion for a career in software development and for you to decide if the company is the right fit for you.