Ad Serving Engineering organization is fully responsible for building, enhancing and maintaining the high-performance, distributed, microservice-based Digital Advertising Platform. The platform is charged with the qualification, delivery, and tracking of Digital Advertising campaigns (Video on Demand, Live TV, and innovative interactive ads) across all of online properties.
In addition, Ad Serving teams collaborate in the development of supporting components, such as anti-ad fatigue systems, impression counting pipelines, and ad experience flows. We also work on integrations with critical services responsible for the correct pacing, targeting, and selection of ads.
As a member of our team, you will apply your knowledge and skills to help us deliver scalable, performant, maintainable, and testable software.
Writing and reviewing a lot of code and tests: 45%
Write Java application code to execute on an array of Product initiatives for ad serving systems
Write, contribute, and review design and/or code implementation specifications
Write component level automated unit tests in Java to verify proper functionality
Peer review of applications and test software written using the github Pull Request approval process
Use of relational and non-relational databases, as well as AWS services, including but not limited to; Kinesis, DynamoDB, Kinesis, etc
Reviewing, learning, and documenting software and system designs in a high-throughput, low latency microservices environment: 15%
Enhancing systems observability with proper metrics, monitors and alerts: 5%
Add to existing in-code custom metrics using Datadog that are missing and/or needed as our product and business change over time
Add new in-code custom metrics using Datadog when creating new application code or enhancing existing code to meet business observability needs
Responsibilities:
Reading requirements documentation from the product, translating into implementation tickets, and leading the team through execution
Defining, reviewing, and documenting software and system designs in a high-throughput, low latency microservices environment
Enhancing systems observability with proper metrics, monitors and alerts
Basic Qualifications:
BS or MS in Computer Science / Engineering or relevant work experience
Advanced proficiency with Java, such as understanding heap, multi-threading, and profiling
Demonstrable analytical / problem solving skills
Great communication, collaboration skills and a strong teamwork ethic with both technical and non-technical audiences
Preferred Qualifications:
Comprehensive experience with:
SpringBoot and related Spring projects
Non-relational database technologies, e.g. DynamoDB
Redis and/or MemCache
Apache Kafka and/or Kinesis
AWS or other cloud platform
Terraform, Docker and Kubernetes
Ad Tech industry