Staff Engineer, Software Infrastructure

- United Kingdom -- England -- East of England -- Cambridgeshire -- Cambridge Posted 19 September 2018 Permanent

Job Description

The role is to develop software for Samsung’s range of wireless chips. The software is written in the “C” programming language and occasionally in assembler and runs in a resource constrained embedded real time environment. The role involves helping to develop software through the entire software lifecycle including design, implementation, test, debug and support and may require travelling to customer sites to provide hands-on debug and support of issues.

You will contribute towards a number of areas of the drivers, Android integration and firmware and be part of the team who are responsible for the delivery of the fully tested component to a timescale agreed with the Programme Manager. This role will also give a chance to grow and take ownership of core components of the solution.



  • Contribute to requirements capture
  • Contribute towards task definition and work breakdown including time estimation
  • Design documentation
  • Contribute to the development and test of software of major scale and complexity to agreed timescales
  • Contribute to the delivery of high quality software in line with the department’s processes
  • Maintenance of software including defect investigation
  • Contribute to software integration onto new platforms
  • Contribute towards the continuous development of the department’s processes
  • Conduct peer software reviews
  • Create relevant documentation following the department’s processes
  • Assist external inter-operability and compliance test events
  • Develop tests and scripts to exercise solutions being implemented
  • Support the development at customer sites. This may involve occasional foreign travel

Required Skills:

  • Degree (or equivalent qualification/ experience) in maths/science/software/electronics
  • Proven understanding of ‘C’ programming languages
  • Experience in development and debug of Embedded Linux Kernel code
  • Understanding of software design techniques
  • Understanding of debug techniques and tools
  • Understanding of software architecture
  • Good understanding of configuration management
  • Effective team player
  • Good communicator
  • Excellent problem solving ability and tenacity in finding root cause for complex issues

Desired Skills:

  • Experience in writing code for resource constrained environments where MIPS and memory have to be utilised carefully
  • Experience of programming and debugging using ARM processors/tools
  • Experience in development and debug of embedded firmware code
  • Experience of Android platform development
  • Familiarity with the "Git" source control system
  • Knowledge of a scripting language such as Perl or Python
  • Understanding of processor architectures and peripherals
  • Experience of embedded multi-processor systems and inter-processor communication techniques
  • Experience of developing embedded protocol software for wireless communications – ideally operating in an area close to the hardware
  • Experience of Linux based development environments

Contact information

Hannah Bicknell