Principal Software Engineer

Job Description

Principal Software Engineer


Our client is looking for a  Principal Software Engineer. The purpose of the role is to act as a lead software developer, involving engaging with internal and external customers to determine requirements, develop architecture, define detailed design elements and manage a team to deliver on an agreed design. The role of Principal Software Engineer  will require oversight of all stages of the software lifecycle, and, as such a solid understanding of all of the stages of software development will be required; as well as a good understanding of industry best practises, as well as current trends. As a senior member of the software team line management responsibility for a small number of engineers is expected, this includes managing performance, development and mentoring of individuals. A wide appreciation of technology and the ability to anticipate future trends will be required in order to contribute to the business’ technology roadmaps, which in turn will ensure that we can support a cutting-edge and ambitious product roadmap. A key element of the role will be the delivery of new software within agreed timescales and to budget, while ensuring that governance has been adhered to. The right candidate will be comfortable managing a small team and delivering robust code.  Demonstration of competence in using C/C++ is essential as is embedded programming experience of both low level and high level code. This role Principal Software Engineer is based in Leatherhead, Surrey and offers a very competitive salary and excellent benefits.


As a Principal Software Engineer your skills and qualifications will ideally include: 

  • Proven record of leading teams to deliver successful outcomes on time and within budget

  • Wide range of experience with and knowledge of embedded systems

  • Strong background and understanding of different software design methodologies, for example Object Oriented Design

  • Proficient in programming C/C++ for embedded systems

  • Experience with bare-metal, RTOS and embedded Linux development

  • Hands on experience of interfacing with hardware devices

  • Solid understanding of software development life-cycles, processes and methodologies

  • Experience of requirements analysis both internal and from the customer

  • Experience of bid preparation and working directly with customers

  • Behavioural: self-starting, adaptable, problem solving and able to motivate others


Principal Software Engineer - Nice to have:

  • Knowledge of aviation regulatory standards for software: DO-178C

  • Participation in the definition and roll out of change processes and continuous improvement activities

  • Familiarity with GUI/event-based design

  • Experience with scripting using Python

  • Experience with software lifecycle management tools: Atlassian JIRA, Git and Atlassian Bamboo


Keywords:  Principal, Software Engineer, C, C++, Embedded, OO, Object Oriented, Methodologies, RTOS, Linux


Principal Software Engineer

Location:  Leatherhead, Surrey

Salary: very competitive with excellent benefits