Senior Software Engineer - Backend
About the team
The Roku APPS team is a group of highly skilled technologists that builds innovative platform products and services that enable over 100M+ users and streaming devices. We connect users to the streaming content they love and enable content publishers to build and monetise large audiences. We work on a range of critical services that power the Roku eco-system, including device and account setup, identity, authentication, channel distribution to devices, and channel publishing.
About the role
We're now looking for a talented and experienced Backend Engineer to join Roku APPS team. The ideal candidate will have a strong background in microservices. If you have a consistent track record improving large scale systems and enjoy building consumer-facing platform, and If you are innovative at heart and have a great balance on learning, organising, building, and enjoy making an impact, this role might be a great fit for you!
What you will be doing
- Build extremely large-scale platform products and services, used both by Roku engineers from across the company, and directly by consumers across millions of devices
- Work with Product/Design teams to iterate and build software, taking a concept from ideation to its production deployment and support
- Lead efforts to evaluate new technologies and continue to push for best practices across the entire development life cycle, including code and design reviews
- Managing project priorities, deadlines, and deliverables
- Participate in Agile development process, including scoping, technical design, coding, testing, deployment, and maintenance
We're excited if you have
- 8+ years of experience building large-scale distributed systems
- 5+ years working with cloud-based platforms and infrastructure
- An understanding of system concepts and approaches such as eventual consistency and CAP theorem
- Ability and desire to lead the design and implementation of backend services coupled with a deep understanding of different data platforms
- Deep experience in building microservices using Java for container platforms such as Docker or Kubernetes
- Solid understanding of databases such as Aurora MySQL and DynamoDB
- Hands-on Experience working with AWS ALB, ECS, RDS, or similar cloud services
- Experience with a breadth of protocols and data formats such as REST, WebSockets, HTTPS, JSON, and Protobuf
- Demonstrated ability to drive timely consensus in design with other senior team members
- Bachelors or Master's degree in Computer Science, Engineering, or equivalent