Senior Software Engineer - Performance Tooling

Microsoft

Mountain View, CA

JOB DETAILS
SALARY
$119,800–$234,700 Per Year
SKILLS
Algorithms, Application Programming Interface (API), Artificial Intelligence (AI), Background Investigation, Benchmarking, C++ Programming Language, CPU (Central Processing Unit), CUDA (Compute Unified Device Architecture), Capital Expenditure (CAPEX), Cellular Telephone, Cloud Computing, Computer Architecture, Computer Science, Continuous Improvement, Debugging Skills, Desktop PC, Engineering, GPU (Graphics Processing Unit), Government Requirements, Hardware Architecture, Hardware Debugging, Internet of Things, Leadership, Machine Tool, Microsoft Bing Search Engine, Microsoft Product Family, Microsoft SQL Server, Microsoft Windows Azure, Microsoft Windows Operating System, Modeling Languages, Neural Networks, Performance Analysis, Performance Management, Performance Modeling, Performance Tuning/Optimization, Process Improvement, Python Programming/Scripting Language, Research & Development (R&D), Software Development, Software Engineering, Team Player, Time Management, Web Browsers
LOCATION
Mountain View, CA
POSTED
1 day ago

The Artificial Intelligence (AI) Frameworks team at Microsoft develops AI software that enables running AI models everywhere, from world’s fastest AI supercomputers, to servers, desktops, mobile phones, internet of things (IoT) devices and internet browsers. We collaborate with our hardware teams and partners, both internal and external, and operate at the intersection of AI algorithmic innovation, purpose-built AI hardware, systems, and software. We are a team of highly capable and motivated people that pride themselves on a collaborative and inclusive culture.  We own inference performance of OpenAI and other state of the art large language model (LLM) models and work directly with OpenAI on the models hosted on the Azure OpenAI service serving some of the largest workloads on the planet with trillions of inferences per day in major Microsoft products, including Office, Windows, Bing, SQL Server, and Dynamics.

As a Senior Software Engineer - Performance Tooling on the team, you will have the opportunity to work on multiple levels of the AI software stack, including the fundamental abstractions, programming models, compilers, runtimes, libraries and application programming interfaces (APIs) to enable large scale training and inferencing of models. You will benchmark OpenAI and other LLM models for performance on graphics processing units (GPUs) and Microsoft hardware, debug and optimize performance, monitor performance and enable these models to be deployed in the shortest amount of time and the least amount of hardware possible helping achieve Microsoft Azures capex goals.

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. 

Responsibilities

  • Work across multiple layers of the AI software stack (abstractions, programming models, compilers, runtimes, libraries, and APIs) to enable large-scale model training and inference.
  • Benchmark OpenAI and other LLMs for performance on GPUs and Microsoft hardware.
  • Debug, profile, and optimize performance for training/inference workloads on Central Processing Units (CPUs)/Graphics Processing Units (GPUs).
  • Monitor performance regressions and drive continuous improvements to reduce time-to-deploy and hardware footprint.
  • Collaborate across teams of researchers and engineers to deliver scalable, production-ready AI performance improvements

Qualifications

Required/Minimum Qualifications:

  • Bachelors Degree in Computer Science or related technical field AND 4+ years technical engineering experience with coding in languages including, but not limited to, C++, or Python OR equivalent experience.

Other Requirements:

  • Ability to meet Microsoft, customer and/or government security screening requirements are required for this role. This includes passing the Microsoft Cloud background check upon hire/transfer and every two years thereafter.

Preferred/Minimum Qualifications:

  • Masters Degree in Computer Science or related technical field AND 6+ years technical engineering experience with coding in languages including, but not limited to, C++, or Python
    • OR Bachelors Degree in Computer Science or related technical field AND 8+ years technical engineering experience with coding in languages including, but not limited to, C++, or Python
    • OR equivalent experience.
  • 4+ years’ practical experience working on high performance applications and performance debugging and optimization on CPUs/GPUs.
  • Experience in DNN/LLM inference and experience in one or more DL frameworks such as PyTorch, Tensorflow, or ONNX Runtime and familiarity with CUDA, ROCm, Triton.
  • Technical background and solid foundation in software engineering principles, computer architecture, GPU architecture, hardware neural net acceleration.
  • Experience in end-to-end performance analysis and optimization of state of the art LLMs and HPC applications, including proficiency using GPU profiling tools.
  • Cross-team collaboration skills and the desire to collaborate in a team of researchers and developers. 
  • Ability to independently lead projects

Software Engineering IC4 - The typical base pay range for this role across the U.S. is USD $119,800 - $234,700 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 $160,200 - $261,000 per year.

About the Company

M

Microsoft

DO WHAT YOU LOVE
Make your mark on the world’s most used technologies. Develop the next hit mobile application. Pioneer a startup that could be the next big thing. At Microsoft, you choose your path.

Headquartered in Redmond, Washington, Microsoft is a top innovator in both the consumer and enterprise technology industry. Just a few of the many things our products do are unleash creativity, connect businesses, and make learning more fun. But our continued success is based on one thing: our employees. We hire amazing, talented people and give them the opportunities—and the tools—to succeed.

WHY MICROSOFT?
As a Microsoft employee, you’re surrounded by a diverse group of the smartest people in your field. This fosters new ideas, better business results, and creates a dynamic work environment. In the office, you’re constantly challenged and supported by your colleagues. Every day holds something new and exciting.

We also offer unparalleled depth and breadth of career opportunities. As an industry leader in multiple fields, working for Microsoft means being able to do whatever you feel passionate about—and being able to make an impact in that field. From day one, we give our employees significant responsibility. This means that you’ll know that you directly contributed to something that has a positive impact on people worldwide. Whether you choose to work in management, dive deep into the newest technology, or explore multiple professions, you’ll find everything you need at Microsoft to drive your career—and to make a difference.

WE GET IT – YOU’RE MORE THAN YOUR JOB
Everyone works differently and is motivated by different things. We also understand that there’s more to you than your job. That’s why we offer competitive pay and a wide assortment of benefits-- to help you make the most of life at work and away from it.

GET THE BALL ROLLING
COMPANY SIZE
10,000 employees or more
INDUSTRY
Computer Software
FOUNDED
1975
WEBSITE
http://www.microsoft.com