Software Engineer II

Last updated one month ago
Location:San Diego, California
Job Type:Full Time

Be a part of the digital transformation revolution! The Internet of Things (IoT) is changing the business landscape and Microsoft has emerged as a leading innovator in this field. The Azure IoT team is building the IoT solutions for the embedded programming market, which will support a commanding share of the 50 billion IoT devices predicted to be online by the end of this decade.

The Azure RTOS team is looking for highly motivated and talented engineers to join our USB project. This position requires the USB developer to enable USB 1.0, 1.1, 2.0 and 3.0 on micro controllers from variety of semiconductor companies, and develop host/device classes and applications based on customer’s requirements.

Successful candidates should have proven experience developing USB device driver and stack from scratch. The candidate shall have track record developing on constrained devices, a strong grasp of computer science fundamentals, strong technical design skills, and above all a passion for driving the next wave of innovations in Azure IoT.


  • Join a team of highly motivated and talented engineers to deliver features for Azure RTOS.
  • Work with Azure RTOS team to drive the architecture and design of new features serving new embedded and IoT scenarios.
  • Experience in developing USB low level driver for MCU devices.
  • Be able to develop drivers based on MCU programming manual, program IO pins, interrupt, and clock logic in order to enable the USB subsystem.
  • Familiar with USB host and device stack, such Mass Storage, CDC, Printer, Audio/Video, and Power Management.
  • Author highly efficient code that targets microcontrollers
  • Work directly with major customers in the industry to both diagnose and provide solutions for their technical scenarios.


Required Qualifications:

  • 4+ years of professional software engineering experience with C or C++.
  • Bachelor’s or Master’s degree in Computer Science or equivalent industry experience.

Preferred Qualifications:

  • Proven hands-on experience in programming Embedded and Real Time Operating System (RTOS) development.
  • Demonstrated experience in shipping high quality software products.
  • Excellent written and verbal communication skills.

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.