Posted on: 08/04/2026
Role : Senior iOS Engineer
About Aspora :
People on the move deserve a bank that moves with them. Since 2022, Aspora has been building a borderless financial operating system that makes money as mobile and transparent as its users.
Backed by Sequoia Capital, Greylock Partners, Hummingbird Ventures, Y Combinator & Global Founders Capital. We're a team of 75+ across India, the UK, the UAE, EU and the US, working with extreme ownership, radical candour, and an obsession with customer impact.
About the Role :
As a Senior iOS Engineer at Aspora, you'll own the iOS experience for a banking app used by NRIs across the UK, EU, and beyond. This isn't a social feed or e-commerce app every flow you build handles identity verification, money movement, card operations, and regulatory compliance.
You'll be responsible for the full lifecycle of iOS features: from understanding the product requirement, to implementing pixel-perfect UI, to instrumenting analytics, to monitoring crash-free rates in production. We're a small iOS team, which means high ownership and high impact.
What You'll Own :
- Core banking flows on iOS account onboarding (persona verification, document upload, notarization, video KYC, money transfers (beneficiary management, IMPS/NEFT/RTGS, transfer status tracking), card management (virtual/physical, block/unblock, show card number), account statements.
- SwiftUI-first architecture we're building new features in SwiftUI. You'll drive the migration from UIKit where needed, and establish patterns for navigation, state management, and view composition.
- Security-critical UIs MPIN flow, biometric re-enrollment, card number reveal with masking, session timeout handling. Banking-grade security, not just happy-path implementation.
- Performance launch time, smooth scrolling, memory footprint, battery impact. You profile and optimize proactively.
- Analytics & observability instrument user flows with Rudderstack/ Mixpanel. Every critical action has an event. You care about funnel drop-offs, not just crashes.
- Code quality & architecture enforce MVVM, clean separation between views/view models/services/repositories. If networking code leaks into a view, that's your concern.
Tech Stack :
- Language: Swift 100%
- UI: SwiftUI (primary) + UIKit (existing screens)
- Architecture: MVVM, Clean Architecture, Coordinator pattern for navigation
- Networking: URLSession / Alamofire, Combine
- Concurrency: Swift Concurrency (async/await), Combine
- Local Storage: CoreData, UserDefaults (encrypted), Keychain
- Analytics: Rudderstack, Mixpanel
- CI/CD: GitHub Actions, Fastlane, TestFlight
- Security: Certificate pinning, Keychain services, biometric APIs (LocalAuthentication)
- Testing: XCTest, XCUITest
What We Need :
Technical (must-have) :
- 4-7 years of professional iOS development experience
- Strong Swift proficiency protocols, generics, value types vs reference types, memory management ARC, used idiomatically
- SwiftUI expertise custom views, property wrappers State, StateObject, EnvironmentObject), navigation patterns, Combine integration
- Experience building fintech, banking, or payment apps (or similarly compliance-sensitive products)
- Clean Architecture in practice separation of UI/business logic/data layers enforced across a real codebase
- Security implementation Keychain, certificate pinning, biometric authentication, encrypted storage
- Performance optimization Instruments profiling, reducing memory leaks, managing view hierarchies
- CI/CD experience Fastlane, TestFlight distribution, build variants
Technical (strong plus) :
- UIKit to SwiftUI migration experience strategies for incremental migration, hosting/representable patterns
- Custom animations and transitions for polished UX
- Accessibility VoiceOver, Dynamic Type) and localization
- Experience with multi-module iOS projects SPM or CocoaPods)
- Understanding of backend API contracts you can debug a broken response without waiting for the backend team
Mindset (non-negotiable) :
- You notice UI inconsistencies, missing loading states, and unhelpful error messages before anyone files a bug
- You care about the details spacing, alignment, transition smoothness, haptic feedback
- You own the iOS experience completely. If a flow is broken for users, it's your responsibility whether or not the bug is in your code
- You test your work. Banking features shipping without tests is a risk you don't accept
- You have opinions about architecture and will push back on shortcuts that create technical debt
Did you find something suspicious?
Posted by
Posted in
Mobile Applications
Functional Area
Mobile Development - iOS
Job Code
1626921