We are looking for an iOS Developer to build and scale our native iPhone and iPad experiences. You will own end-to-end iOS development — from architecting screens with MVVM, to integrating with our NestJS backend and AWS services, to shipping smooth, reliable releases through the App Store. You will work closely with product, design, backend, and QA teams to deliver a high-quality mobile product.
What You'll Do
- Design, develop, and maintain native iOS applications using Swift and UIKit.
- Build screens using a combination of XIB files and Storyboards — Storyboards for navigation flow, XIBs for individual view controllers and reusable views.
- Implement features using MVVM architecture, keeping view controllers thin and business logic inside ViewModels.
- Integrate REST APIs using Alamofire, including request interceptors, retry logic, and typed
response decoding via Codable.
- Implement secure authentication flows with JWT — storing tokens in Keychain, handling
access/refresh token rotation, and auto-retrying 401s.
- Integrate AWS services via the AWS iOS SDK — S3 uploads (profile photos, documents,
attachments) using AWSS3TransferUtility with background support and progress tracking.
- Consume backend APIs built on NestJS, collaborating on contracts, error formats, and pagination patterns.
- Optimize app performance — launch time, memory footprint, smooth scrolling, and network efficiency.
- Write clean, testable Swift code with proper use of async/await, Result types, and modern concurrency patterns.
- Manage app releases — provisioning, certificates, TestFlight distribution, and App Store submissions.
- Participate in code reviews, uphold engineering standards, and mentor junior iOS engineers.
Must-Have Skills
- 4+ years of hands-on native iOS development experience using Swift.
- Strong command of UIKit, including Auto Layout, XIB files, Storyboards, and custom reusable views.
- Solid experience building apps with MVVM architecture, with a clear separation between Model, ViewModel, and View layers.
- Hands-on experience with Alamofire — request routers, interceptors, session configuration, and typed response handling.
- Strong understanding of Codable, JSON parsing, and designing API model layers.
- Experience integrating with REST APIs, handling authentication, pagination, error states, and loading/empty states.
- Experience with JWT-based authentication and secure token storage using Keychain (and
appropriate use of UserDefaults for non-sensitive data).
- Hands-on experience integrating with AWS services on iOS — particularly S3 (file uploads) and Cognito / identity pools for temporary AWS credentials.
- Proficient with dependency managers — CocoaPods and/or Swift Package Manager (SPM).
- Strong grasp of async/await, closures, generics, protocol-oriented programming, and memory management (ARC, retain cycles).
- Experience with Xcode tooling — debugging, Instruments (Time Profiler, Leaks, Allocations), and build configurations for dev/staging/production environments.
- Familiarity with App Store submission process, provisioning profiles, certificates, and TestFlight.
- Comfortable with Git, code reviews, and CI/CD workflows.
Good to Have
- Experience building apps that consume NestJS or other Node.js backends.
- Exposure to SwiftUI and interoperability between SwiftUI and UIKit.
- Experience with unit testing using XCTest and UI testing using XCUITest.
- Familiarity with push notifications (APNs), deep linking, and universal links.
- Experience with analytics, crash reporting (Firebase Crashlytics, Sentry), and performance
monitoring.
- Exposure to offline-first patterns, Core Data, or local caching strategies.
- Experience with video playback, HLS streaming, or AVPlayer-based media experiences.
- Prior experience in EdTech, streaming, or consumer-scale mobile products.
What We're Looking For
- Ownership mindset — you ship features end-to-end and take pride in polish and reliability.
- Strong problem-solving skills and the ability to debug tricky UI, threading, and networking issues.
- Attention to detail — you care about pixel-perfect UI, smooth animations, and great user
experience.
- Clear communication and comfort collaborating with design, backend, and product teams.
- Passion for clean, maintainable Swift code and modern iOS best practices.
Job Type: Permanent
Work Location: In person