Senior Firmware Engineer – Memory Systems

Micron Technology
Published
November 20, 2020
Location
1900 Pike Rd, Longmont, Colorado
Category
Job Type

Description

As a Senior 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 analysis firmware for new high-performance memory controllers and Solid State Drives. 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 multi-functional product development issues.

Responsibilities include, but not limited to:

Your responsibilities will include, but are not limited to, the following: Participate as a team member and work effectively inside and outside of the team. Show talent 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. Develop new test tools and methods. Follow specified processes/procedures/workflows. 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.

Technical communications will be required between other teams and the firmware team (both verbal and written). You will review, supply to, and craft clear documentation for deliverables that meet both internal specifications/standards and SSD industry standards and specifications.

This particular firmware role will entail working alongside other firmware engineers on the front-end interfaces of Micron Solid State Drives.  Most code development tasks will entail working closely with the NVMe protocol firmware, most likely focused on Enterprise SSD products.

Minimum Qualifications:

  • Expert level working knowledge of firmware development, verification, system failure analysis, embedded systems design and real time embedded systems.
  • Knowledge of modern real-time operating systems (RTOS), and multi-threaded environments
  • Strong analytical skills, including the ability to find creative solutions to hard 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, Eclipse, and GDB.
  • 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 and ARC Microprocessors in multi-core environments
  • Knowledge of the Agile software development process life cycle.
  • Strong knowledge of structured firmware development process and lifecycle.
  • BS or MS in Computer Engineering, Electrical Engineering, or Computer Science.

Preferred Skills:

  • Experience with the NVMe interface
  • Experience with PCIe
  • Experience or failiarity with FTL
  • Experience with enterprise SSDs
  • Strong skills in communicating complex technical ideas/concepts.
  • Ability to work in a dynamic environment and communicate effectively (written and verbal) across multiple locations and teams.
  • MS in Computer Engineering, Electrical Engineering, or Computer Science.

Related Jobs

Software Developer Level 2   New Windsor, Maryland
June 3, 2019
Desktop page
~