iOS Full-Stack Software Engineer
What you'll need to apply
What this employer's standard application typically asks
Company-specific questions
- Have you previously worked at Apple?
About this role
Employer-provided description, formatted for easier reading.
At Apple, new ideas have a way of becoming great products, services, and customer
experiences very quickly. Bring passion and dedication to your job, and there's no telling
what you could accomplish. Do you love solving problems and thinking beyond the
obvious solution? Do you thrive in ambiguity and enjoy turning complex business needs
into intuitive software experiences?
The Greater China Channel Sales DMP team is dedicated to digital transformation. We are
looking for an enthusiastic iOS full-stack software engineer with strong native application
development experience, keen attention to detail, and the ability to learn quickly and
deliver with limited direction. Your primary focus will be building high-quality iOS and
iPadOS applications, while independently taking ownership of selected backend services
and APIs that support them. The solutions you build will support critical channel sales
workflows and help teams make informed decisions and improve business performance.
We don't believe in limiting our engineers. We are looking for a cross-functional individual
who can independently own projects, communicate directly with business stakeholders,
and help shape products from initial concept through production. You will take
responsibility for the full delivery lifecycle, from requirements and experience design to
technical architecture, implementation, testing, release, and continuous improvement,
working closely with product, design, and engineering partners. Experience using AI-
assisted development tools to improve engineering productivity and quality is a plus.
As an iOS Full-Stack Software Engineer, you will:
- Engage directly with business stakeholders to identify opportunities, clarify requirements, and translate complex workflows into intuitive native application experiences and maintainable technical solutions.
- Design, develop, and maintain production-quality iOS and iPadOS applications using Swift, SwiftUI, and UIKit where appropriate, with reusable UI components and business logic that support long-term product evolution.
- Define client architecture across navigation, state management, modularization, networking, caching, and local persistence, with clear boundaries between presentation, business logic, and data access.
- Independently design, develop, and test selected backend services and RESTful APIs using technologies such as Python, Java/Spring Boot, or Node.js, defining
reliable, evolvable service contracts and integrating them into native applications.
- Build resilient client-server workflows, including authentication, data synchronization, offline and degraded-network behavior, and recovery from application and service failures.
- Optimize application responsiveness, launch time, memory usage, and network efficiency; diagnose issues across UI rendering, application lifecycle, API integration, and supporting services.
- Deliver secure, privacy-conscious, accessible, and localized experiences across supported devices and operating-system versions, in accordance with applicable Apple requirements and platform guidelines.
- Develop automated unit, UI, integration, and API tests; apply test-driven and behavior-driven approaches where appropriate, and contribute to code reviews and continuous-integration workflows.
- Own release readiness and production support for assigned features, using crash reporting, structured logging, and performance instrumentation to monitor quality and drive continuous improvement.
- Evaluate new platform capabilities, frameworks, and development tools; build focused proof-of-concept solutions and bring validated ideas into production, including AI-powered features where they deliver meaningful user value.
3+ years of professional software engineering experience with a strong focus on native iOS application development.
Strong proficiency in Swift and hands-on experience delivering and maintaining production applications using SwiftUI and/or UIKit.
Strong software engineering skills across application architecture, implementation, testing, debugging, performance optimization, release, and maintenance.
Experience designing modular, testable native applications with clear separation of UI, business logic, and data access responsibilities.
Solid understanding of Swift Concurrency, asynchronous programming, thread safety, memory management, and application lifecycle behavior.
Hands-on experience with client networking, RESTful API integration, local persistence, caching, and data synchronization, including error handling under unreliable network conditions.
Hands-on experience with at least one server-side language and framework, such as Python, Java/Spring Boot, or Node. js, with the ability to independently deliver well-scoped backend APIs and services.
Experience with automated testing, Git-based collaboration, and continuous integration, together with an understanding of secure authentication, authorization, and sensitive-data handling in client-server applications.
Ability to work through ambiguous requirements, independently drive projects with limited direction, and communicate technical decisions clearly to business stakeholders and cross-functional partners.
Bachelor's degree in Computer Science, Software Engineering, or a related field, or
equivalent practical experience.
Demonstrated experience delivering an end-to-end feature spanning a native application and its supporting backend services.
Familiarity with domain modeling and Domain-Driven Design (DDD) principles for translating complex business workflows into well-defined software modules.
Knowledge of relational databases such as MySQL or PostgreSQL, data modeling, and caching technologies such as Redis.
Familiarity with cloud infrastructure such as AWS or Alibaba Cloud, containerized deployments, and CI/CD pipelines for supporting backend services.
Experience with Instruments, crash analysis, and production monitoring, as well as internal or enterprise application signing, provisioning, and distribution.
Experience building accessible and localized applications for users across multiple markets; familiarity with web technologies such as TypeScript, React, or Vue is also a plus.
Experience integrating AI-powered capabilities into user-facing applications or using Apple-approved AI-assisted development tools to improve productivity and code quality, in accordance with applicable security and privacy requirements.