2 months ago
Bengaluru, IndiaSenior
Responsibilities
- Design and implement embedded firmware for SSDs and storage controllers.
- Develop firmware for device initialization, command processing, data movement, boot, diagnostics, and error handling.
- Implement state machines, control logic, recovery mechanisms, and data-integrity features.
- Optimize firmware for throughput, latency, power efficiency, and varied workloads.
- Develop low-level drivers and hardware interfaces and support integration with host software and system drivers.
- Debug firmware and hardware interaction issues using JTAG, logs, traces, and emulation or simulation tools.
- Collaborate with validation, hardware, and systems teams to reproduce and resolve issues.
- Support firmware bring-up and stabilization on new platforms and silicon revisions.
Requirements
- Bachelor's or master's degree in Computer Science, Electronics Engineering, or a related field.
- 5+ years of experience in embedded firmware or systems software development.
- Strong proficiency in C/C++ for embedded systems.
- Understanding of embedded system architecture, memory management, concurrency, low-level drivers, interrupts, and low-level debugging.
- Experience working close to hardware in constrained environments.
- Experience with storage firmware, SSDs, or storage controllers.
- Familiarity with NAND flash technologies and related management concepts.
- Exposure to performance tuning and reliability engineering.
- Experience with RTOS or bare-metal environments.
- Strong cross-functional collaboration and problem-solving skills.