About the team The Ads Customer Interfaces team develops full-stack web application services, APIs, and UIs that provide a unified approach to interfacing with internal and external customers across Roku's suite of advertising products. Our mission is to provide the best-in-class user experience and service while aiming to delight users of our products by making their jobs easier and allowing them to focus on their customers instead of getting bogged down by tedious business processes. In this role, you will work as a key member of the Ads Customer Interfaces team. About the role Roku pioneered streaming to the TV and continues to innovate and lead the industry. While we are well-positioned to help shape the future of television and streaming media worldwide, continued success stems from experienced software engineers like you developing core features for the Roku platform. Our new Senior Software Engineer will be contributing extensively to our container orchestrated platform, bringing together some of the latest client and server-side technologies to develop a truly scalable and robust solution. To be successful you’ll need extensive experience of building reliable and scalable cloud-based solutions, a strong background in software engineering and an appetite to keep on top of modern software practices. This is a great role for a senior professional who enjoys a high level of visibility and thrives on great business impact. The features and performance improvements you implement directly impact millions of users every day. This is a great role for an experienced professional who has innovative ideas for complex problems and can translate these ideas into ultra-reliable software. What you’ll be doing Design, develop and deliver high-quality web applications and back-end services. Work as a part of a high functioning team consisting of UX designers, software engineers, dev-ops, quality assurance and product management. Work both independently and paired with other team members to ensure efficient delivery of prioritised features. Take part in the planning and refinement of features along with the team to come up with innovative and collaborative designs. Develop new features and write test cases to ensure the quality of your code. Work with CI/CD tools to ensure that all software developed adheres to both quality and scaling requirements. Take a role in continuously improving our software delivery process, making it as efficient as possible, reducing wasteful activities and creating value. See a feature go all the way from design stage to being deployed into customer facing environments. Demonstrate the ability to dig deep to find solutions to challenging problems affecting our users. We’re excited if you have Bachelor's degree in Computer Science or a related field, or equivalent practical experience. 5 years of relevant software development experience, such as Node.js, React, Next.js. 3 years of working with cloud-based technology, such as AWS and GCP. Experience of building large scale and low latency distributed systems. Solid understanding of algorithms, data structures, performance optimisation techniques, object-oriented programming. Experience with distributed caching, SQL/NoSQL and other databases. Experience of container-based orchestration, such as Docker and Kubernetes. Experience using infrastructure as code software tools, such as Terraform. In-depth understanding of CI/CD and the tools used to implement them, such as Jenkins. Experience with software repository tools, such as GitLab and GitHub. Experience with productivity tools, such as Jira and Confluence. A good understanding of Agile practices. Ability to accurately estimate software tasks and work to schedule. LI-PA1