Abou t the Team We have a team of exceptionally talented individuals who are focused on the latest innovations from Roku. We work in a distributed environment, with 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. About the role As a member of the Players 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 Develop tools to optimise performance and delivery of our products and new features 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 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 A self-directed professional approach to working independently Excellent verbal and written communication skills Bachelor's and/or Master’s degree in Computer Engineering/Science or equivalent You will possess the skills and confidence to navigate working in a fast-paced environment and be frequently taken out of your comfort zone. You will need to be able to ask questions and apply critical thinking to situations and seize opportunities to learn and improve yourself independently along with keeping up to date with the latest technologies.