Position: Senior Java developer (5687)
Company: Roku
Experience required: 5y
English level: upper

**The Role and Responsibilities:**

We are looking for a Senior Software Engineer experienced in building services at scale. Our team is a multi-disciplinary team responsible for the architecture and implementation of services that make up Roku’s browse and discovery platform. This platform is the backbone behind The Roku Channel, providing great free and premium content and entertainment for millions of users in the US and abroad.

With so many people relying on us for great movies, TV, and news - scaling, reliability, fallbacks, and automation of these scenarios are always at the top of our mind as we continuously add features to the platform.  We work very closely with the product team and pride ourselves on quickly iterating on features from prototypes to A/B tests to eventual release to all users. It’s still early days for this platform with plenty of challenging and interesting problems to work on. 

**Duties:**

•	Design, code, and deploy services powering a variety of browse and discovery experiences on the Roku Platform
•	Utilize SQL and noSQL databases to provide optimal persistence layer for our applications with high reliability and low cost
•	Enhance observability instrumentation on our services so we always have the data and tools necessary to troubleshoot issues as they may arise
•	Monitor deployed services and respond to issues in a timely manner when on call
•	Enhance our infrastructure capabilities such as build, deploy, and scale-up management as needed to support the growth of our applications
•	Take advantage of a variety of services offered by AWS to allow us to build features faster while managing the tradeoffs of complexity, costs, and AWS lock-in.

**Requirements:**
•	Strong software development experience (Java, Python)
•	Expertise building large scale cloud service, ideally in AWS
•	Experience in appropriate selection of data stores and analysis of tradeoffs
•	Experience with in-memory caching layers such as Redis, Redis Cluster, Memcached, or others
•	Experience with monitoring quality of deploys and troubleshooting of production systems
•	Experience understanding the end-to-end architecture of the web, from end user device to a service in a datacenter
•	Master’s degree in CS, CE or equivalent experience