Purpose:
- Lead Firmware Functions to oversee the realisation of Product specifications through efficient and robust embedded Firmware.
- To own the continued improvement of the embedded development processes to ensure continuous improvement of the quality of our output, and team.
- To facilitate enhanced collaboration with the Validation team to increase understanding and reduce development iterations.
- To 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, co-ordinating 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 co-ordinating 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 to 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.
- Co-ordinating 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-focussed development approach.
- End to end Firmware development process experience.
- Proficient in C and C++11 , 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 modelling 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 on IOT based protocols GSM-AT Commands, MQTT and Azure IOT cloud.
- Familiarity with PIC24 IC family and MPLAB IDE.
- Familiarity of the Semtec chipset.
- Agile development tools (JIRA, GitHub).
- C# or VB Application development for Windows.
- Python.