01 Oct
|
IntraEdge
|
Pune
We are seeking an experienced, hands-on Senior iOS Developer to design, develop, and enhance high-quality, enterprise-grade mobile applications for the iOS platform.
The ideal candidate will have strong hands-on expertise in Swift, SwiftUI/UIKit, iOS SDK, modern application architecture, security, performance optimization, testing, and CI/CD. The candidate should have a proven track record of delivering scalable, maintainable, secure, and reliable production applications.
Key Responsibilities
- Design, develop, test, deploy, and maintain enterprise-grade iOS applications using Swift, SwiftUI, UIKit, and iOS SDK.
- Develop reusable, scalable, maintainable, and testable mobile components following modern iOS development standards.
- Build intuitive and responsive user experiences supporting different device sizes, accessibility, Agile Type, localization, and iOS platform conventions.
- Develop and maintain applications using SwiftUI and UIKit, including interoperability between both frameworks.
- Implement complex navigation, routing, Deep Links, and Universal Links.
- Design asynchronous workflows using Swift Concurrency, including async/await, Tasks, actors, MainActor, structured concurrency, and task cancellation.
- Apply modern architecture and design patterns such as MVVM, MVC, Coordinator, Clean Architecture, dependency injection, and modular design.
- Design applications with clear separation between presentation, business/domain logic, networking, persistence, and platform services.
- Integrate applications with REST APIs, JSON-based services, and enterprise backend platforms using URLSession, Codable, or equivalent technologies.
- Build reliable networking components with authentication, authorization, error handling, pagination, retries, caching, timeouts, request cancellation, and offline support.
- Implement secure authentication and authorization, including secure management of credentials, access tokens, refresh tokens, and application sessions.
- Secure sensitive application data using iOS Keychain and appropriate encryption and data-protection practices.
- Implement local persistence and caching using Core Data, SwiftData, UserDefaults, file storage, and Keychain, based on application requirements.
- Optimize application startup time, responsiveness, memory, CPU, battery, networking, and UI rendering performance.
- Use Xcode, Instruments, Memory Graph, crash reports, logs, and telemetry to identify and resolve memory leaks, retain cycles, crashes, and performance bottlenecks.
- Troubleshoot complex production issues, perform root-cause analysis, and implement sustainable corrective solutions.
- Develop and maintain unit, integration,
and UI tests using XCTest and related frameworks.
- Design testable components using dependency injection, abstractions, mocks, and separation of concerns.
- Participate in code reviews, technical design reviews, architecture discussions, and security reviews.
- Support and improve CI/CD pipelines, automated builds, testing, code-quality checks, packaging, and deployment processes.
- Manage iOS certificates, provisioning profiles, entitlements, code signing, build configurations, application identifiers, and release configurations.
- Support application distribution through development, QA, TestFlight, and App Store environments.
- Manage internal and third-party dependencies using Swift Package Manager or approved alternatives.
- Collaborate with Product, UX/UI, Backend, QA, Security, DevOps, and other engineering teams.
- Provide technical guidance and mentorship to junior and mid-level developers.
- Contribute to architecture decisions, technical documentation, coding standards, reusable frameworks/components, and long-term technical strategy.
- Own features and technical initiatives from requirements and design through implementation, production deployment, monitoring, and ongoing support.
Required Skills & Qualifications
- 7+ years of software development experience, with significant hands-on experience developing and supporting production iOS applications.
- Strong proficiency in Swift and iOS SDK.
- Strong production experience with SwiftUI and/or UIKit, including integration between SwiftUI and UIKit.
- Strong understanding of Swift concepts including protocols, generics, closures, value/reference semantics, optionals, error handling, extensions, and memory ownership.
- Strong knowledge of Swift Concurrency, including async/await, Tasks, actors, MainActor, structured concurrency, cancellation, thread safety, and race-condition prevention.
- Strong understanding of ARC, memory management, retain cycles, weak/unowned references, and application object lifecycle.
- Strong understanding of the iOS application and scene lifecycle, UI lifecycle, navigation, state management, and background/foreground behavior.
- Strong understanding of SwiftUI state and data flow and appropriate state ownership and lifecycle management.
- Experience developing complex interfaces, reusable components,
and navigation flows using SwiftUI and/or UIKit.
- Experience implementing Deep Links and Universal Links.
- Strong experience integrating RESTful APIs and JSON-based backend services.
- Strong knowledge of URLSession and Codable, including authentication, error handling, retries, caching, timeout management, request cancellation, and connectivity considerations.
- Experience with Core Data, SwiftData, UserDefaults, file storage, and Keychain.
- Strong understanding of mobile application architecture, including separation of concerns, dependency injection, state management, modularization, reusable components, and testability.
- Experience with MVVM, MVC, Coordinator, Clean Architecture, or similar architectural patterns.
- Strong understanding of secure mobile application development, including Keychain, secure token storage, authentication lifecycle, encryption, network security, sensitive-data protection, and secure logging.
- Experience with OAuth 2.0 and OpenID Connect is highly desirable.
- Experience with Face ID, Touch ID, and LocalAuthentication.
- Strong experience with Xcode, XCTest, Git, Instruments, Memory Graph, crash diagnostics, and iOS debugging/profiling tools.
- Experience diagnosing and resolving memory leaks, retain cycles, crashes, threading issues, performance bottlenecks, and main-thread blocking.
- Experience developing unit, integration, and UI tests and designing applications for automated testability.
- Experience with CI/CD, automated builds, testing, application signing, certificates, provisioning, entitlements, and deployment.
- Experience with TestFlight and App Store release processes.
- Experience with Swift Package Manager and dependency management.
- Familiarity with push notifications, analytics, telemetry, crash reporting, feature flags, and application monitoring.
- Understanding of iOS accessibility, localization, Dynamic Type, privacy, and Apple platform design considerations.
- Strong production troubleshooting and root-cause analysis skills.
- Experience participating in code reviews and technical architecture/design discussions.
- Demonstrated ability to mentor developers and promote engineering best practices.
- Excellent problem-solving, ownership, communication, and cross-functional collaboration skills.
Preferred Experience
- Experience building enterprise-scale iOS applications.
- Experience working with secure and highly regulated mobile applications.
- Experience modernizing or migrating existing UIKit applications toward SwiftUI and modern Swift Concurrency.
- Experience working in Agile/Scrum development environments.
📌 Senior iOS Developer (Pune)
🏢 IntraEdge
📍 Pune