View Our Website View All Jobs

Principal Firmware Engineer

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.

 

Responsibilities:

  • 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

 

Requirements:

  • 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

Education:

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

 

Equal Opportunity Employer Minorities/Women/Protected Veterans/Disable

Req # 1581

Read More

Apply for this position

Required*
Apply with Indeed
Attach resume as .pdf, .doc, or .docx (limit 2MB) or Paste resume

Paste your resume here or Attach resume file