As a Firmware Engineer at Micron Technology, Inc., you will develop high-performance controller firmware for innovative volatile and non-volatile memory systems. 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 AND TASKS
- 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.
- Validate customer requirements and perform failure analysis on FW related issues.
- 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.
- Focus on firmware quality in the system and the target application. Participate in SCRUM/Agile processes and distributed code reviews.
- 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.
REQUIREMENTS
- Strong working knowledge with Trusted Computing Group OPAL specification on a storage device
- Strong working knowledge of firmware development, verification, system failure analysis, embedded systems design and real time embedded systems,
- Strong problem solving skills, including the ability to find creative solutions to difficult problems.
- Strong working knowledge of software engineering principles and designing and developing firmware using assembly and C/C++ programming.
- Strong debugging skills in an embedded firmware application including:
-
- Using development tools and IDE’s such as Slick Edit, SourcePoint and Realview.
- Problem re-creation and trapping
- Logging and diagnostics
- Experience with digital hardware design and test equipment such as In-Circuit Emulators (ICE) and logic/bus analyzers
- Strong working knowledge analyzing complex firmware and hardware issues.
- Strong knowledge working identifying and optimizing performance of critical algorithms.
- Working knowledge of ARM Microprocessors, with experience on ARM Cortex.
- Knowledge of the Agile software development process life cycle.
- Strong knowledge of structured firmware development process and lifecycle.
- Strong skills in communicating complex technical ideas/concepts.
- Ability to work in a fast-paced environment and communicate effectively (written and verbal) across multiple locations and teams.
- Experience with NVMe and PCIe are a plus
- Experience with Python is a plus
- Masters or Bachelor’s degree in electrical/Electronic Engineering or Computer Engineering
- Good project management and excellent communication skills.
- Minimum of 4 years experience in the embedded systems development field