Principal Software Engineer - Linux/C++

  • Location

    Cheltenham, Gloucestershire

  • Sector:

    IT, Engineering

  • Job type:


  • Salary:

    £45 - £55 per hour

  • Contact:

    Ben Mcrae

  • Contact email:

  • Job ref:


  • Published:

    10 months ago

  • Duration:

    6 Months

  • Expiry date:


  • Start date:


  • Client:


Role: Principal Software Engineer - Linux/C++

Location: Cheltenham

Duration: 6 Months

Rate of Pay: up to £55/hour

My client PCS are looking for a Principal Software Engineer to enhance the software engineering capabilities of its Engineering department. Working in a multi-disciplinary project team to develop, deliver and document software. You will be working across the entire development life cycle, from planning and requirements capture and analysis to final product approval.

Key responsibilities:

  • From Systems requirements, design and implement software for a number of different platforms; Design, develop, code, test and debug software to required standards interfacing with hardware design and development as necessary
  • Liaise with customers, internal and external as needed
  • Provide post production support and maintenance as required

Personal attributes:

The successful candidate would be expected to demonstrate the following behaviours and skills:

  • Pro-active and self-motivated with good problem solving Following a mature, structured approach to produce well-documented and reviewed code
  • Learns quickly, willing to think "outside the box" using rigorous logic and methods to solve complex problems
  • Helpful and assistive approach to resolution of technical challenges and understands the need to change where necessary and adjusts accordingly
  • Positive attitude with ability to work as part of a team or alone with little supervision or direction
  • Good communication skills (presentation, written and verbal)

Expectations, Background and Understanding:

  • Demonstrable track record of application software design & development through the entire lifecycle in the C++ language on Linux platforms
  • Experience of Linux toolchain and building custom kernel / roots from source
  • Working knowledge of Linux configuration including IP networking and associated communications protocols
  • Ability to generate unambiguous software requirements based on user and systems level requirements
  • Experience of creating appropriate software test strategies and operational confirmation
  • Working knowledge of USB

Beneficial Skills:

  • Demonstrable track record of application software design & development through the entire lifecycle in the C language, ideally with FreeRTOS
  • Working knowledge of Information Assurance and security principles
  • Embedded software development using embedded C for 8, 16 or 32-bit microcontrollers
  • Experience of Military/Aerospace software design lifecycles
  • Experience of Windows or Linux desktop application development