Job Description
Overview
The AI Frameworks Group builds the software foundation that enables Microsoft to deploy and run AI models efficiently across a rapidly evolving set of hardware platforms. Our mission is to ensure that every relevant AI model runs as efficiently as possible on every Microsoft AI accelerator. Because AI powers nearly every Microsoft product and service, our work has a direct impact on the performance, scalability, and profitability of the entire company. At Microsoft’s scale, even modest improvements in efficiency can have an outsized impact on infrastructure costs, making this one of the highest-impact engineering opportunities in the company.
We are looking for AI Optimization experts who are passionate about pushing the limits of AI performance through ML algorithm innovation, advanced AI compilation and hardware optimization, runtime and serving optimizations, and innovations in distributed execution. You will work across the AI software stack, partnering with model, systems, compiler, and hardware teams to deliver breakthroughs in performance, scalability, and efficiency for Microsoft’s AI workloads across every hardware platform.
Responsibilities
Coding
- Leads by example across teams and mentors others to produce extensible, maintainable, well-tested, secure, and performant code used across products that adheres to design specifications. Leads efforts to continuously improve code performance, testability, maintainability, effectiveness, and cost, while learning about and accounting for relevant trade-offs. Identifies best practices and coding patterns (e.g., leveraging state-of-the-art generative artificial intelligence [GenAI], approaches to source code organization, naming conventions) and provides deep expertise in the coding and validation strategy. Creates and applies metrics to drive code quality and stability, appropriate coding patterns, and best practices. Identifies and anticipates blockers or unknowns during the development process, escalates them, communicates how they will impact timelines, and then leads efforts to identify and implement strategies and/or opportunities to address them.
- Reviews product code and test code to ensure it meets team standards, contains the correct test coverage, and is appropriate for the product or solution area. Brings insight to code reviews to help improve code quality, coaching and providing feedback to develop other engineers' skills. Conducts code reviews in a timely fashion that helps accelerate the pace of development on the team. Considers diagnosability, reliability, testability, and maintainability when reviewing code, and understands when code is ready to be shared or delivered. Applies and reviews for coding patterns, security risks, compliance issues, and best practices in code reviews, providing feedback on code to drive adherence to best practices. Uses automated source code analysis tools that are incorporated into the build/development process.
Design
- Owns and leads efforts and discussions for the architecture of aspects of complex products/solutions (e.g., design, cost). Leads the testing and exploration of various design options across a set of complex product/solution scenarios, ensuring the strengths and weaknesses of each option are outlined and making recommendations for which design option is best. Creates proposals for architecture and design documents, and leads testing of hypotheses and proposed complex solutions. Shares and acts on findings from investigations, owns design decisions, and oversees the less experienced team members. Leads the development of design documents that support user stories and other product requirements. Evaluates new technologies to solve classes of problems, and determines how to integrate these technologies within existing systems. Leads design discussions with the team and shares findings/learnings from investigations, holding ownership for design decisions. Leads efforts to ensure system architecture and individual designs meet performance, scalability, resiliency, disaster recovery, cost of goods sold (COGS), and other requirements and expectations. Upholds Microsoft standards of security, privacy, and other compliance requirements and expectations. Understands and coaches less experienced engineers on the importance of building solutions that expand upon the work of others. Leads the refinement of products through data analytics, and makes informed decisions in engineering products through data integration. Reviews complex designs/architectures within and across teams to provide recommendations for improvements.
- Leads identifying dependencies and incorporating them into the development of design documents for a product, application, service or platform. Leads the active identification of other teams and technologies to leverage, how they interact, and where their own system or team can support others. Demonstrates deep understanding of upstream and downstream interactions between systems and ensures security, compliance, performance, and reliability can be achieved across the entire stack. Coordinates and collaborates with other teams to reach common goals where dependencies and validation concerns overlap. Enables communications and negotiates across teams to resolve conflicts around dependency ownership and required work. Drives agreements between dependent teams to align to the delivery schedule.
Engineering Excellence
- Applies and identifies best practices and shares information with other engineers for building code based on well-established methods and secure design principles while also applying best practices for new code development and formal validation of security invariants. Leads product development and scaling to customer requirements and applies best practices for meeting scaling needs and performance expectations and security promises.
- Remains current by investing time and effort into being informed staying abreast of current developments. Proactively seeks new knowledge, evaluating new trends, technical solutions, and patterns, assessing how to adapt them to current problems, and shares knowledge with other engineers. Conducts learning and literary sessions to raise awareness on relevant engineering design principles (e.g., security, testability, performance, scalability, accessibility, product knowledge).
- Leads efforts to use and enhance, or build, new software developer tools to support easier, faster, and more effective software engineering across products. Identifies whether open source or internal code is available to address coding needs for a set of products, and reuses it in a responsible manner where applicable. Develops substantial skills in tools inside and outside current areas of expertise. Leads identification and/or creation of tools that are useful for building the product. Shares best practices and teaches others about new tools and strategies.
- Collaborates with partner teams to ensure a set of products work well with the components of the partner team, ensuring proper end-to-end testing, live-site coverage, scalability, performance, and DRI escalation pathways are established before going live.
- Considers and leads the identification of requirements for, and the comprehensive application of automation within production and deployment across products, targeting zero-touch deployment when possible. Runs code in simulated or other non-production environments to confirm functionality and error-free runtime across products.
Qualifications
Required qualifications
- Bachelor's Degree in Computer Science or related technical field
- 6+ years technical engineering experience with coding in languages C++, Python
- At least 2 years experience designing and implementing AI kernels, AI optimization algorithms, or AI compilation techniques
Preferred qualifications
- Master's Degree in Computer Science or related technical field
- Deep expertise in one or more areas such as quantization, sparsity, speculative decoding, graph optimization, operator fusion, code generation, inference serving, batching and scheduling, caching.
This position will be open for a minimum of 5 days, with applications accepted on an ongoing basis until the position is filled.
Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to age, ancestry, citizenship, color, family or medical care leave, gender identity or expression, genetic information, immigration status, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran or military status, race, ethnicity, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable local laws, regulations and ordinances. If you need assistance with religious accommodations and/or a reasonable accommodation due to a disability during the application process, read more about requesting accommodations.