Develop and maintain Roku’s cutting edge advertising planning, delivery and insights products/solutions.
You’ll be working on the next generation of Roku’s DMM (Digital Marketing Management) platform based on a real-time bidding solution with high-load up to 3M QPS used by leading advertisers to manage their online ad campaigns across all media channels, device platforms, and advertising exchanges.
You’ll become part of a distributed team developing a product that is used by thousands of businesses worldwide.
Java 11, Concurrency, Scala, Big Data, Amazon AWS (EC2, Kinesis, Dynamo, Cloudfront, Cloudwatch, Athena...), Aerospike, Avro, Netty, Tomcat, Apache Mina, Lucene
Skills & Experience:
— Background in computer science or similar quantitative field.
— 5+ years professional software development experience.
— Expert Knowledge of Core Java
— Experience developing high scale and high performance distributed systems
— Good understanding of algorithms, data structures, performance optimization techniques, object-oriented programming, multi-threading and real-time programming.
— Product-focused mindset
— Team-player with strong interpersonal skills
— English — Upper intermediate or above
— Experience with cache optimization, , distributed cache and NO SQL DB is a plus
— Experience with Big Data and AWS services is a plus
— Experience in advertising domain a big plus.
— Challenging work in an international professional environment
— Flexible work-from-home policy
— Competitive salary
— PE accounting and support
— 20 paid vacation days per year
— 14 paid sick leave days per year
— Medical insurance
— Annual 250$ deposit for attending external events (conferences, workshops, etc.)
— Long-term employment and real opportunities to change roles and projects within the company
— Yoga classes, workout corner
— Collaborative and friendly team environment
— Work with a highly skilled engineering team in all phases of the Agile development process from design to deployment
— Design, develop, and maintain high scale, highly performant real time application.
— Work with quality assurance, release engineering and product management to deliver quality software
— Identify, design, and implement improvements to current architecture. This may include: internal process improvements, automating manual processes, optimizing data delivery, reducing cost, re-designing infrastructure for greater reliability, etc.
— Be part of a continuous improvement atmosphere, proactively suggesting improvements to the platform and development processes; anticipate problems or issues that may arise
— Deliver constant value back to the business in a highly agile team approaching near-continuous deployment