SSD Firmware Development Undergraduate Intern

closed
Solidigm Logo

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