Senior Software Engineer Surrey £c75,000 Purpose of the Role The purpose of the senior Software Engineer is to create, maintain and release high quality software to schedule, in accordance with Company standards. Key Responsibilities: The purpose of the senior Software Engineer is the design, coding, debugging, testing and maintenance of software for embedded applications encompassing both low-level microprocessor code as well as higher level software designs running within an embedded operating system environment This will be undertaken alongside other technical activities while working with hardware and software engineers to deliver specific project goals derived from future product requirements Responsibilities will include the development and implementation of application logic, peripheral drivers, protocols, human-machine interfaces and documentation of the same A key element of the role will be the delivery of software within agreed timescales and to budget The right candidate will be capable of designing and delivering robust code. Demonstration of competence in using C is essential as is embedded programming experience of both low level and high level code Outline of Competencies: Experience of developing software through entire lifecycle. Ability to work independently without need for close supervision. Ability to analyse process or tools to propose improvements where applicable. Qualifications and Experience required: Team working ability and drive to deliver on time C experience in an embedded environment Experience of embedded processors and real-time operating systems Experience of interfacing with hardware devices and peripherals Solid understanding of software development life-cycles and processes Experience of requirement analysis, software design and software architecture Experience with source control tools such as SubVersion and Git Behavioural: self-starting, adaptable, problem solving Desirable: C++ experience in an embedded environment Object Oriented Design and Programming experience Familiarity with desktop application, GUI/event-based design Knowledge of issue-tracking tools, such as Jira. Knowledge of releasing software to Production Knowledge of DO-178 would be advantageous apply to (url removed)