This is a position in a firmware development team to develop flash management code for next-generation SSD storage products. The candidate is expected to drive design, implementation, bench-level verification, support, and documentation of new firmware, using a structured code development process.
The ideal candidate will design, and develop flash management firmware code, in conjunction with hardware product development, by performing the following duties.
ESSENTIAL DUTIES AND RESPONSIBILITIES:
- Analyzes requirements to determine feasibility of design.
- Consults with hardware engineers and other engineering staff to evaluate interface between hardware and firmware, and operational and performance requirements of overall system.
- Develops firmware testing a long with firmware development.
- Ability to define problems, collect data, establish facts, and draw valid conclusions.
- Other duties may be assigned
- · Bachelor's degree in computer systems engineering or equivalent engineering degree, AND
- · 6 to 8 years related experience and/or training, especially with
- · Designing, developing, and debugging of multi-threaded, soft real-time, embedded firmware applications
- · Programming with C, C++ and assembly language
- · Proficiency in DMA, interrupt handlers, stack analysis, context switching
- · Programming hardware devices through control registers
- · Debugging both new hardware and new firmware using oscilloscopes, logic analyzers, protocol analyzers
- · Using best-practice firmware engineering principles
- · Implementing storage protocols is a plus
Other Language and Proficiency skills:
- · Proficiency in English, both spoken and written, is required
- · Knowledge of structured code development methods and debug techniques
- · Ability to solve problems as part of multi-site organization and cross functional team
- · Ability to provide timely scheduling and resource information to team leads and managers, and meet scheduled commitments