Location: Phoenix, AZ
Position type: Full Time
Summary of Position
Senior Embedded Software Engineer must work as part of our client’s secure storage team to develop some of the world's fastest, and most secure solid-state storage products. In this position you would be working alongside a team of seasoned electrical, firmware, and CAD engineers with responsibility for architectural design, coding, debug, testing, and support of Embedded software used to control the operation of defense grade secure SSDs and related secure storage products.
- Expert level experience developing embedded software (vs testing) using C in an embedded environment and experience using scripting languages such as TCL and Perl to automate testing and debugging.
- Experience using processors embedded in Xilinx and Altera FPGAs.
- Experience using Microsoft project to plan, estimate, and track project progress.
- Specify, implement, modify, and debug new and existing programs to control the testing, debug, and manufacture of secure storage products.
- Implement and update Excel spreadsheets that demonstrate product performance and reliability.
- Experience using common lab equipment such as Power Supplies, Scopes, and Logic Analyzers to debug and characterize new product firmware.
- Use protocol analyzers to debug product issues and develop methods for improving product performance.
- Conceive, specify, and implement test algorithms, tools, scripts, and procedures to aid in the production of new storage products.
- Create and review requirements documents and product documentation.
- Prepare and participate in formal design reviews and product proposals.
- Use scientific analysis and mathematical methods/models to predict product performance and reliability.
- Support product embedded software through the entire life cycle.
- Participate in verification testing and product certifications.
- Plan and document expected weekly work tasks and report task status on a weekly basis.
- Meet scheduled deadlines for tasks assigned.
- Work with consultants or outside agencies as required.
- Other design, development, and support tasks as assigned.
- Minimum 8+ years of experience specifying, implementing, debugging firmware, preferably in C, in an embedded environment.
- Expert understanding of stacks, interrupts, interrupts, parameter passing, content switching, and microprocessor operation.
- Understanding of hardware functions such as FIFOs, FLASH, DRAM, SRAM, DMA, registers, pipelines, and state machines.
- Proven expertise and knowledge of best-practice software engineering principles using structured programming and configuration management.
- Experience with scripting languages such as TCK, Perl to automate production and testing tasks.
- Strong knowledge of software development tools (IDEs, compilers, linkers, debuggers).
- Ability to read and understand complex technical documents such as schematics or data sheets.
- Basic understanding of techniques and algorithms used for error correction in memory devices.
- Knowledge of solid-state drive architectures and standards is a plus
- Experience with storage protocols such as PCIe, SATA or NVMe is a plus.
- Ability to communicate effectively and think out-of-the-box and create unique solutions to complex problems.
- Excellent writing, spelling, verbal, and interpersonal skills.
- Applicants must be a U.S. citizen and must be able to obtain a security clearance.