MTS Software Development Engineer
At AMD, we believe technology can change lives for the better. It can heal us, entertain us, and make us more connected, productive, and understanding of the world around us. We’re looking for talent who want to leave the planet better than they found it—people who don’t shy away from humanity’s challenges but are determined to help solve them. AMD powers the next generation of supercomputing, high-performance computing, cloud, and AI. Every role contributes to technology that moves the world forward.
Responsibilities
- Research, design, develop, and/or test operating systems-level software, compilers, and/or network distribution software for semiconductor operations, applying principles and techniques of engineering and mathematical analysis.
- Design, develop, troubleshoot, and debug software programs for enhancements and new products.
- Develop software and tools in support of design, infrastructure, and technology platforms, including operating systems, compilers, routers, networks, utilities, databases, cloud-based, and Internet-related tools.
- Determine hardware compatibility and/or influence hardware design.
- Profile and analyze system and application performance to identify bottlenecks and areas for improvement using profiling tools to understand and optimize hardware resource utilization.
- Design and implement strategies for distributed model training and inference across multiple GPUs and nodes.
- Work in an area of specialization to develop systems-level software, addressing problems of complex scope where analysis of situations or data requires a review of a variety of factors.
- Participate in code reviews, create unit tests, author detailed documentation, and collaborate with on-site and offshore teams to deliver software solutions on schedule.
- Work on problems of moderate scope where analysis of situations or data requires a review of a variety of factors.
- Exercise judgment within defined company procedures and practices to select methods, techniques, and evaluation criteria for obtaining results.
- Apply knowledge of computers and electronics, including computer hardware and software, applications, and programming, as well as engineering science and technology principles to the design, development, and testing of AMD systems and products.
Requirements
- Master’s degree or foreign equivalent in Electrical and Computer Engineering, Computer Science, Computer Engineering, or a related field.
- Two (2) years of experience in the job offered or a closely related engineering role.
Alternatively, AMD will accept a Bachelor’s degree or foreign equivalent in Electrical and Computer Engineering, Computer Science, Computer Engineering, or a related field and five (5) years of progressive post-baccalaureate experience in the job offered or a closely related engineering role.
Skills
The position requires the following skills and experience:
- Two (2) years of experience with:
- CUDA
- Linux and Windows internals
- Deep learning frameworks (TensorFlow or PyTorch)
- C, C++, or Python
- Software debugging in macOS, Linux, or Unix
- Git and GitHub
- One (1) year of experience with:
- Low-level GPU kernel optimization
- Performance profiling and optimization tools
This role can be performed remotely. Multiple openings are available.
Benefits
AMD offers a comprehensive benefits package. Learn more about AMD benefits at a glance.