Lead Systems Software Architect
Roku · Austin, TX · 1 wk ago
HybridEngineeringFull-time
About the role
Roku’s leadership in streaming depends on delivering exceptional devices that combine the right hardware platforms with Roku OS to create simple, reliable, and delightful experiences. Roku is the #1 TV streaming platform in North America, and we’ve set our sights on powering every television in the world. This role is tasked with leveraging hardware and software to create a unique viewing experience, one that turns users into raving fans. You will report directly to the Vice President of Software Engineering and serve as a key technical contributor for Roku’s device platform strategy, with a strong focus on high-quality software solutions.
Responsibilities
- Own complex features or subsystems end-to-end, from design and implementation through bring-up, validation, and production support.
- Translate product and business goals into concrete designs, tasks, and implementation plans.
- Design, implement, and maintain core platform software for Roku device programs and platforms, with a strong focus on code quality, robustness, and long-term maintainability.
- Contribute to and influence hardware–software partitioning, platform APIs, and integration patterns to enable feature teams to build reliably on the device platform.
- Drive and model best practices for coding standards, code reviews, testing strategies, and CI/CD for platform software.
- Implement and optimize video/audio pipelines, codecs, and rendering paths to deliver high-quality playback, low latency, and smooth UI/UX for streaming applications.
- Implement and maintain secure boot, DRM integrations, and standards-compliant content protection features in collaboration with security experts.
- Implement and maintain drivers, HALs, and low-level services that expose the right hardware capabilities (media, graphics, connectivity, security) to Roku OS.
- Drive early bring-up and debug of new SoCs and boards from a software perspective (boot chain, device drivers, board support packages, diagnostics).
- Define and help maintain benchmarks and test scenarios for media, graphics, and system behavior that map directly to Roku use cases.
- Define and enforce memory, CPU/GPU/NPU, and storage budgets across SKUs, working closely with feature teams.
- Use profiling tools, tracing, and telemetry to diagnose and fix performance bottlenecks across the stack (kernel, drivers, middleware, apps).
- Implement optimizations to improve boot time, UI performance, streaming quality, and app responsiveness while staying within platform constraints.
- Partner with NPI, test, and manufacturing engineering to design and implement system-level validation strategies, test automation, and regression suites for your components.
- Implement and refine diagnostics, logging, and telemetry that make field issues diagnosable and fixable at scale, including the platform hooks needed for AI-assisted troubleshooting.
- Ensure the robustness and reliability of low-level software in production configurations, including robust error handling, recovery strategies, and safe update mechanisms.
- Collaborate with OS, media, graphics, connectivity, security, and cloud/service teams to integrate platform features that meet product requirements.
- Provide technical mentorship to other software engineers, especially around debugging complex system issues, performance tuning, and best practices for systems-level code.
- Work closely with engineering leads to review designs, surface trade-offs, and de-risk implementations before they reach production.
- Partner with SoC vendors and OEM/ODM partners from design through mass production, ensuring software deliverables, validation, and readiness meet Roku’s standards.
- Implement components in system-level AI/ML flows where AI is in the loop (e.g., quality monitoring, recommendations, anomaly detection, test selection).
- Specify and implement platform APIs and telemetry that enable AI tools to be effective across the device stack (logs, traces, metrics, events).
Qualifications
- BS/MS in Computer Science, Computer Engineering, Electrical Engineering, or related field.
- 15+ years of industry experience in embedded systems-level software development, with a strong emphasis on hands-on software development for multimedia products.
- Proven track record building and shipping AV products (TVs, set-top boxes, streaming devices, consoles, or similar) at scale.
- Strong experience with embedded Linux or Android-based systems.
- Proficiency in one or more systems programming languages such as C/C++ (Rust or similar is a plus), with deep experience in debugging, performance tuning, and maintainable code design.
- Strong familiarity with modern SDLC practices: CI/CD, automated testing, static/dynamic analysis, continuous performance regression monitoring, and observability tooling.
- Deep understanding of ARM-based SoCs, multimedia pipelines, and system constraints (memory bandwidth/latency, storage performance, UI/frame-rate stability, thermal behavior).
- Demonstrated ability to analyze and optimize system-level performance using profiling, tracing, and hardware counters.
- Experience with DRM, content protection, secure boot, and related industry standards for streaming and TV products.
- Experience collaborating with SoC vendors and ODM/OEM partners from design through mass production, especially around platform software deliverables and validation.
- Experience with NPU/DSP/AI accelerator blocks on embedded SoCs, including maximizing throughput and minimizing latency within real-world device constraints.
- Ability to build or integrate end-to-end flows where AI is in the loop, particularly for diagnostics, performance optimization, or UX improvements.
- Proficient in using AI tools for debugging, code review, test selection, and log analysis, and in implementing the platform hooks (APIs/telemetry) that those tools need.
- Solid understanding of board-level design concepts (schematics/layout review, power and thermal design, signal integrity considerations, and interfaces such as I²C, USB, PCIe, and HDMI).
- Comfortable partnering with board design teams to translate software and system needs into board-level requirements and constraints, even though your primary focus is software.