Principal Software Engineer - Video

Roblox Roblox · Consumer · San Mateo, CA · Software Engineering

Senior Software Engineer on the Video team at Roblox, responsible for building, operating, and evolving the video transcoding and playback platform, and innovating on new uses for video in a 3D world. The role involves working with C++ and C# on backend microservices, data pipelines, and the game engine, focusing on performance optimization and scalability for a large user community.

What you'd actually do

  1. Own our unique challenges of playing video in a 3D world while the video display size and CPU/GPU/RAM/network availability are changing.
  2. Leverage AI coding tools to make yourself even more efficient and productive.
  3. Evolve our video ingest, transcoding, processing, and streaming platform to serve the growing community of creators, working on our backend microservices platform, data pipelines, and the game engine.
  4. Employ best programming practices to write code that is efficient, robust, resilient, understandable, observable, and scalable.
  5. Play a crucial role improving the quality of video encoding and playback on a wide range of devices, from mobile to high-end platforms.

Skills

Required

  • 5+ years of experience developing and deploying video systems
  • Deep experience with adaptive video playback systems
  • Knowledge of video quality metrics
  • Successfully deployed a multi-service distributed system at scale with low costs and high availability
  • Experience in performance optimization
  • creating data pipelines that process millions of records
  • Proficiency in C++ and C# or another backend language
  • understanding of parallel/concurrent programming concepts
  • Knowledge within the video domain

Nice to have

  • craft an encoding ladder for optimal user experience
  • worked with infra and product teams to get the job done
  • creating data visualizations
  • alerting on critical telemetry
  • pick up new technologies as the landscape evolves

What the JD emphasized

  • developing and deploying video systems
  • adaptive video playback systems
  • encoding ladder
  • video quality metrics
  • multi-service distributed system at scale
  • low costs
  • high availability
  • performance optimization
  • data pipelines that process millions of records
  • alerting on critical telemetry
  • C++ and C#
  • parallel/concurrent programming concepts
  • video domain