company logo

Software Engineer II

Microsoft.com

Office

Bangalore, Karnataka, India

Full Time

The Linux Systems Group (LSG), part of Microsoft’s Core Operating Systems group, is central to powering Azure Cloud through Linux Operating Systems and virtualization technologies. The team is seeking a Software Engineer with strong programming skills who will closely work with senior engineers to develop, debug and maintain system-level software for a Linux-based platform. This is a great opportunity to join LSG and be part of Microsoft's Azure Cloud Infrastructure growth.

Responsibilities

  • Contribute and occasionally drive design, development and debugging of low-level system software components like bootloaders, system daemons, services and Kernel modules
  • Drive performance, scalability instrumentation and finetune the platform by fixing issues
  • Continuously learn and adapt to new technologies and business priorities to ensure successful delivery of assigned tasks
  • Write clean, efficient, and well-documented code in C/C++, with occasional scripting in Python, Bash, and Makefiles
  • Analyze and comprehend existing systems, identify areas of improvement and fix issues to improve the platform
  • Collaborate with cross-functional teams including hardware, firmware and application developers and ensure seamless integration
  • Collaborate with infrastructure, DevOps, and security teams to ensure seamless integration and deployment
  • Participate in code reviews, testing, and debugging sessions to ensure high-quality deliverables
  • Participate in debugging, profiling, and root cause analysis of system-level issues in production and staging environments
  • Assist in system bring-up, troubleshooting on embedded or server-class Linux platforms
  • Contribute to Open Source Software (OSS) technologies
  • Contribute to automation of infrastructure components and CI/CD pipelines

Qualifications

Required:

  • Bachelor’s degree in Computer Science, or a related field
  • 5+ years of experience with strong programming skills in C/C++ and a solid grasp of systems programming concepts
  • Strong understanding of Linux internals, including process management, file systems, and networking
  • Hands on experience in kernel-space vs. user-space concepts
  • Hands on experience in Linux platform and Kernel performance tuning and issue debugging

Preferred:

  • Experience with Git and standard development workflows
  • Ability to read and understand large, complex codebases and contribute meaningfully
  • Strong analytical, problem-solving and debugging skills
  • Exposure to Linux kernel development, device drivers, or embedded systems
  • Experience with cross-compilation, build systems (e.g., Make, CMake, Yocto), and debugging tools (e.g., GDB, strace, perf)
  • Familiarity with hardware-software interfaces such as I2C, SPI, UART, or PCIe
  • Contributions to open-source projects or personal projects involving system-level programming

Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to age, ancestry, color, family or medical care leave, gender identity or expression, genetic information, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran status, race, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable laws, regulations and ordinances.  We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you need assistance and/or a reasonable accommodation due to a disability during the application or the recruiting process, please send a request via the Accommodation request form.

Benefits/perks listed below may vary depending on the nature of your employment with Microsoft and the country where you work.

Software Engineer II

Office

Bangalore, Karnataka, India

Full Time

September 23, 2025

company logo

Microsoft

Microsoft