IT and technology
Code on computer screen

What programming languages and other technical skills do I need to get a graduate IT job?

Even a computer science degree is unlikely to teach you all the programming languages and technical skills you need to get hired by an IT company for a tech-heavy job. Ensure you have experience with the technologies employers need.
Almost all of our recent hires have gleaned extra technical skills or honed those taught on their course with experience outside the classroom. – Zoe Greenyear, HR coordinator at Red Gate Software

If you’re aiming for a tech-heavy graduate job such as software developer, software tester or network engineer, you’ll need to ensure you have the programming languages and other technical skills employers want. Even if your degree is in computer science, it’s unlikely to teach you everything you’ll need to get a job. Do your research into what skills you’ll need for the types of IT graduate schemes that interest you and invest your own time outside university to develop these.

The programming languages and technical skills IT recruiters are looking for

Different companies’ requirements vary widely, so always research them individually.

  • 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.’
  • ARM explains: ‘We are looking for candidates with a good understanding of computer architecture. For our software roles, we’re looking for knowledge of one or more of a wide range of technologies, ranging from C, C++, OpenGL ES, OpenCL, WebGL, HTML5 and JavaScript through to compilers or virtual machines. Some experience of performance and power optimisation of embedded and/or mobile devices would be useful too. We are also keen to hear from open source developers and graduates who have experience with Unix/Linux. For our hardware engineering positions, we’re looking for knowledge of Verilog; in addition, ARM assembler and C/C++ are useful, as well as experience in Python, Perl, Tcl or Linux kernel scripting.’
  • 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++, VB or Matlab.
  • Unix is another technical skill sought by many medium and large IT companies.

Go beyond your degree to develop IT skills

Don’t rely on your degree course to teach you all the skills you’ll need – many will not do so. Nick Smith 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. Additionally, 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.’

How to develop extra technical skills

Those candidates who are successful in the graduate recruitment process have often used their own time to improve their technical skills. Advice on how to gain those extra skills from technology professionals questioned for the TARGETjobs IT Recent Graduate Survey included:

  • ‘Read up on current affairs and news affecting the industry. Try and get involved with clubs/societies related to your specialism. Spend your own time learning extra IT skills.’
  • ‘Get experience with open source projects.’

Jess Lilley comments: ‘Look through free online resources to develop your skills and work on projects in your spare time, such as building your own website or taking part in some open source projects. 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.’

ARM agrees, adding: ‘The stronger candidates are those who have a strong capacity for self-development. A candidate who has experience with the Linux kernel, or something like an mbed for example, in their own time, immediately stands out. We have interviewed students who have taught themselves about graphics processors by writing games and demos for their Android smartphone, or who have made contributions to open source projects. It can make the hiring decision very easy for us.’

Follow us on Twitter @TjobsEng_Tech.