Hybrid working is an option - 3 days office based and 2 days WFM. My Defence client is recruiting for an exciting newly created Software Engineer position based at their site in Melksham, Wiltshire. This a permanent position and will be focused on Embedded software. We are looking for a person to lead the robust and innovative software and firmware design and development of next generation of Thermal Imaging Camera technology. This development will deliver New Product Development (NPD) and facilitate sustaining engineering activities where necessary. Key Responsibilities Reporting to the Head of Software and Electronics, working with the Technical Managers and Technical Authority Products and allocated Equipment projects to ensure the on-time and cost-conscious delivery of robust, innovative products in accordance with internal and external customer requirements. The role includes: Software development: Software authoring Functionality and GUI design Configuration and version control Continuous improvement within coding standards and development processes Software release (Software) validation and verification Software maintenance and customer support Process Engineering: Process flow development Best practices generation Coding standards development FMECA approach development Design and deliver new products on-time, to cost and to specification Generate innovative design concepts for review and evaluation Lead the timely development of selected concepts from prototype to final production Work in accordance with company design procedures Analyse and test detail components to demonstrate fitness for purpose and produce test reports Ensure technical solutions meet the Critical To Success expectations of the business and the continued growth of the brand. Work with the product teams to define and record technical requirements at the project outset, record requirement changes, and measure performance against during the development process. Support in extrapolation of user feedback and customer trials. Assist with the generation of project plans and the relevant costings Assist with generation of risk and failure mode analysis and configuration control Assist in the development of new business opportunities Represent the company in a professional manner both internally and externally Carry out research and development of new products and techniques to benefit; efficiency, quality, testability, safety Liaise with other engineering disciplines and internal customers to establish and agree product specifications Liaise with external customers and suppliers and represent the company at meetings Maintain up to date knowledge of latest software engineering processes Preparation and maintenance of development documentation to ISO9001 throughout the design process in accordance with, and for review via the GAINS development NPI process Background and Skills Education: A minimum of a 2:1 or equivalent degree in Software or Electronics Engineering, other a closely related subject, or equivalent experience Essential Competency and recent experience in software engineering for products, specifically C and C++, for the development of firmware and software Knowledge of IDEs used to support development, e.g. Visual Studio and MPLAB Full software product lifecycle including design Software version and configuration control Software verification and validation including unit testing and practical experience in a laboratory setting, including software and hardware integration Experience in interfacing and driving electronic and electro-mechanical components including sensors and communication buses Fundamental understanding of electromechanical and electronic engineering drawings and device datasheets General awareness of electronics and electronic principles Process and project documentation skills Capable of working in a team and undertaking multiple projects. Able to manage, deliver and report progress on own work. Good written and oral communication skills. Fully computer literate. Desirable Good understanding of engineering for functional safety related applications such as for automotive or medical sectors, including to standards e.g. IEC 61508, 26262 Understanding of products, competitors, and functionality of; thermal camera products, powered air products (i.e. SCBA) and other RPE. Modern microcontrollers; STMicroelectronics STM32, Microchip PIC, or similar Modern IDEs; Visual Studio, VSCode, Microchip MPLabX, STM32Cube Software engineering support; CMake, CI workflows, Github Actions Software design with hardware abstraction (HAL, CMSIS) and modelling (UML) Software engineering interaction with System Engineer models (SysML) Board bring-up Practical engineering skills. Capable of generating project plans and costings New product innovation processes, process definition and improvement Electronics and software lifecycle management processes Software related electronic component choice including processor, sensor, communications bus PC software development targeting C# and user interfaces (wxWidgets, QT, MAUI, etc.) Over the air firmware update Android software development Experience: Essential: Evidence of the ability to deliver innovative product designs on time Experience with new product innovation (NPI) and design for manufacture (DFM) Experience with maintenance of existing product firmware and software Desirable: Experience with thermal imaging products, powered air products or certified electro-mechanical handheld devices.