About the Team We have a team of exceptionally talented individuals who are focused on the latest features and innovations from Roku. We work in a distributed environment, with some team members located on different continents and in different time zones. It is the mission of our team to develop high-quality software releases that delight our customers. We operate in a fast-paced environment and prefer to remain flexible. Things change quickly and we need to adapt rapidly to the changes. Every team member contributes to the success of the team, and every decision matters. We aim to make our products easy to use and joyful to use for our customers. Ideally, we are looking for a candidate who possesses exemplary technical skills, is passionate, pays attention to every detail, and is not afraid to take on a challenging task. In this role, employees are expected to be self-driven, willing, and capable of taking full ownership of features and projects and leading them to successful completion, whether through team collaboration as an individual contributor. About the Role As a member of the Firmware Engineering team, you will design, develop and support embedded software systems that enable our world-class products, with Roku "inside" as their OS. To make this possible, you will work on the Roku OS on new technologies and developing new capabilities while keeping our existing code clean and performant. Additionally, you will work with product managers to accommodate shifting demands and schedules; collaborate cross-functionally with our QA and other development teams; and build solutions with external hardware component vendors. What you’ll be doing Software feature development, specific to our Player products Supporting the engineering development life-cycle for new platforms and products Updating and refactoring code to ensure optimal operation Collaborating with Roku hardware, OS, Channel, QA and Factory Operations teams Demonstrating excellence in C++ and C development by delivering high-performance, ultra-reliable embedded software Work with cross-functional teams to bring Roku Players Products and Features to life Work with our SoC vendors and partners to bring our new products to life Conduct code reviews and provide constructive feedback to team members Develop and maintain firmware with our SoC partners, ensuring high reliability and performance We’re excited if you have 5 years of relevant software development experience First-hand experience of working on successful consumer products Thrive in a fast-paced engineering environment Ability to work in both user and kernel space Demonstrable abilities to dig deep to find solutions to tough problems affecting our users Extensive software engineering experience with C/C++ Solid understanding of design and architecting for performance, ensuring that your code is fast, resource efficient and ultra-reliable Deep understanding of multi-threaded environment and concurrency management Proven track record of success in engineering embedded systems and products In-depth understanding of Linux, tools, libraries and open-source development Excellent verbal and written communication skills Bachelor's (or higher) degree in Computer Science or equivalent engineering experience LI-TB1