Software Engineer - Algo, Ad Platforms
Santa Clara Valley (Cupertino) , California , United States
Software and Services
Posted: Nov 9, 2021
Role Number: 200309936
At Apple, we work every day to create products that enrich people's lives. Our Advertising Platforms group makes it possible for people around the world to easily access informative and imaginative content on their devices while helping publishers and developers promote and monetize their work. Today, our technology and services power advertising in Search Ads in App Store and Apple News. Our platforms are highly-performant, deployed at scale, and setting new standards for enabling effective advertising while protecting user privacy. 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 Data Scientists and ML Engineers to develop and implement platform components that will allow advertising algorithms to optimize and scale. Platform components can range from core storage and processing capabilities and mission-critical pipelines, to online serving architectures that would be able to react to real-time signals and yet preserve 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 products including but not limited to machine learning platform 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, and enjoy 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, stay on top of developments, and are aware of what leading players are doing.
- Demonstrated ability to implement and extend highly performant, resilient, reliable, and understandable data pipelines.
- 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 pipelines and 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.
- Some research experience 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.
- Ability to propose, design and analyze new algorithms to benefit the network.
- Ability to take requirements from design through to implementation both independently and with larger teams.
- Ability to work closely with operational teams on deployment, monitoring, management concerns.
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.