Senior Embedded Software Engineer
Blackbushe, Yateley, Hampshire
To create, maintain and deliver Inertial Navigation System embedded software solutions, meeting internal and external customer requirements through all stages of the development lifecycle.
- 1. To take a holistic view on the INS software integration with respect to both internal related products, internal related software and customer solutions / applications. This is to be achieved by liaising with Engineering, Project Managers, Field Engineers and Customers and documented as functional requirements accurately documented using corporate templates.
- 2. To take ownership of functional requirements and implementation on the INS hardware platform.
- 3. Lead development activities carried out by non-senior development Engineers in the area of INS embedded software implementation as required.
- 4. Prepare internal technical proposals and briefing presentations relating to INS platforms, technology and architectures.
- 5. Assist the INS manager in product ownership activities and defining product / technology roadmaps.
- 6. To undertake software development assignments in accordance with the defined and agreed specification, ensuring the full development lifecycle is followed and the INS Group Manager and other stakeholders are kept up to date on progress.
- 7. To take shared responsibility for management of the internal feature request and issue tracking database by reviewing new requests, targeting to release versions and prioritising development and testing.
- 8. To create and maintain documentation relevant to the design and development process, which will include: specifications, designs, test plans and release notes.
- 9. To contribute to system architecture continuous improvement; ensuring systems are simple and intuitive to use, maintain and work seamlessly together. System architecture must be supported, modified and scaled efficiently and quickly to match changing objectives.
- 10. To code robust algorithms using suitable data structures based on mathematical principals and functions provided by Principal Engineer / Algorithm Engineer
- 11. To conduct embedded software testing and system trials to ensure the design is fit for purpose and meets the specification. Any issues relating to functionality or operational effectiveness must be resolved satisfactorily. This may be done in an office setting or at the Plymouth trials facility.
- 12. To resolve issues found during the integration phases of the firmware, hardware and software modules which could be at the development testing or system test stage, either by working autonomously or with members of other teams. Test failures must be accurately recorded in accordance with Company procedures.
- 13. To provide technical advice and guidance to customers regarding new and existing products. This may be via email, telephone or occasionally at customer meetings and will involve working to vessel schedules and customer timetables to meet demands.
- 14. Determine and apply appropriate Measurement System Analysis tools.
- 15. To develop and maintain a detailed knowledge and understanding of current industry embedded firmware / software technologies and their application to future Sonardyne products and systems.
core cOMPANY-WIDE rEsponsibilities
- 1. To understand, apply and promote a ‘safety first’ culture, personally and amongst all direct reports, ensuring strict compliance with both Sonardyne and Customer policies, procedures and practices relating to Health, Safety and Environment, including the completion of risk assessments, workplace inspections, wearing of PPE, complying with Safe Working Instructions, undertaking training and communication, incident investigations and ensuring timely identification, escalation and resolution of any aspects that could adversely impact employees health & safety or others, as a result of Sonardyne work activities.
2. To ensure awareness, understanding and adherence to all Company Policies and Procedures including Health & Safety, Anti Bribery, Code of Conduct/Ethics, ISO – QMS, Financial, Commercial, Operational and Employment related.
3. To contribute to the Sonardyne continuous improvement process through the presentation of corrective actions, suggestions, or initiatives, focussed on increasing efficiency, productivity, technical advancement, customer satisfaction and employee morale etc within the Marketing team or Companywide.
4. To maintain and update technical and professional job competencies (qualification, knowledge, and personal skills), through continuous personal development including formal training, self-directed learning, use of professional workshops, membership of professional bodies, literature reviews etc.
5. To keep up to date with Company organisation and structure, technology, products, applications and customers, through attendance on training events, personal liaison with internal commercial, technical and business support staff and awareness of general Company internal communications.
6. To establish, maintain and promote effective internal working relationships across the Company through the demonstration of positive two-way communications, planning, and collaborative working style
Dimensions of the role:
Team: A member of the INS team comprising of the INS Group Manager, INS Principal Engineer, 1 Senior Embedded Software Engineers, 2 INS Systems Engineers, Junior Engineer and Senior Navigation Algorithm Developer.
Customers: Oil and Gas, Oceanographic, Survey companies and ROV/AUV manufacturers
Travel: Occasional UK and International travel. In a typical year this may involve a number of offsite visits to the Plymouth trials facility.
Educated to degree level i.e. BSc/BEng or equivalent qualification in a related discipline; such as Electronics, Physics or Computer Science
Educated to A Level or above in Maths
Extensive full development cycle experience of embedded software, including developing new novel applications from scratch
Strong analytical and debugging skills
Proven experience in the development of quality solutions to tight timescales
Strong C and/or C++ skills in an embedded, multi-threaded POSIX RTOS environment(s)
Experience in maintaining existing code bases by implementing new features and bug fixes taking into account of existing customer use cases
Experience of hardware/software interfacing, particularly digital electronics
Low-level communications experience e.g. TCP/IP, RS232/485, USB
Competence in the use of algorithms and data structures
FPGA design and interfacing
Relevant experience of development of complex, technical applications
Development experience using Matlab
Windows development experience (Visual Studio .NET; C#, Lua, etc.)
Exposure to different development methodologies
Continuous Integration & Automated Build
Project management skills
Excellent time management skills with the ability to work on multiple issues/designs in parallel
Strong communicator both written and verbal
Good planning and organising skills, including work organisation e.g. prioritising and multi-tasking
Personal drive and determination to achieve often against tight deadlines
We welcome applications from candidates who already have the right to work in the UK. To check your status please follow the link below: https://www.gov.uk/legal-right-work-uk