Software Engineer - Algo, Ad Platforms
Santa Clara Valley (Cupertino), California, United States
Software and Services
At Apple, we believe in the power of technology to enrich people's lives. Everything we build is designed to empower people, including our advertising platform. We deliver ads in a way that benefits both customers and advertisers — helping people discover content, supporting creators, and protecting and respecting everyone’s privacy. Our technology makes advertising possible on the App Store, Apple News, Stocks, and Apple TV. Our technology and services power advertising in Apple News and Search Ads in App Store. Our platforms are highly-performant, deployed at scale, and setting new standards for enabling effective advertising while protecting user privacy! Everything we do is with the unwavering commitment to privacy you expect from Apple. Because when advertising is done right, it benefits everyone! We are looking for an ambitious and versatile engineer who can thrive in an Agile environment, delivering solutions to enable advanced techniques and algorithms to improve an ad network. You will work closely with ML Scientists to develop and implement platform components that will allow advertising algorithms to optimize and scale. Platform components can range from core data processing capabilities and mission-critical pipelines, to online serving architectures that react to real-time signals while preserving the privacy and integrity of our consumers. You will have the opportunity to define, refine, and/or refactor approaches, designs, and architectures to meet the ad network challenges we must solve. You will join a team of world-class machine learning engineers hungry to apply leading-edge technologies to deliver extraordinary experiences to our customers. You will play a meaningful role building machine learning products which deliver on Apple's privacy commitments and change the way advertising works with data. The position also involves developing a keen understanding of the ad network behavior; the common engineering solutions to enable leading edge ad network algorithms; supporting in-depth and in-width A/B tests; developing tools for analyzing the results of extremely large-scale experiments.
- 4+ years of professional software development experience.
- Clear and effective communicator
- Curious, collaborative problem solving.
- Love working on a shared codebase that supports web-scale, mission critical applications; and the discipline that it requires.
- Understanding of modern data engineering approaches and are aware of what leading players are doing.
- Demonstrated ability to implement and extend highly performant, resilient, and reliable data services.
- Experience with Spark, Hadoop, HIVE, Kafka, Cassandra or other distributed systems.
- Deep expertise in Python, Java, Scala, SQL, and/or other relevant languages and frameworks.
- Worked in cloud environments and are familiar with object stores, and other common cloud-native data storage and processing frameworks.
- Worked in CI/CD environments.
- Experience with data and serving architectures that support machine learning development platforms and production applications.
- Familiar with A/B and other online testing applications.
- Understanding of statistics and capable of using data analysis techniques to understand data quality, profile system loads, understand the relationships between business metrics, and similar.
- Ability to propose, design and analyze new algorithms to benefit the network.
- Ability to take requirements from design through to implementation both independently and working collaboratively within teams.
- Ability to work closely with operational teams on deployment, monitoring, management concerns.
- Some research experience desired in Algorithms, Architecture, Artificial Intelligence, Compilers, Database, Data Mining, Distributed Systems, Machine Learning, Networking, Statistics (game theory, auction theory, quantitative analysis), or Systems Software implementation of new algorithms and data aspects of an audience ad network in Python and Java.
You will have the opportunity to work on a platform with extreme scale requirements. At Ad Platforms, we are constantly developing products to provide amazing user experiences and drive value for publishers and developers. You will have the chance to take part in designing and implementing the engineering solution that brings cutting edge ad network algorithms into production in heterogeneous environments. You will have the opportunity to apply cutting edge data engineering techniques, platform engineering techniques and algorithmic solutions.
Education & Experience
BS/MS in Computer Science, Distributed Systems, Software Engineering, or related field; and experience designing, building, maintaining, and extending web-scale production systems.