Senior / Principal Embedded Software Engineer (Flash Memory)
Responsibilities
Design, develop, and integrate embedded software within a multinational engineering team
Define software architecture and concepts for persistent memory management, including storage formats, wear levelling, data consistency, data integrity, security, rollback, and robustness strategies
Collaborate with system architects to translate system-level requirements into memory solutions
Develop and maintain low-level drivers for eMMC and NAND flash memory
Implement bad block management, data integrity handling, and longevity optimisation strategies
Drive memory bandwidth benchmarking and performance optimisation initiatives
Support root cause analysis for field issues and persistent memory-related failures
Work closely with hardware teams on memory architecture and integration strategies