Senior Software Engineer, Ad Platforms
Santa Clara Valley (Cupertino) , California , United States
Software and Services
Posted: Mar 10, 2021
Role Number: 200229437
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 the 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. The Ad Platforms ML team is looking for a Senior Software Engineer to build the next generation software platform and systems to advance algorithms that connect millions of global users to content from publishers and developers. Your work will drive the experimentation and development of machine learned algorithm at scale. You will build sophisticated systems essential in the end-end development of predictive algorithms, from experimentation to productization. You will design and engineer tools for managing AB test experiments, for automating distributed model training pipelines, for performing exploratory analysis, for computing data signals in feature stores and for serving real-time prediction that react to real-time signals, while preserving privacy of our customers.
- Extraordinary software engineering skills designing and building complex large-scale and distributed software systems in cloud computing environments like AWS
- Fluency in programming languages like Java, Scala, Python and SQL
- Familiarity with data-oriented workflow orchestration frameworks like Airflow, Kubeflow, etc.
- Experience with event stream processing (ESP) technologies like Spark Streaming, Kafka, Flink or equivalent
- Proven ability to implement and extend highly performant, resilient and reliable backend systems
- Experience with backend object stores, automated data pipelines, cloud-native data storage and processing frameworks
- Proficiency on developing containers like Docker and Kubernetes
- Strong experience with Spark, Hadoop, HIVE, Kafka, Cassandra or other distributed systems
- Exposure to machine learning methodology and A/B testing
- Hands on experience with top agile methodologies: test driven development and CI/CD environments
- Familiarity with statistics and ability to use data analysis techniques to understand data quality, profile system loads, relationships between business metrics, and technical performance
- Clear and effective communicator, a creative problem solver and a thoughtful decision maker
You will be one of the founding members of the new ML Platform Engineering team; you will design and build a new generation of ML platform and core infrastructure for the Ad Platforms organization. You will apply leading-edge technologies to deliver extraordinary innovation experiences to Apple users and advertisers while delivering on Apple's privacy commitments. Your work will be essential in full cycle of algorithm innovation from hypothesis, feature engineering, AB test management, to model training and deployment to online inference services and predictive applications in production. You will join and contribute to a culture that emphasizes observability and understandability, reliability, resiliency, simplicity, reusability, extensibility, scalability, velocity and productivity. We are one team, nurturing each other's growth and supporting each other in delivering for our customers and Apple.
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, with exposure to AB testing and machine learning methodologies.