Senior Software Engineer (Search, distributed computing, Big Data, ML), Apple Media Products

Santa Clara Valley (Cupertino), California, United States
Software and Services

Summary

Posted:
Role Number:200002138
The Apple Media Products Engineering team is one of the most exciting examples of Apple’s long-held passion for combining art and technology. These are the people who power the App Store, Apple TV, Apple Music, Apple Podcasts, and Apple Books. And they do it on a massive scale, meeting Apple’s high expectations with high performance to deliver a huge variety of entertainment in over 35 languages to more than 150 countries. These engineers build secure, end-to-end solutions. They develop the custom software used to process all the creative work, the tools that providers use to deliver that media, all the server-side systems, and the APIs for many Apple services. Thanks to Apple’s unique integration of hardware, software, and services, engineers here partner to get behind a single unified vision. That vision always includes a deep commitment to strengthening Apple’s privacy policy, one of Apple’s core values. Although services are a bigger part of Apple’s business than ever before, these teams remain small, nimble, and multi-functional, offering greater exposure to the array of opportunities here. Wonder how Apple's Media Products show relevant search results and recommendations? Do you strive to tackle complex problems? We are looking for extraordinary software engineers with deep experience in large scale data processing systems and highly scalable applications and web services. If you have a passion to push the limits of distributed computing frameworks to get every ounce of performance out of them, comfortable working with Object Oriented programming techniques and have familiarity with modern server technologies (e.g., non-blocking IO, distributed storage, completable futures, etc.) look no further. This team exhibits strong attention to detail, have excellent analytical capabilities and have passion for development - we would love to have you join us! We are looking for a great team player with the ability to communicate technical concepts effectively to others.

Key Qualifications

  • Ideal candidate will be able to demonstrate a strong practical understanding of how to develop practical, fault-tolerant high-performance distributed systems and data pipelines at scale.
  • Applicants will have 3+ years experience in industry or research developing robust, server-side Java, Scala, Python code and will be able to demonstrate creativity, initiative and the ability to work to deadlines. Experience and/or education must include:
  • Java or equivalent Object Oriented Languages
  • Scala
  • Map/Reduce
  • Scoobi
  • Spark
  • Understanding of HTTP and restful API design
  • Machine Learning
  • Big Data pipelines

Description

We are seeking an exceptional engineer to help build the next-generation of search features for Apple's ground breaking devices and platforms for a product that supports billions of transactions. If you want to craft new ways for customers to discover content in a rapidly growing catalogue on a range of devices and platforms, this is the place to be. Responsibilities include: - Ability to architect, prototype and collaborate to deliver scalable/performant runtime systems. - Design and develop run-time services and off-line data pipelines in Java. - Design and develop off-line pipelines, data analysis and A/B experiment analysis in Map/Reduce, Spark and/or Scoobi. - Work with large data sets to build user and content models in collaboration with Research team. - Collaborate with the Research team to build recommendation models using Machine Learning. - Design, build and test debugging tools to help visualize recommendation models and analyze software problems. - Build prototypes, A/B Test pipelines to evaluate algorithm improvements. - Develop pipelines to store big data (both content and user) on Hadoop using Map/Reduce techniques.

Education & Experience

Master’s degree or foreign equivalent in Computer Science, Information Technology, Software Engineering, or related field and 2 years of experience in the job offered or related occupation.

Additional Requirements