Design, develop, and maintain embedded software for storage systems. Collaborate with cross-functional teams to define requirements and specifications. Implement and optimize storage protocols, including NVMe. Debug and troubleshoot issues related to storage drivers, file systems, and protocols. Write efficient and reliable code in C, C++, and Python. Work on kernel-level development and system-level programming. Develop and maintain kernel drivers for storage devices. Create applications that interact with storage hardware components. Participate in code reviews and contribute to software architecture decisions. Ensure compliance with industry standards and best practices. Collaborate with hardware engineers to integrate software with storage hardware components. 10-15 years of experience in embedded software development, preferably in the storage domain. Strong knowledge of NVMe protocol and storage technologies is preferred. Proficiency in C, C++, and Python programming languages. Familiarity with operating systems, including Linux. Experience with kernel debugging tools and system-level programming. Understanding of storage file systems and block-level storage. Excellent problem-solving skills and attention to detail. Good communication and teamwork abilities.