Software Engineer II

Microsoft Microsoft · Big Tech · Vancouver, BC +1 · Software Engineering

Software Engineer II role in the Intelligent Conversation and Communications Cloud (IC3) team at Microsoft, focusing on building and running scalable services for Microsoft 365 products like Teams. The role involves developing real-time media stack components, designing client and server media streaming/communication components, and applying machine learning techniques for system improvements.

What you'd actually do

  1. The IC3 media team is responsible for the research and development of the core real time media stack components enabling the Skype and Teams family products to work across the variety of platforms, as well as enabling highly scalable media servers running in the cloud.
  2. We are looking for a Software Engineer II with an interest in building highly reliable and scalable network services and highly dependable mission critical meeting/calling products, while applying large data and machine learning techniques for cutting-edge innovations.
  3. You will be responsible for designing and implementing the client and server media streaming/communication components, interfacing with other teams in Teams/Skype to improve and extend existing functionalities, analyzing production telemetry for areas of improvements, and working with the partner teams on improvements in testing and benchmarking the core media services.

Skills

Required

  • Bachelor's Degree in Computer Science or related technical field AND 2+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python

Nice to have

  • Master's Degree in Computer Science or related technical field AND 3+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python
  • Bachelor's Degree in Computer Science or related technical field AND 5+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python
  • 1+ year of experience with programming for networking, multi-threaded systems, and/or real time media.
  • 1+ year of experience with system software including OS and networking.
  • 1+ year of experience with real time communication protocols like RTP/SRTP/RTCP.
  • 1+ year of experience with streaming protocols like HLS/DASH.
  • 1+ year of experience with WebRTC stack.
  • 1+ year of experience with application of big data, machine learning techniques to improve systems.
  • 1+ year of experience as a practitioner of the latest engineering methodologies: Unit testing, TDD, Agile etc.

What the JD emphasized

  • applying large data and machine learning techniques for cutting-edge innovations

Other signals

  • applying large data and machine learning techniques for cutting-edge innovations
  • analyzing production telemetry for areas of improvements