Software Engineer, Platform Portability

streaming stick

Recently update on 2022-06-22

Job Description

About the Platform Portability Team

Our mission is to help Roku scale, enabling the Roku OS on more machines to extend our reach. While most teams see the world in terms of hardware or software, the Platform Portability team does its best work by straddling that line, living in the grey area where every solution could be achieved via hardware or software. Working across that line and at this scale demands that we think in terms of clean, proper, and appropriate portability and reporting abstractions.

Because of this kind of work, we often say, “there’s no such thing as magic.” We don’t accept that something just works; we wonder why and go digging to figure it out. We aren’t content with surface understandings. We go deep and rip it apart, looking to understand how the “magic” gets done for real. We’re a team that values diversity and flexibility of thought. When we look to add new people to our team, beyond technical skill, we are looking for people with deep curiosity around how things work, how willing they are to go one more layer in to learn. We also value people who have worked in multiple ecosystems and haven’t calcified their thinking around one way to do something but being willing to consider lots of alternate approaches.

Tech stack: Because of the nature of the work, our tech stack is very broad, from the hardware abstraction layer up to the OS and programming language. This might include Linux, Android, Tizen, C, C++, boot loaders, drivers, multimedia and streaming media tech, among others.

 

In this role you will:

  • Develop and evolve the RokuOS PAL to support new devices and new features.
  • Architect RokuOS, adding appropriate modularity and abstractions.
  • Building tools and needed to support platform portability
  • Write software that can be easily ported to new or existing platforms;
  • Demonstrate excellence in C++ development and deliver high-performance, ultra-reliable software;
  • Work both independently and in small groups to deliver totally awesome new features on-time;
  • Debug software issues with an eye to optimizing performance and improving product quality;
  • Demonstrate the ability to dig-deep to find solutions to tough problems affecting our users.

Requirement

Experience/Qualifications

  • 2+ years of experience developing Linux based consumer electronic products;
  • Excellent C/C++ programming skills;
  • Strong skills in API design and developing portable code;
  • Proven track record of success with embedded Linux development projects;
  • A passion for building solid system and portability abstractions;
  • Experience with Wi-Fi, and/or audio/video streaming and as well as secure video playback.
  • Excellent verbal and written communication skills;
  • Knowledge of consumer products, web user interfaces and networking functionality;
  • Bachelor’s or Master’s degree in Computer Science

Remote type

Fully Remote Interview

Please submit your application to: https://www.roku.com/jobs/position/3438699/software-engineer-platform-portability?gh_jid=3438699

Hybrid Job

Depends on local situation

Benefits

Welfares by law

勞保、健保、特別休假、勞退、婚假

Other benefits

  • Competitive Salary with ​Stock Option
  • Meal Allowance
  • Self-Managed Paid-Time Off
  • Flexible Working Hours
  • National Health and Labor Insurance
  • Group Insurance (including spouse and children)
  • Annual Medical/ Health-check Allowance
  • Comprehensive Employee Assistance Program (EAP)
  • New Hire Welcome Kit (Mac or Windows - your choice!)

 

  • Unlimited Free Coffee and Snacks
  • Team Building Activities

Salary Range

Negotiable (Above 40K TWD)