What programming languages and other technical skills do I need to get a graduate IT job?
Studying a computer science course or a related degree? Don’t rely on your course to teach you all the programming skills you’ll need. Nick Smith from Imagination Technologies says, ‘Universities can vary quite drastically between each other, especially in the UK. This is not just by the topics and modules taught, but also in how hands-on the courses are along with any supplementary soft skills courses offered.’
Not studying computer science but looking at careers involving code? While a handful of employers train graduates with no experience to write code, you can increase the number you can apply to by learning a programming language in your own time. Start your research on graduate IT employers here.
Read on to find out which languages your favoured employers want and for recruiters’ ideas on learning to program or getting evidence of your skills.
What programming languages should I learn to get a graduate IT job?
Different employers’ requirements vary widely, so always research them individually. However, we asked some of the biggest graduate technology employers what they look for.
- Hannah McGarty, a scrum master at Hotels.com, says: ‘We mainly use Java and ask for applicants to have experience of this or other object-oriented languages. If someone is more passionate about a particular language, such as Ruby or Scala, we will guide them to a team focusing on that language.’
- Imagination Technologies' senior university recruiter Nick Smith comments: ‘On the hardware side we are looking for people with a strong understanding of digital design. A hardware description language is also useful. On the software side, generally we are looking for strong C and C++ programmers, sometimes also requiring high-level languages like Python and Java. Creative problem solving is highly valued, along with soft skills, such as teamwork and communication.’
- Morgan Stanley’s technology campus recruitment manager Jess Lilley tells us: ‘Graduate applicants will ideally be proficient in at least one programming language (Java, C#, C++, but we’re very open to other languages as well), with some practical experience of working on a technical project. In addition, we are looking for strong analytical and problem solving skills to supplement this knowledge.’
- Tessella requires software development experience in any of the following: Java, C, C#, C++, Visual Basic or Matlab.
How can I get coding experience before I graduate?
Get as much experience of coding as you can – and that means putting in the time outside of your degree.
If you already know the basics of one language, learning a similar one could be straightforward. Matt Gardner, also a product manager and development team lead at BlackRock, says: ‘We’ve had people pass our Java test who only knew C++. They had spent a couple of hours preparing with a book and found the transition to Java simple.’
Hopefully you can put aside more than a couple of hours, though, and keep using the programming you are learning. Hannah says, ‘Get out and use what you have learned. Whether that’s through work experience, volunteering (for example in a local school running coding classes) or working on your own personal project such as an app or website. I would also recommend joining online communities and contributing to open-source. Keep up to date with new technologies, and understand how they will impact the world around you.’
Jess also encourages personal and open-source projects and says, ‘In addition, look out for hackathons or coding competitions taking place at your university and get involved in those. They will really help to develop your technical skills and also allow you to network with different people, thereby getting a real sense for a firm’s culture and values, which are both important factors in your decision making process when choosing your employer.’
Nick champions placement years: ‘Imagination Technologies highly encourages students to do placements in order to gain more applied knowledge. How much placements are encouraged, supported and valued also varies across universities, so you need to do your research and choose wisely to fit both your future career vision and the style of learning you enjoy.’ Find out how to find an IT placement.
How do I promote my coding skills in my graduate CV, application and at interview?
You can see our technical graduate CV writing tips here, which includes a template IT graduate CV.
However, Joe has an additional CV tip: ‘A lot of people nowadays have got their GitHub accounts on their CVs and we can go and look at their code.’
Matt adds that any of the programming activities you get involved in can provide good topics to talk about at interview: ‘If a candidate says, “I was doing some research into how I could filter this data and solve this problem” – for a charity or a science project, for example – it gives us something really useful to grapple with at interview. We get to find out how they thought about a problem, and how they applied and improved technology. Those are the conversations that stand out in my mind.’
Remember: other graduate skills matter too
Programming languages are often a requirement for graduate IT jobs but it’s important not to fixate because the job spec will list plenty of other skills too. However, try some of the suggestions above for learning to code and you are bound to pick up a host of other desirable skills.
Hannah says: ‘We don’t just look at programming skills. We also consider if the candidate’s approach to teamwork is in a collaborative, innovative and communicative manner. Experience of this can be gained from project work to university societies or even sports teams.’
Joe agrees: ‘We’re looking for a passion for technology. Do they care enough to do things in their spare time? We also want to know if they can communicate well. Our technical roles involve talking to the business a lot to understand business problems, so graduates need to be comfortable working in a team of developers and talking to the business user.’
Follow us on Twitter @TjobsEng_Tech.