Job Description
You can be part of the takeoff of a fast-growing business that develops cutting-edge products, delivers strong business value for customers, provides an engaging workplace for its employees, and serves a greater impact on the world. Come join our Data Center Engineering Team and work on one of the most advanced 3D-NAND and SSD technology portfolios in the world. As the global leader in the semiconductor industry, Solidigm possesses many industry-leading SSD technologies including the most capable Quadruple Level Cell (QLC) NAND Flash products.
In this position you will join a fast-paced team developing new, cutting-edge firmware for Solidigm Solid State Drives (SSD). You will utilize and grow your experience in embedded architecture, external interfaces, and product constraints, along with the ability to develop architectures/features that meet these constraints while providing new value for the platform. You will use and gain experience in storage interface standards such as NVMe, PCIe, SATA, and SAS. The team utilizes Agile development methodologies, therefore, excellent communication skills and the ability to work closely with team members, both locally and across the organization is required.
As a Firmware Engineer, regular responsibilities include, but are not limited to:
- Develop, review, document, and maintain product source code in C/C++
- Analyze and develop firmware per internal and external (customer) specifications
- Perform unit and system level testing including failure analysis and debug of product issues as part of development and validation phases
- Develop low-level firmware, system architectures, operating systems, device architectures, in partnership with hardware and ASIC design teams
- Cross multiple firmware disciplines to develop and grow across the entire SSD architecture
- Work with project stakeholders turning product requirements into development and validation plans
- Participate in and role model an Agile/Kanban development culture which emphasizes product quality, team accountability, and continuous improvement
- Coordinate priorities and activities with other engineering stakeholders to accomplish committed milestones
A successful candidate will demonstrate:
- The ability to listen, understand and respond professionally to partner questions and issues while building trust
- Excellent written and presentation skills
- A history of self-starting and effective multitasking, with strong influencing and leadership skills
Qualifications
- Bachelor’s degree in Computer Engineering, Electrical Engineering or Computer Science or a related field
- 6+ years of experience in the following areas:
- Software or firmware development experience in an embedded systems environment with programming in C/C++
- Embedded firmware development running in a real-time operating system (RTOS), with hardware and software interactions
- Firmware development environments including compilers, debuggers, emulators, and tool-chains
Preferred Qualifications:
- Storage industry (SSDs or enterprise storage)
- Embedded development techniques using hardware and firmware tools
- Structured software development and practices, analytical problem solving, innovation and a mindset of continuous improvement
- Enterprise storage interface protocols (e.g., SATA, SAS, PCIe, and NVMe)
- SSD or enterprise storage device security protocols and techniques (e.g., Opal, ESSC, and AES)
- Software/firmware development processes including workflow and continuous integration validation
- DevOps process strategies, tools and execution, from code check-in through Continuous Integration and Continuous Delivery
- Project planning, estimation, and risk management
- Customer requirements definition, clarification, and technical assessment
- Development of unit tests for code coverage and quality validation
Requirements listed can be obtained through a combination of schoolwork/classes/research and/or relevant previous job and/or internship experiences.