Full stack/iOS Engineer (iOS + Backend) - iCloud Products - Jobs - Careers at Apple
- Develop and maintain features for the Apple Invites iOS application.
- Collaborate with designers and cross-functional partners to implement user interfaces and experiences that align with Apple's design principles.
- Write clean, efficient, and well-documented code using Swift, SwiftUI, UIKit as well as Java, Go, or C++.
- Work with data persistence and synchronization using CloudKit and SwiftData.
- Help ensure the performance, quality , and responsiveness of the application.
- Identify and fix bugs, and address performance bottlenecks with guidance as needed.
- Contribute to code quality through unit testing, integration testing, and code reviews.
- Participate in the full software development lifecycle, including requirements gathering, design, implementation, testing, and deployment.
- Continuously grow your technical skills and apply learnings to new problems and features.
- Effectively use generative AI coding assistants in your development workflow.
- Incorporate GenAI into day-to-day workflows beyond coding, in accordance with Apple's responsible AI guidelines.
- Design, build, and maintain the backend services and APIs that power Apple Invites features.
- We're looking for candidates with strong depth in one area (iOS or backend) and working familiarity with the other. You do not need to be an expert in both; if you're a strong iOS engineer who is comfortable working across the stack, or a strong backend
- engineer comfortable in client development, we'd love to hear from you.
- iOS
- Professional experience developing iOS mobile applications with Swift and SwiftUI.
- Working knowledge of the iOS SDK and several included frameworks, including SwiftUI and UIKit.
- Familiarity with data persistence and synchronization concepts using frameworks such as CloudKit and SwiftData, or similar technologies.
- Effective communicator who collaborates well within the team and with project stakeholders.
- Experience with unit testing and an understanding of its role in the development cycle.
- Writes testable, reliable, and maintainable code, and is open to feedback through code review.
- Self-motivated, dependable, and passionate about the products you work on.
- Strong problem solving and debugging skills.
- Hands-on experience using AI-assisted development tools (e.g., GitHub Copilot, Claude, ChatGPT or equivalent) as part of a professional engineering workflow, with the ability to critically evaluate generated output.
- Backend
- Professional experience building backend services/microservices in an object-oriented language such as Java, Go, orC++ (or strong working familiarity , if iOS is your primary area).
- Experience with inter-service communication via REST APIs and/or gRPC.
- Familiarity with relational and/or NoSQL data stores for persistence and consistency trade-offs.
- Experience writing unit and end-to-end tests, including backfilling coverage for existing systems.
- Strong problem-solving and debugging skills; writes clean, testable, maintainable code and is open to code-review feedback.
- Effective communicator who collaborates well within the team and with stakeholders.
- iOS
- Experience with CoreData; ideally synced with CloudKit.
- Experience building apps that target Apple products beyond iPhone such as iPad, Apple Watch, and/or Apple TV .
- Experience integrating clients with RESTful APIs and web services.
- Additional programming language experience such as TypeScript/JavaScript, Java, Python, Go, Rust, C/C++ or equivalent.
- Exposure to building Web, Android, Mac, or Windows applications.
- Experience contributing to an application using Swift and SwiftUI.
- Familiarity with event management or calendar applications.
- Understanding of iOS frameworks and experience working with iOS extensions and integrations.
- Backend
- Experience with cloud-native distributed architectures (AWS, GCP) supporting high-throughput, low-latency traffic.
- Experience designing and implementing distributed, scalable, fault-tolerant backend systems.
- Experience with containerization/orchestration (Docker, Kubernetes) to deploy and scale stateless/stateful services.
- Experience with caching strategies (Redis, Memcached) for performance optimization.
- Experience with asynchronous, event-driven systems using message queues or pub/sub (Kafka, Pub/Sub, SQS/SNS).
- Experience designing and maintaining CI/CD pipelines (Y AML, shell scripting).
- Experience with distributed data-processing frameworks (e.g., Apache Spark) for large-scale data transformation.
- Experience with Java frameworks for distributed services, such as Spring or Netty .
Apple is an equal opportunity employer that is committed to inclusion and diversity. We seek to promote equal opportunity for all applicants without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, Veteran status, or other legally protected characteristics. Learn more about your EEO rights as an applicant
At Apple, we believe accessibility is a fundamental human right. You’ll find that idea reflected in everything here — in our culture, our benefits and our digital tools. By welcoming as many perspectives as possible, we help you build a career where you feel like you belong.
Learn about accessibility in Apple’s workplace
Learn about reasonable accommodations for job applicants
Apple accepts applications to this posting on an ongoing basis.
Required Skills
Required Languages
🇬🇧 English