Senior Software Engineer, C++ UI
Role details
Job location
Tech stack
Job description
At Roku, the UI Systems team builds the high-performance engines and core graphics infrastructure that power millions of devices. We own the low-level C++ frameworks, rendering pipelines, and system architectures that enable smooth navigation and rich animations. Our work sits at the intersection of hardware and software, where we optimize graphics rendering, memory management, and layout engines to ensure a consistent, lightning-fast experience across our entire device portfolio. We operate in a collaborative, high-trust environment, partnering closely with firmware and silicon teams to push the boundaries of what's possible on embedded hardware., As a Senior Software Engineer , you will be a key architect of the core systems that underpin Roku's user experience. You will design and implement performance-critical code within our UI engine, focusing on graphics primitives, memory efficiency, and hardware acceleration. You'll tackle complex systems-level challenges-such as optimizing frame rates on resource-constrained hardware and building robust APIs for higher-level frameworks. This role is ideal for engineers who thrive on low-level systems programming, care about performance down to the microsecond, and want to build the high-performance foundations that power the future of television., * Architect and optimize core C++ UI frameworks and rendering engines to ensure buttery-smooth performance across a diverse range of hardware profiles.
- Lead technical investigations into system-level bottlenecks, memory leaks, and GPU/CPU synchronization issues.
- Develop and maintain low-level graphics APIs and layout systems that serve as the backbone for Roku's application ecosystem.
- Integrate AI/ML capabilities at the systems level, leveraging generative AI tools to optimize code generation and automate performance profiling.
- Collaborate with firmware and driver teams to leverage hardware-specific optimizations and ensure seamless integration with the underlying OS.
- Mentor junior developers through deep-dive code reviews, architectural design sessions, and technical documentation of core systems.
- Drive engineering excellence by implementing advanced debugging tools, automated performance regression suites, and modern C++ best practices.
Requirements
Do you have experience in Root cause analysis?, * Minimum of 5+ years of software engineering experience with a heavy focus on C++ (C++14/17/20).
- Deep understanding of systems programming, including memory management, multi-threading, and hardware-software abstraction layers.
- Experience with graphics APIs (e.g., OpenGL, Vulkan, or proprietary embedded graphics stacks) and rendering pipelines.
- Proficiency in Python for tooling and automation, with a working knowledge of BrightScript or JavaScript being a significant plus.
- Strong root cause analysis skills, specifically using tools like GDB, Valgrind, or platform-specific profilers.
- Knowledge of AI applications and hands-on experience using generative AI tools to accelerate systems-level development.
- A proactive mindset with a passion for squeezing every drop of performance out of embedded systems and a commitment to data-driven optimization.
Benefits & conditions
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.