About the job
The 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, IoT devices, and internet browsers. We collaborate with our hardware teams and partners to build the software stacks for novel AI accelerators. We work closely with ML researchers and developers to optimize and scale out model training and inference. The team operates at the intersection of AI algorithmic innovation, purpose-built AI hardware, systems, and software. As a Senior and/or Principal Software Engineer - AI Frameworks Networking, Systems and Tools (AIFX NeST) team, you will be responsible for designing, implementing, and ensuring quality of systems stack, related tools and its integration with Azure and timely delivery as part of software development kit (SDK). This is a technical role that demands hands-on experience in all phases of software development: concept, software design, implementation, and verification.
Responsibilities
Apply strong engineering principles for defining robust and maintainable architectures and designs.
Collaborate broadly across multiple disciplines from hardware designers to ML developers.
Help establish and drive the adoption of good coding standards and patterns.
Perform software development in C/C++, C#, Python, and other languages.
Identify requirements, scope solutions, estimate work, schedule deliverables.
Qualifications
Minimum
Bachelor's Degree in Computer Science or related technical field AND 4+ years technical engineering experience with coding in languages including, but not limited to, C++, C, or Python OR equivalent experience.
Preferred
Master's Degree in Computer Science or related technical field AND 8+ years technical engineering experience with coding in languages including, but not limited to, C++, C, or PythonOR Bachelor's Degree in Computer Science or related technical field AND 12+ years technical engineering experience with coding in languages including, but not limited to, C++, C, or PythonOR equivalent experience.
3+ years of experience in systems programming (C, C++, Rust, C#, or similar), with a focus on low-level or performance-critical software
Solid understanding of memory models, concurrency, and interprocess communication
Experience working on infrastructure involving hardware interfaces or device communication (e.g., PCIe, DMA, RDMA, or similar)
Familiarity with Graphics Processing Unit (GPU), Tensor Processing Unit (TPU), or other accelerator architectures and their runtime systems
Experience implementing communication protocols or working with driver/kernel interfaces
Exposure to observability or profiling tools (e.g., eBPF, trace buffers, performance counters, telemetry hooks)