SSD Firmware Development Undergraduate Intern
closed
Solidigm
📍Remote - United States
Summary
Join a fast-paced team developing new firmware or validation coverage and tools for Solidigm Solid State Drives (SSD). Utilize experience in embedded architecture, external interfaces, and product constraints to develop architectures/features that meet these constraints while providing new value for the platform.
Requirements
- The ability to listen, understand and respond professionally to partner questions and issues while building trust
- Excellent written and presentation skills
- A history of embedded systems coursework and good overall performance in embedded systems and computer science classes
- The candidate must be enrolled in a bachelor's degree program for Computer Engineering, Electrical Engineering, Computer Science or a related field
- Candidates must be in their second year of study or later
- 3+ months of experience (including coursework) in the following areas
- Software or firmware development experience in an embedded systems environment with programming in C/C++ or advanced Python
- Experience with software or hardware debugger tools, and basic understanding of source control management tools
- Experience in managing, collaborating or presenting outputs and results of shared projects
- Must be available to work in an office location on a semi-regular basis
Responsibilities
- Develop, review, document, and maintain product source code in C/C++
- Analyze and develop firmware per internal and external (customer) specifications
- Create validation plans and test software using Python and other tools in an internal framework
- Develop an understanding of industry-standard communication and specs to support knowledge in this field (NVMe, PCIe, NVME-MI, and others)
- Perform unit and system level testing including failure analysis and debug of product issues as part of development and validation phases
- Participate in and role model an Agile/Kanban development culture which emphasizes product quality, team accountability, and continuous improvement
Preferred Qualifications
- Prior internships working in embedded systems or demonstrated work on public repositories
- Experience with embedded hardware development (such as with Arduino, Raspberry Pi or others)
- 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) or understanding of basic industry standard communication such as I2C and UART
- Basic working knowledge of assembly language in any architecture
This job is filled or no longer available