Build video streaming service to support like better video quality in poor network conditions, fast switching between streams, latency reduction, and adaptive encoding bitrates, error resilience under poor network conditions.
Measuring performance and streaming quality at a deep level, and using that as a yardstick against which we measure progress.
Coming up with novel solutions to fix tricky corner cases that users experience.
Communicating with users directly to troubleshoot problems and gain a qualitative sense of user happiness with the product.
Must have Previous experience with developing and optimizing real time video streaming systems. Knowledge of streaming media protocols: HTTP Live Streaming (HLS), DASH, RTMP, RTSP, RTMFP, WebRTC, etc. Knowledge of pros/cons and their use case. Deep knowledge of networking (e.g., TCP, UDP, DNS), and real world experience with dealing with the unpredictability and variability of the internet (e.g., packet loss, latency, bandwidth estimation, FEC). Are eager to not just develop the first version of a solution, but also track down and fix bugs. Are a strong communicator. Explaining complex technical concepts to designers, support, and other engineers is no problem for you. Nice to have Go programming language. Algorithms, Architecture, Cloud Computing, Database, Distributed Systems, Networking. Previous experience with filesystems, concurrency, multithreading, server architectures, and distributed systems. UNIX/Linux systems knowledge and/or systems administration background.