Lead Firmware Functions to oversee the realization of Product specifications through efficient and robust embedded Firmware.
Own the continued improvement of the embedded development processes to ensure continuous improvement of the quality of our output and team.
Facilitate enhanced collaboration with the Validation team to increase understanding and reduce development iterations.
Ensure development activities conform to our ISO9001 processes and comply with 3rd party certification requirements.
Responsible for:
Overseeing internal and external Firmware development activities and outputs.
Guiding the architectural solutions and approach.
Defining Statements of work, Specifications, and Work packages and maintaining control of the quality of the outputs.
Owning, coordinating, and undertaking design reviews & creating reports and associated documentation related to the release of designs.
Ensuring the team maintains appropriate levels of quality in their work and adheres to the defined processes.
Establishing, owning, and coordinating the management of our source code in GitHub.
Undertaking root cause analysis of issues and defining approaches for their resolution.
Owning the Firmware Development Process to ensure compliance with our Business Management System, suggesting and implementing improvements where identified.
Facilitating enhanced collaboration with the Validation team to increase understanding and reduce development iterations, thereby ensuring the timely delivery of projects to the agreed timescales.
Coordinating collaboration with the production team to define and implement functional test code to support the production processes.
Essential Qualifications, Key Skills and Experience:
B.Sc. in Computer Science or other equivalent engineering discipline.
At least 10 years post-graduate experience.
A strong process-focused development approach.
End-to-end Firmware development process experience.
Proficient in C and C++, with a good knowledge of its ecosystems.
Strong understanding of embedded development and object-oriented design principles.
Extensive working knowledge of the STM32 chipset - M0 > M4.
Knowledge of KEIL IDE for STM32.
Experience of developing in FreeRTOS and using stacks.
A good understanding of XML parsing and data modeling for embedded systems.
Demonstrable experience of UML Modelling and diagrams.
Knowledge of TFT LCD display control drivers and GUI development.
A working understanding of embedded electronics.
Proficient understanding of code versioning tools (GitHub).
Strong understanding of RF technologies, ideally experience of developing proprietary protocols.
Experience in developing firmware for low power safety-critical devices.
A working knowledge of the MISRA C coding standards.
Desirable Qualifications, Key Skills and Experience:
Good knowledge of IoT-based protocols GSM-AT Commands, MQTT, and Azure IoT cloud.