Software Engineer

RokuSan Jose, CA
Hybrid

About The Position

Roku pioneered streaming to the TV and continues to innovate and lead the industry. While we are well-positioned to help shape the future of television and streaming media around the world, continued success depends on experienced embedded software engineers like you joining the Roku OS Streaming Media team. In this role, you will be part of the team that's responsible for Roku’s Media engine, implementing new features and designing algorithms that deliver flawless video playback to all our users. This includes optimizing network interactions between our players and CDN, implementing adaptive streaming stacks, integrating DRM systems, and developing tools to monitor performance. The features and performance improvements you implement directly impact millions of users every day. This is a great role for an experienced professional with innovative ideas for complex problems and the ability to translate them into ultra-reliable software.

Requirements

  • 2 – 5 years of relevant software development experience
  • Bachelor’s or master’s in computer science or equivalent engineering experience.
  • Extensive programming experience with C++ and Python
  • Proven track record of success with embedded system development projects and Linux operating systems.
  • Deep understanding of multi-threaded development and concurrency management.
  • Experience in API design and developing portable code.
  • Been able to accurately estimate software tasks and work to schedule.
  • Architected, implemented, and tested systems for performance & low resource consumption.
  • A good understanding of open source development
  • Knowledge of TCP/IP, TLS, HTTP, DRM technologies like PlayReady, Widevine and streaming protocols such as WebRTC, HLS, and/or DASH is important.
  • Experience working with video (H.264, H.265, AV1) & audio (aac, ac3) codecs.

Nice To Haves

  • A familiarity with AI/ML and LLM technologies.
  • Experience with other consumer electronics OS’es (e.g. Android, FreeRTOS)

Responsibilities

  • Extend Roku's player feature set to support new business opportunities and the latest multimedia specifications
  • Continuously improve playback on Roku devices, and deliver our users a world-class player experience under all operating conditions
  • Work independently and in small groups to deliver new features and functionality on-time
  • Demonstrate excellence in C++ & Python development and deliver high-performance, ultra-reliable software
  • Demonstrate impeccable software design skills, make extensive changes to an existing C++ code base that are modular and easy to maintain
  • Demonstrate the ability to dig deep to find solutions to tough problems affecting our users

Benefits

  • Roku is committed to offering a diverse range of benefits as part of our compensation package to support our employees and their families.
  • Our comprehensive benefits include global access to mental health and financial wellness support and resources.
  • Local benefits include statutory and voluntary benefits which may include healthcare (medical, dental, and vision), life, accident, disability, commuter, and retirement options (401(k)/pension).
  • Our employees can take time off work for vacation and other personal reasons to balance their evolving work and life needs.
  • It's important to note that not every benefit is available in all locations or for every role. For details specific to your location, please consult with your recruiter.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service