Sr. Software Engineer, Advertising Platform
San Jose, CA 95199
Roku is the creator of a popular streaming platform for delivering entertainment to the TV. With over tens of million players sold across countries, over 3000 streaming channels and more than 5 billion hours watched over the platform, and building real-time, highly scalable-available advertising platform is critical for our success. Our teams mission is to build a best in class advertising platform to support and grow Rokus exploding ad business and we are hiring a Senior Software Engineer, Advertising Platform to be a key part of this mission.
What you will do:
Scratch-build real-time and highly scalable-available advertising platform using various AWS and big data technologies. For instance:
Design, develop, and operate low-latency, high-throughput server technologies like Pixel Server to handle hundreds of millions of requests per day at sub millisecond response time.
Design, develop, and operate components of our Data Management Platform (DMP) like a segmentation tool for real-time avail and segment building, a syndication tool to integrate data with 3rd party systems, as well as reporting. DMP works off 10s of terabytes of data ingested every day and petabyte-sized data warehouse, and makes use of big data technologies like Map-Reduce, Hive/Presto, Kafka, Spark, and Druid.
Optimize your code and algorithms to run in a highly performant, real time environment. This environment involves multiple data centers and generates billions of events a day.
Conduct low level systems debugging, performance measurement & optimization on large production clusters.
Participate in architecture discussions, influence product roadmap, and take ownership and responsibility over new projects.
Your background includes:
Experience working with advertising technology either on low-latency, high-throughput server technologies and/or Data Management Platforms.
Knowledge of AdTech business and practices.
Experience in working with large scale/ high-throughput/ multi-tenant distributed systems using two or more of the above technologies.
Experience with Hadoop 2.x/YARN based platform.
Experience with SQL and NoSQL databases.
Solid software development skills in Java, C, C++ or Scala.
Participate and contribute to constantly improving best practices in development.
Be self-driven, take complete ownership of initiatives and make pragmatic technical decisions.
5+ years professional experience as a data or software engineer.
BS in Computer Science or closely related domain; MS, Computer Science, or closely related domain, preferred.
Collaborate with cross-functional teams of developers, QA and operations to execute deliverables.