Microsoft

Principal Software Engineer - GPU Performance

Redmond, WA US
USD 161k - 314k
Machine Learning API C++ C# Java JavaScript Python Azure
Description

Microsoft is a company where passionate innovators come to collaborate, envision what can be and take their careers further. This is a world of more possibilities, more innovation, more openness, and the sky is the limit thinking in a cloud-enabled world.

 

The Artificial Intelligence (AI) Platform organization at Microsoft builds the end-to-end Azure AI stack/Platform as a Service (PaaS) and is core to Azure’s innovation and differentiation, as well as all of Microsoft’s flagship products, from Office to Teams, to Xbox. We are the team building Azure OpenAI, Azure Machine Learning (ML), Cognitive Services, and the global Azure AI infrastructure for running the largest AI workloads on the planet.

 

We do not just value differences or different perspectives. We seek them out and invite them in so we can tap into the collective power of everyone in the company. As a result, our customers are better served.

The Artificial Intelligence (AI) Frameworks team at Microsoft develops the AI software used to train and deploy the world’s most advanced AI models. We collaborate with our hardware teams and partners to build the software stacks for Microsoft’s next-generation supercomputers and the new Maia-100 AI accelerator.  We work closely with ML researchers and developers to optimize and scale out model training and inference.  We work directly with OpenAI on the models hosted on the Azure OpenAI service.

We are hiring a Principal Software Engineer to work on graphics processing unit (GPU) performance analysis and optimization.  As a member of this team, you will have the opportunity to work on the fundamental abstractions, programming models, runtimes, libraries and application programming interfaces (APIs) to enable large scale training and inferencing of models on novel AI hardware.

 

This is a technical role: it requires hands on software design and development skills. We’re looking for someone who has a demonstrated history of solving hard technical problems and is motivated to tackle the hardest problems in building a full end-to-end AI stack.  An entrepreneurial approach and ability to take initiative and move fast are essential.

 

In alignment with our Microsoft values, we are committed to cultivating an inclusive work environment for all employees to positively impact our culture every day.

Microsoft’s mission is to empower every person and every organization on the planet to achieve more. As employees we come together with a growth mindset, innovate to empower others, and collaborate to realize our shared goals. Each day we build on our values of respect, integrity, and accountability to create a culture of inclusion where everyone can thrive at work and beyond.

Required/Minimum Qualifications 

  • Bachelor's Degree in Computer Science, or related technical discipline AND 8+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python

    • OR equivalent experience.

  • 4+ years' experience with C/C++
  • 4+ years’ practical experience working on real-world applications that use GPUs, experience in optimizing GPU kernels for performance

 

Other Requirements:

Ability to meet Microsoft, customer and/or government security screening requirements are required for this role. These requirements include but are not limited to the following specialized security screenings:

  • Microsoft Cloud Background Check: This position will be required to pass the Microsoft Cloud background check upon hire/transfer and every two years thereafter.

 

Preferred/Additional Qualifications 

  • Bachelors Degree or advanced degree in computer engineering, computer science, or related fields, and 10+ years of software development experience.
  • Experience in low-level program behavior, including performance and memory usage, proficiency using profiling tools such as NVIDIA Visual Profiler, nvprof, and NVIDIA Nsight Compute
  • Technical background and foundation in software engineering principles, architecture design, and performance analysis
  • Intellectual curiosity and passion about learning new technologies
  • Exposure to state-of-the art Deep Neural Network training and inference workloads, including research techniques
  • Great cross-team collaboration skills and the desire to collaborate in a team of researchers and developers
Software Engineering IC6 - The typical base pay range for this role across the U.S. is USD $161,600 - $286,200 per year. There is a different range applicable to specific work locations, within the San Francisco Bay area and New York City metropolitan area, and the base pay range for this role in those locations is USD $209,600 - $314,400 per year.
  
Certain roles may be eligible for benefits and other compensation. Find additional benefits and pay information here: https://careers.microsoft.com/us/en/us-corporate-pay
   
Microsoft will accept applications and processes offers for these roles on an ongoing basis.

 

Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to age, ancestry, color, family or medical care leave, gender identity or expression, genetic information, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran status, race, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable laws, regulations and ordinances.  We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you need assistance and/or a reasonable accommodation due to a disability during the application or the recruiting process, please send a request via the Accommodation request form.

 

Benefits/perks listed below may vary depending on the nature of your employment with Microsoft and the country where you work.

 

#AIFX

#SWE24

#SHPE24MSFT

  • Collaborate broadly across multiple disciplines from hardware designers to ML developers
  • Engage with key partners to understand and implement robust performance analysis and optimization for state-of-the-art large language models (LLMs) and other models.
  • Perform software development in C/C++, Python, and GPU development in languages such as CUDA, ROCm, or Triton.
  • Identify requirements, scope solutions, estimate work, schedule deliverables.
  • Embody our Culture and Values
Microsoft
Microsoft
Data Management Developer Tools DevOps Enterprise Software Operating Systems

0 applies

1 views

There are more than 50,000 engineering jobs:

Subscribe to membership and unlock all jobs

Engineering Jobs

60,000+ jobs from 4,500+ well-funded companies

Updated Daily

New jobs are added every day as companies post them

Refined Search

Use filters like skill, location, etc to narrow results

Become a member

🥳🥳🥳 401 happy customers and counting...

Overall, over 80% of customers chose to renew their subscriptions after the initial sign-up.

To try it out

For active job seekers

For those who are passive looking

Cancel anytime

Frequently Asked Questions

  • We prioritize job seekers as our customers, unlike bigger job sites, by charging a small fee to provide them with curated access to the best companies and up-to-date jobs. This focus allows us to deliver a more personalized and effective job search experience.
  • We've got about 70,000 jobs from 5,000 vetted companies. No fake or sleazy jobs here!
  • We aggregate jobs from 5,000+ companies' career pages, so you can be sure that you're getting the most up-to-date and relevant jobs.
  • We're the only job board *for* software engineers, *by* software engineers… in case you needed a reminder! We add thousands of new jobs daily and offer powerful search filters just for you. 🛠️
  • Every single hour! We add 2,000-3,000 new jobs daily, so you'll always have fresh opportunities. 🚀
  • Typically, job searches take 3-6 months. EchoJobs helps you spend more time applying and less time hunting. 🎯
  • Check daily! We're always updating with new jobs. Set up job alerts for even quicker access. 📅

What Fellow Engineers Say