Principal Systems Software Engineer, SMS
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+11 more
Job description
As a Systems Software Engineer in Micron’s Storage and Memory Systems (SMS) group within TPG Pathfinding, you will design, develop, and demonstrate innovative system-level software that influences Micron’s future memory and storage technologies. You will work in a small, highly skilled engineering team, collaborating closely with AI/ML specialists, hardware engineers, and system architects to evaluate emerging hardware concepts, quantify performance gains, and guide long-term product direction. This role requires versatility, strong system-level problem-solving skills, and the ability to apply hardware architecture knowledge across the full software stack. Responsibilities
- Develop software and port applications to demonstrate and measure the value of proof-of-concept hardware systems and features.
- Collaborate with AI/ML experts, software engineers, hardware teams, and system architects to analyze future AI workloads and identify memory-and storage-related opportunities.
- Define, configure, and complete analytical experiments to evaluate new system features and hardware behaviors.
- Build and modify Linux applications and libraries using C, C+, Python, Rust, SYCL, and/or CUDA for advanced heterogeneous computing systems.
- Develop and use emulators to predict system-level performance and functional impacts prior to hardware availability.
- Debug system-level issues across application, kernel, OS configuration, libraries, and hardware boundaries.
- Utilize emerging AI tools to accelerate development, analysis, and productivity.
- Present technical findings, insights, and innovations to internal customers across Micron.
Requirements
- Bachelor’s degree with 8+ years, Master’s degree with 5+ years, or PhD with 2+ years of experience in Computer Science, Computer Engineering, or a related field.
- Experience with GPU programming and runtimes (eg, CUDA, SYCL, OpenCL, PyTorch) and familiarity with GPU memory hierarchies.
- Strong development skills in C, C+, Python, and Shell scripting, with Linux programming experience (multithreading, IPC, ioctl, gdb,/proc,/sysfs).
- Experience developing software to enable or demonstrate hardware system capabilities.
- Deep understanding of heterogeneous compute architectures (eg, NUMA, caching, GPUs, PCIe, CXL, NVLink, UALink) and the ability to debug across system boundaries., * Experience with emerging AI software stacks or frameworks.
- Familiarity with DRAM, emerging memory technologies, NAND, and next-generation storage or filesystems.
- Experience with emulation platforms (eg, QEMU), hardware-software integration, or system bring-up in exploratory or pathfinding environments.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Apply on careerboard.comGood distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Résumé-Driven Development: How IT trends affect the job market for software developers
Is Software Engineering Hard?
How software is steering vehicle technology
The Best X (Twitter) Accounts for Developers