M

Microsoft

Builds workplace software, PCs and cloud services

Principal AI Software Engineer

Systems Software EngineeringUpdated on Nov 11
Full-time$142.8k - $304.2k /yrIn-person

About the Job

Requirements

  • A Bachelor's Degree in Computer Science or a related technical field and 6+ years of technical engineering experience with coding in languages including C, C++, C#, Java, JavaScript, or Python, or equivalent experience.
  • Ability to meet Microsoft, customer, and/or government security screening requirements, including passing a Microsoft Cloud Background Check upon hire or transfer and every two years thereafter.

Responsibilities

  • Lead full system software prototyping to develop proof-of-concepts evaluating hardware/software co-designed capabilities for memory total cost of ownership reduction, including memory tiering, pooling, and overcommit solutions for Azure usage and deployment scenarios.
  • Develop insights through workload characterization and correlation to identify systems optimization opportunities.
  • Collaborate with workload experts across Microsoft and partner independent software vendors to engineer total-cost-of-ownership-optimized solutions for Azure general-purpose and specialized compute fleets.
  • Influence and shape hardware architecture and industry alignment for a three-to-six-year timeframe through data-driven analysis, insights, and recommendations.
  • Lead characterization and optimization of Large Language Model inference workloads, focusing on KV Cache capacity, placement, migration, and utilization across GPU HBM, host DRAM, CXL memory expansion and pooling, SSD, and emerging memory tiers.
  • Develop proof-of-concepts and evaluation frameworks to assess memory-tiering architectures for AI inference, including CXL pooled memory, memory expansion solutions, context-memory platforms, SSD-backed cache tiers, and hardware/software co-designed approaches to reduce inference total cost of ownership.
  • Design and execute workload characterization studies for agentic, multi-turn, coding, reasoning, and long-context AI workloads to quantify memory consumption, latency, throughput, token efficiency, and system utilization.
  • Analyze end-to-end data movement across GPU, CPU, storage, and networking subsystems, identifying optimization opportunities involving GPU Direct Storage, GPU Direct RDMA, peer-to-peer memory transfers, and distributed inference pipelines.
  • Develop software prototypes, framework extensions, and instrumentation to evaluate KV Cache offload, prefetching, migration, compression, deduplication, and memory-overcommit techniques.
  • Build performance models and simulation frameworks to predict the impact of memory hierarchy innovations on large-scale inference deployments.

Desired Qualifications

  • 12+ years of experience in systems software, including OS kernel, memory management, I/O stacks, or virtualization, with a demonstrated track record of success guiding architecture and software enablement.
  • 10+ years of experience leading significant hardware/software co-design projects involving CPU and/or systems architecture and influencing technical direction.
  • Deep expertise in Linux kernel internals, memory management, I/O subsystems, NUMA, DMA, and GPU/CPU/storage/network data paths.
  • Hands-on experience with NVIDIA GPU software stacks, including CUDA, NCCL, GPUDirect Storage, and GPUDirect RDMA.
  • Understanding of AI inference infrastructure, large GPU clusters, inference-serving architectures, and workload performance optimization.
  • Experience characterizing and optimizing KV Cache-intensive workloads, including long-context, agentic, multi-turn, coding, and reasoning workloads.
  • Experience with inference frameworks such as vLLM, SGLang, and TensorRT-LLM.
  • Familiarity with KV Cache technologies, including LMCache, SGLang HiCache, cache offload, cache sharing, and memory-tiering approaches.
  • Experience designing or extending inference runtimes, scheduling systems, memory-management components, or KV Cache subsystems.
  • Understanding of disaggregated prefill/decode architectures, distributed inference serving, and multi-node cache-sharing topologies.
  • Experience with CXL memory expansion, memory pooling, and memory-tiering solutions in large-scale deployments.
  • Software development skills in C/C++, Python, CUDA, and distributed systems.
  • Ability to partner with and influence architects, hardware engineers, and software leads.
  • Ability to manage through ambiguity, bringing clarity and results orientation to engage and energize collaborators and stakeholders.
  • Verbal and written communication skills and ability to articulate and engage with technical and non-technical stakeholders at all levels.
  • Experience leading and driving complex projects with respect and integrity, including projects with multiple workstreams spanning different business and technical disciplines.
  • Intellectual curiosity and interest in learning and deploying new technologies.
  • Problem-solving skills, analytical capabilities, and attention to detail.

About the Company

Microsoft

Builds workplace software, PCs and cloud services

Microsoft builds workplace software, operating systems and cloud infrastructure for consumers, businesses and government agencies, from small organizations to global enterprises. Microsoft 365 combines Word and Excel with Teams communication and Copilot AI features, while Windows runs PCs and Surface supplies the company's own computers. Azure rents computing capacity, storage and databases to build and run web applications. Microsoft also sells Xbox consoles and games, collecting revenue through software licenses, subscriptions, usage charges and product sales. Founded in 1975 by Bill Gates and Paul Allen, Microsoft is headquartered in Redmond, Washington.

Company size
10,001+
Company stage
IPO
Headquarters
Redmond, WA
Founded
1975

Recently Posted Jobs

Explore more opportunities at Microsoft

See more jobs