View Our Website View All Jobs

Principal Firmware Engineer - 1581

Job Summary:

In this role, you will work closely with other firmware team members as well as with cross-functional
teams including, ASIC, hardware, and test/application engineering. As a senior team member, you will participate in all phases of the firmware lifecycle towards our next generation of SSD products. As a member of our engineering team, your ideas you will have the opportunity to directly impact the fast-growing SSD market.



  • Prototyping product concepts and contributing to firmware architecture
  • Specifying the firmware architecture and developing code targeted for embedded systems
  • Integrating firmware with other team members for the final product
  • Assist in test activities (both internal and customer qualifications)
  • Support characterization and benchmarking of SSD products through dedicated firmware instrumentation as necessary



  • 10 years of embedded firmware experience is required
  • Successfully delivering firmware for two different embedded systems (platforms and CPUs)
  • Strong understanding of RISC processors, including but not limited to C calling conventions, instruction and data caches, CPU pipeline and its impact to firmware, CPU contexts for interrupts and other operating modes
  • 5 years of Firmware/System debug skills with tools such as JTAG debugger, GDB, and protocol analyzer
  • 3 years of prior experience with scripting languages for test automation
    (Perl, Python, or similar)
  • Ability to scope and estimate development effort
  • Good oral and written communication skills and ability to work with peer team members
  • Proficient and comfortable with standard software development methodologies including source control systems (SVN, CVS, or similar) and defect tracking systems
    (Bugzilla, JIRA, or similar)
  • Extensive C programming and exposure to C++ is a plus
  • Prior SSD design experience with any of the following storage interfaces: SAS, PCIe, and SATA (NVMe preferred) 
  • Development experience of FTL including but not limited to RAID, wear leveling,
    and garbage collection
  • Understanding of NAND flash concepts which include interfaces such as ONFI, Toggle architectures (MLC, TLC, and multiplane), and challenges due to smaller geometries (read and retry)
  • Experience with Multi-Core Firmware Design and Inter-Processor Communications


B.S. Degree required or M.S. preferred


Equal Opportunity Employer Minorities/Women/Protected Veterans/Disable

Req # 1581

We are an Equal Opportunity/Affirmative Action Employer including: Minorities/Women/Individuals with Disabilities/Protected

Read More

Apply for this position

Apply with Indeed
Attach resume as .pdf, .doc, .docx, .odt, or .rtf (limit 5MB) or Paste resume

Paste your resume here or Attach resume file