Job Summary:
Client is looking for Firmware Engineer and this is hybrid position from Banglore.
Responsibilities:
- Participate as a member of the NAND characterization team to architect, prototype and implement firmware for FlashTech NVMe Controllers for newest generations of NAND from various NAND vendors.
- Work on Machine Learning based NAND management algorithms.
- Generate comprehensive firmware and engineering documentation.
- Troubleshoot and resolve complex software problems in embedded real-time systems.
- Mentor and train other team members.
Experience:
- Prior experience in SSD firmware development: NAND management algorithm development including but not limited to read error handling.
- Bachelor’s degree in computer science, computer engineering or equivalent field.
- 12+ years of related experience
- Strong C/C++/Python programming and debugging skills.
- ARM system programming experience.
- Working knowledge of Machine Learning algorithms.
- Knowledge of SSD firmware architecture and algorithms, including:
- Flash translation layer
- Caching
- NAND management
- In-depth knowledge of NVMe and PCIe protocols
Nice to Have:
- Experience in the use of bus analyzers, JTAG, emulators and other firmware debugging tools.
- Agile development methodology experience.
- Lab time with PCIe and logic analyzers.
- Experience with Linux as a development environment.
- Board and first silicon bring-up.