Senior Software Engineer
Microsoft
Microsoft
Join Microsoft's AI infrastructure team, driving innovation in large-scale AI training and inference. We develop foundational system software for AI accelerator platforms, spanning pre-silicon to cloud integration. The India Development Center is building comprehensive engineering expertise across the Maia system software stack. This role focuses on the intersection of distributed cloud systems and low-level accelerator software, encompassing control-plane services, device management, virtualization, Kubernetes, developer tools, hardware lifecycle, and diagnostics.
We are seeking a Senior Software Engineer to design and implement advanced debugging and diagnostic capabilities for GPU and AI accelerator platforms. You will create tools that empower engineers to resolve complex hardware and software issues, expedite root-cause analysis, and enhance the reliability and serviceability of AI infrastructure. Microsoft's mission is to empower every person and organization, fostering a culture of growth, innovation, and collaboration.
Design and build robust tools for crash dump collection, processing, and analysis on GPU and AI accelerator platforms. Develop hardware debugging utilities for device inspection, failure analysis, and low-level diagnostics. Create diagnostic features that bridge host software, drivers, firmware, and accelerator hardware. Engineer tools for post-mortem debugging, failure triage, and root-cause identification. Implement scalable solutions for collecting and analyzing logs, traces, telemetry, and diagnostic data.
Develop extensible APIs and tooling adaptable to various hardware generations and accelerator architectures. Enhance automation for failure detection, debugging, and diagnostics to minimize engineering effort during complex investigations. Collaborate with hardware, firmware, driver, platform, and cloud infrastructure teams to resolve cross-layer issues. Drive continuous improvement in tooling quality, reliability, performance, and developer experience. Participate in architectural reviews, contribute to engineering best practices, and mentor junior engineers.
Leverage AI-assisted engineering across design, coding, testing, debugging, and documentation to boost efficiency and software quality. Utilize AI-driven workflows for accelerated crash analysis, code comprehension, failure triage, and test development, ensuring validation through sound engineering principles. Identify AI opportunities to automate repetitive diagnostic tasks, reducing effort and speeding up problem resolution. Employ AI for rapid skill development in systems software, computer architecture, firmware, drivers, and AI accelerator infrastructure. Share reusable AI-assisted practices to enhance team productivity and domain expertise.
Required: A Bachelor's Degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical field, or equivalent practical experience with over 8 years in the industry. Proficiency in software development using languages such as C, C++, C#, Rust, or Python. Experience in developing systems software, debugging tools, diagnostic software, or developer tools. A solid understanding of operating systems, computer architecture, memory management, concurrency, and low-level software concepts. Strong debugging and problem-solving abilities, particularly for complex software or hardware/software interaction issues. Proven experience in developing reliable, maintainable, and testable production software. Excellent design and cross-team collaboration skills. Ability to effectively use AI-assisted engineering tools and workflows.
Preferred: Experience in developing crash dump, debugger, tracing, profiling, or diagnostic tools. Background with GPU, AI accelerators, or heterogeneous compute systems. Knowledge of PCIe, device interfaces, memory-mapped I/O, or hardware/firmware interactions. Experience with Linux systems programming, kernel interfaces, or device drivers. Familiarity with hardware debugging technologies like JTAG or OpenOCD. Experience with telemetry, tracing, logging, observability, and post-mortem analysis. Understanding of firmware, embedded systems, or SoC architectures. Experience building developer tools for diverse hardware generations or platforms. Proficiency in using AI-assisted techniques for code analysis, debugging, test generation, failure investigation, or engineering automation. Ability to rapidly acquire expertise in new hardware architectures, firmware, drivers, and diagnostic technologies using AI-assisted learning.
Microsoft Corporation
Information Technology & Services