Apply
Micron logo

Intern - System Software Engineering

Micron

πŸ‡ΊπŸ‡Έ United States: Richardson, TX Software Engineerβ˜€οΈ Summer 3 MonthsπŸ•ΈοΈ Hybrid

Receive new job openings directly into your inbox!

Select categories
Select locations

Job Description

As a software engineering intern in Micron's Scalable Memory Systems group, you will be part of a software engineering team in a pathfinding and strategy organization that is exploring future memory architectures for high-performance compute (HPC) and artificial intelligence (AI) systems.

You will support broad software development needs that may include proof-of-concept system software development, application optimization and analysis, system performance benchmarking, development tool support, and open-source software advancement. You will have an opportunity to work on proof-of-concept heterogeneous memory and compute systems that include multiple host servers, GpGPUs, and memory accelerators.

This hybrid work schedule position is located in Richardson, TX.

Your responsibilities may include, but are not limited to:

  • Developing software in C++, C, Python, Rust, SYCL and/or CUDA
  • Porting, optimizing and analyzing parallel processing, scientific compute and AI applications and libraries for heterogeneous computer systems
  • Improving software engineering processes and tools
  • Collaborating with hardware and software engineers to root cause and fix integration issues with proof-of-concept system hardware in a lab environment
  • Working closely with software technical leads and system architects to clarify early-stage, potentially-ambiguous requirements

We are seeking candidates with the following: 

  • (Required) Must be pursuing a Computer Engineering, Software Engineering, Computer Science, or equivalent degree
  • (Required) Must be continuing education in the Fall semester of 2025
  • Bachelor's, Master's or PhD candidates
  • C++ and C programming experience
  • Linux programming experience
  • Strong understanding of computer system architecture concepts including caching and virtual memory
  • Knowledge of AI and Machine Learning models or software is highly desired
  • Understanding of parallel computing, inter-process communications and host-to-host communications is highly desired
  • Experience programming GPUs or GpGPUs (CUDA, OpenCL, SYCL, etc.) is highly desired
  • Experience with scaling and parallelization technologies and libraries, including the following, is desired: CXL, UALink, NvLink, OpenMP, MPI, oneAPI
  • Strong debug and problem-solving skills
  • Excellent verbal and written communication skills
  • Ability to work in a team environment