Associate Staff Engineer (Mobile - iOS - Swift UI)
Prefer a full account with a password? Sign Up to Apply
Job Description
Requirements
• Experience : 4+years
• Hands-on mobile engineering experience in iOS development.
• Hands-on experience developing and shipping production applications using React Native, JavaScript, and TypeScript.
• Hands-on native iOS development experience using Swift, SwiftUI, and UIKit, with working knowledge of Objective-C for legacy modules.
• Proven experience working on brownfield applications where React Native screens coexist with native iOS screens.
• Mandatory experience developing native iOS modules or view managers consumed by JavaScript through the legacy bridge and/or TurboModules and Fabric.
• Experience supporting high-traffic consumer applications in production, including crash investigation, bug fixing, hotfixes, and release management.
• Experience in e-commerce or content and commerce applications is preferred.
• Strong proficiency in JavaScript, TypeScript, React, and React Native component, navigation, and state-management architecture.
• Hands-on experience with state-management libraries such as Redux, MobX, Zustand, or Recoil.
• Strong understanding of React Native internals, including Hermes, Fabric, TurboModules, JSI, code generation, and the legacy bridge.
• Expertise in integrating React Native into large-scale native iOS applications, including hosting React Native views, developing native modules, bridging, and exposing native UI components.
• Strong Swift programming fundamentals, SwiftUI, UIKit, and working knowledge of Objective-C.
• Good understanding of iOS platform concepts, including application lifecycle, concurrency (GCD and async/await), memory management, networking, persistence, push notifications, deep links, universal links, App Store requirements, and privacy standards.
• Experience with mobile architecture patterns such as MVVM, Clean Architecture, object-oriented analysis and design, and modular application development.
• Strong knowledge of testing frameworks and practices across both platforms, including Jest, React Native Testing Library, Detox, and XCTest.
• Hands-on experience with Xcode, CocoaPods, Swift Package Manager, Metro, Fastlane, and CI/CD pipelines.
• Experience in production debugging, crash analysis, and performance profiling using Instruments, Hermes Profiler, Flipper, React DevTools, Crashlytics, or Sentry.
• Understanding of API integration, mobile security, caching strategies, and offline-first application development.
• Strong understanding of clean code principles, SOLID principles, and Agile development methodologies.
• Proven ability to manage end-to-end ownership of product modules, including architecture, implementation, testing, release, and production support.
• Experience in large-scale application migration, platform modernization, or refactoring initiatives with controlled rollouts and rollback strategies.
• Strong technical leadership, problem-solving, communication, and collaboration skills.
• Ability to conduct code reviews, mentor developers, establish engineering standards, and influence mobile architecture decisions.
• Experience with React Native migration from the legacy bridge to the new architecture (Fabric and TurboModules) is an added advantage.
• Familiarity with over-the-air updates using CodePush or EAS Updates, feature flags, and A/B testing platforms is desirable.
• Experience with monorepos, shared design systems, and e-commerce features such as catalogue, cart, checkout, and payments is an added advantage.
Responsibilities
• Architect, design, and develop customer-facing mobile features for the AJIO iOS application, with React Native as the primary development framework.
• Build scalable, reusable, and high-performance React Native components and modules using JavaScript and TypeScript.
• Develop and maintain native iOS features using Swift, SwiftUI, and UIKit wherever platform-specific capabilities, performance, or SDK integrations require native implementation.
• Maintain and enhance existing native iOS modules, including legacy components developed using Objective-C.
• Own end-to-end development of product modules, from requirement analysis and architecture design through development, testing, release, and post-production support.
• Own the integration layer between native iOS and React Native, including native modules, native UI components, bridging, and communication between JavaScript and native code.
• Ensure seamless user experience across native and React Native screens, covering navigation, back-stack management, session authentication, cart state, deep linking, analytics, and crash attribution.
• Drive the incremental migration of the existing native iOS application towards a React Native-first architecture without compromising application stability, performance, or release velocity.
• Define migration strategies, screen sequencing, feature parity, acceptance criteria, phased rollouts, feature flags, and rollback mechanisms.
• Support the live production application by investigating and resolving issues across native and React Native layers, managing crash triage, hotfixes, and production releases.
• Monitor and improve application performance, including cold start time, React Native time-to-interactive, bundle size, memory consumption, rendering performance, and frame drops.
• Use Xcode Instruments, Hermes Profiler, Flipper, and React DevTools to identify and resolve performance bottlenecks.
• Own the iOS build and release pipeline, including Xcode project configuration, CocoaPods, Swift Package Manager (SPM), Metro, Hermes, code generation, signing, Fastlane, CI/CD, and App Store phased releases.
• Define and enforce engineering standards across native iOS and React Native development, including architecture patterns, coding practices, code reviews, and testing frameworks.
• Develop reusable libraries, shared components, and design-system elements that work consistently across native and React Native interfaces.
• Implement automated and unit testing strategies using Jest, React Native Testing Library, Detox, and XCTest.
• Collaborate with product managers, UX/design teams, backend engineers, and QA teams to understand requirements and deliver high-quality mobile solutions.
• Evaluate native iOS versus React Native implementation approaches and advise stakeholders on appropriate technical trade-offs.
• Mentor junior and mid-level engineers, including supporting native iOS developers in adopting React Native development practices.
• Drive architectural decisions, manage technical debt, maintain performance budgets, and continuously improve code quality throughout the migration journey.
Requirements
Department: Engineering
Function: Information Technology
Experience Level: Not Applicable