Principal Software Engineer - Java, Multithreaded, Linux Requirements:* Recognised 2.1. Degree or higher in Software Eng., Physics or Electronic Eng.* Experienced Java developer* Experienced in writing multithreaded applications.* Experienced in making Linux kernel device tree modifications.* Experience of using version control systems, such as Git.* Ability to assimilate and apply technical information to design tasks and to problem solving* Ability to apply software engineering best practices throughout the development lifecycle* Evidence of good organisation, planning and execution of work* Ability to work closely in a team with other engineering and science disciplines* Effective communicator with attention to detail and a flexible approach.* Experience of working with customers to develop requirements into technical definitions and specifications

Desirable:* Certified qualifications in Software Development* Experience of writing unit tests* Knowledge of OpenGL / real time image processing* Ability to code using C++ and C# (Visual Studio and/or Embarcadero)* Experienced in writing software to communicate with peripheral hardware devices* Experience of other languages, E.g. Labview* Experience of using development environments, such as Android Studio* Experience of developing software in a product development environment.* Knowledge of microelectronics* Hands-on laboratory test and measurement experience.

The successful candidate will be required to achieve full SC clearance prior to employment!!!