Senior Firmware Engineer

As a Senior Firmware Engineer, you will develop high-performance controller firmware for innovative volatile and non-volatile memory systems.<br /><br /><br /><br />

Longmont, Colorado

On-Demand Talent Management

Our Talent Management team is built on a synergistic foundation of extraordinary service and exceptional teamwork. Our team is dedicated to creating strong, long-term relationships with each client and candidate. Every team-member is goal-oriented, motivated, and passionate about providing you an extraordinary experience.

keywords: engineering,support,performance,teamwork,analysis,environment,software development,process management,technical,quality assurance,knowledge,experience,environment,education,communication,creative


Overview: In this position, you will assist in evaluating, designing, building, bench testing, debugging, and failure analyzing firmware for new high-performance memory controllers and Solid-State Drives that will increase performance, while reducing power, latency and SoC (System on Chip) complexity for the target markets. You can expect to work closely with system test engineers, system failure analysis engineers, firmware engineers, firmware test engineers, system hardware design engineers, product engineers, memory design engineers, firmware tools developers, and production engineers to solve cross-functional product development issues.
Responsibilities: <p><strong>Your responsibilities will include, but are not limited to, the following:</strong>&nbsp;Participate as a team member and work effectively inside and outside of the team. Demonstrate proficiency in coding skills, verification/validation, simulation, failure analysis, ASIC/FPGA/System bring-up, and the use of tools that support these activities.&nbsp;&nbsp; Validate customer requirements<strong>&nbsp;and&nbsp;</strong>perform failure analysis on FW related issues<strong>.&nbsp;</strong>Develop structured source code targeting the embedded environment associated with state of the art memory. Perform design verification using a variety of verification methods, including simulation and product testing<strong>.&nbsp;&nbsp;</strong>Focus on firmware quality in the system and the target application. Participate in SCRUM/Agile processes and distributed code reviews. Develop new test tools and methods. Follow specified processes/procedures/workflows.&nbsp; Analyze equipment or software; you will demonstrate the effective analysis of functional or performance issues with the firmware and hardware in test environments or target host systems.&nbsp;</p> Technical communications will l be required between other teams and the firmware team (both verbal and written).&nbsp;&nbsp; You will review, contribute to, and create clear documentation for deliverables that must meet both internal specifications/standards and SSD industry standards and specifications.
Requirements: <ul> <li>Strong working knowledge of firmware development, verification, system failure analysis, embedded systems design and real time embedded systems,&nbsp;</li> <li>Strong problem-solving skills, including the ability to find creative solutions to difficult problems.&nbsp;</li> <li>Strong working knowledge of software engineering principles and designing and developing firmware using assembly and C/C++ programming.&nbsp;</li> <li>Strong debugging skills in an embedded firmware application including:&nbsp; <ul> <li>Using development tools and IDE's such as Slick Edit, SourcePoint and Realview.&nbsp;</li> <li>Problem re-creation and trapping&nbsp;</li> <li>Logging and diagnostics&nbsp;</li> <li>Experience with digital hardware design and test equipment such as In-Circuit Emulators (ICE) and logic/bus analyzers&nbsp;</li> </ul> </li> <li>Strong working knowledge analyzing complex firmware and hardware issues.&nbsp;</li> <li>Strong knowledge working identifying and optimizing performance of critical algorithms.&nbsp;</li> <li>Working knowledge of ARM Microprocessors, with experience on ARM Cortex.&nbsp;</li> <li>Knowledge of the Agile software development process life cycle.&nbsp;</li> <li>Strong knowledge of structured&nbsp;firmware development process and lifecycle.&nbsp;</li> <li>Strong skills in communicating complex technical ideas/concepts.&nbsp;</li> <li>Ability to work in a fast-paced environment and communicate effectively (written and verbal) across multiple locations and teams.&nbsp;</li> <li>Experience with NVMe and PCIe are a plus.&nbsp;</li> <li>Education:&nbsp; BS or MS in Computer Engineering, Electrical Engineering, or Computer Science.</li> </ul>