At Apple, the business problem is to shape the platform that enables the next generation of intelligent experiences on Apple products & services and to shape the next generation of ML developer experience.
Requirements
- Software development skills, with proficiency in Java, Python, SQL
- Experience with delivering user experiences in the form of WebServices built using Java and Spring Boot
- Experience with developing and deploying on a Kubernetes based infrastructure
- Experience with BigData ecosystem Spark, Flink or equivalent
- Experience with Solr, Lucene and/or OpenSearch
- Experience with event-based messaging systems (Kafka) and workflow orchestration platforms (Airflow)
- Experience with cloud platforms like AWS or GCP
Responsibilities
- Develop the tools, frameworks, systems that all of Apple’s ML Engineers use to train, evaluate and track the efficacy of AI features across apple products
- Design and develop innovative features using micro services architecture for our organization’s internal applications and platforms
- Analyze business requirements, identify gaps, and translate requirements into technical designs
- Work closely with project managers, UI/UX designers, and other stakeholders to define requirements, estimate efforts accordingly, and ultimately deliver high quality work on-time
- Developing distributed systems, building data storage solutions, designing scalable data integrations and supporting user facing features
- Delivering Analytics backend services with exposure to query engines like Trino or equivalent
- Experience with app containerization, tuning, optimization, deployment, and performance of workloads running in a cloud environment (Kubernetes, Docker, Helm)
Other
- A passion for making simple, robust, and scalable platforms used by other engineering teams
- An intuition for collecting user requirements and translating them into features that deliver clear user value
- Apple is an equal opportunity employer that is committed to inclusion and diversity
- Must be comfortable with analyzing business requirements and identifying gaps
- Must be proficient in and adhere to the best practices of software development, such as agile development, code reviews, continuous integration, and automated testing