About the role 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 worldwide, continued success stems from experienced software engineers like you joining the Roku Advanced Development group. In this role, you will be part of a team responsible for advanced development initiatives within Roku, the maker of embedded operating systems for TVs and players across the world. We prototype new ideas, figure out best practices, implement advanced concepts, and evangelize them across all of engineering. Our goal is to have the smallest and fastest embedded TV operating system, built by developers with the best experience possible, that’s scalable for years of future growth. We are looking for a senior software engineer with an interest in driving our build system architecture forward. You will be solving complex problems and translating your ideas into modular, ultra-reliable software. About the Team The Advanced Development organisation pushes beyond the boundaries of product lines to build new things. We think independently of standard shipping cadences and timelines, working on foundational technologies that will impact every Roku device in the future, and on ideas that no one has seen before in their living room. As this is an exceptional team, we are seeking unusual talent. As part of Advanced Development, the Developer Experience team specifically focuses on driving internal changes in tooling improve developer satisfaction and productivity. The team listens to their customers, determines the most impactful opportunities and executes on delivering those changes. The team works technologies including modern Linux embedded C++, build systems, cloud backend systems, and web platforms What you’ll be doing Solve design problems in embedded software, application SDKs, networking, graphics, UIs, media and other areas across Advanced Engineering, always with an eye on the resource constraints of our players and TVs Write efficient software that can be easily ported to new or existing platforms Demonstrate excellence in C++ development and deliver high-performance, ultra-reliable software Take ownership of the re-architecture and modernization of the Roku firmware build system to support modularization. Dig deep to find solutions to challenging problems affecting our users. Demonstrate excellence in build system development. We’re excited if you have 6 years in software development, architecture, and API design 5 years Linux systems programming Excellent modern C++ programming skills An understanding of compilers and how code changes will impact resources and performance Proven track record of success developing software to operate within tight CPU, RAM, and storage constraints Experience with Make, CMake, and Git as well as modernizing existing build systems Familiarity with tools like Open Embedded, BitBake, and Bazel Success at Roku is a collaborative effort, so you need to be a strong communicator, describing issues and solutions to various audiences Bachelor’s and/or master’s degree in computer science or equivalent LI-AB3