About the Team The team is primarily responsible for developing software for Roku Players products. The team is focused on software features that lie platform level between device hardware and operation system. There’s a variety of tasks and platforms the team works on, from hardware drivers up to user facing UI features. The team provides support for all Players platforms developed by 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 that delights 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. Our team focuses on making our products easy and joyful to use for our customers. Ideally, we are looking for a candidate who possesses exemplary technical skills, a passion for technology, 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 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 new features and own it from design and until release Participate in cross functional features and be solely responsible for own parts Represent own architectural vision, design ideas and argument it Collect and keep knowledge of all HW technologies, platforms, solutions owned by the team, create and maintain technical documentation and knowledge base Constantly optimize performance and quality of products through dedicated tools, KPIs monitoring, testing Conduct code reviews and provide constructive feedback to team members Work closely with our SoC vendors and partners to bring our new products to life and support existing We're excited if you have Extensive software engineering experience with C/C++ Understanding nature of embedded programming and device work from boot to online, device update process essentials Understanding of device HW parts and their role in device functioning, such as memory types, SoC blocks, input/output interfaces Knowing audio and video technologies is a plus 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 LI-TB1