Senior Software Engineer
Microsoft
Microsoft
Join Microsoft's Surface Driver team in Bengaluru, India, and contribute to creating innovative experiences on the Windows platform. This role focuses on developing powerful devices through close collaboration with hardware engineers, software developers, and industry partners. You will harness cutting-edge silicon to enable new user experiences and are encouraged to challenge the status quo for continuous improvement.
This position offers a unique opportunity to work on industry-defining firsts by empowering every person and organization to achieve more through advanced hardware and software integration. You'll be a key player in a collaborative environment, driving innovation in the devices space.
Your responsibilities will include bringing up new devices during various hardware development stages, including prototypes. You will collaborate closely with global software and hardware development teams to enhance Surface software and firmware components. This role requires investigating and resolving complex system-level problems using advanced debugging tools and participating actively in development forums to propose and implement effective software solutions.
Furthermore, you will partner with silicon partners to shape future product roadmaps and contribute to enabling AI-native workflows and scalable solutions through deep technical expertise and a forward-thinking approach.
We are seeking candidates with a Bachelor's degree in Computer Science/Engineering or equivalent experience, complemented by a minimum of 7 years in system-level, embedded firmware, or device driver development. Essential skills include excellent C/C++ design and coding, a profound understanding of SoC architecture, and proficiency in Windows kernel and device driver development.
Strong communication skills are vital for cross-disciplinary collaboration. Experience in debugging memory crash dumps, ETL traces, system stability, performance issues, and utilizing the Windows kernel debugger (WinDbg) is required. Practical experience with debugging hardware-firmware-software interactions during board bring-up and updates is also a must. Preferred qualifications include experience with various buses (SPI, USB, I2C, UART) and enabling AI-native workflows.
Microsoft Corporation
Software Development