Senior Software Engineer 2 - (iOS, Swift)

GeekyAnts•Bengaluru, Karnataka, IN•On-site

About the Role

You will build and ship production iOS apps for a large Indian banking client, where security, performance and release discipline matter more than in a typical consumer app. You will own features end-to-end in Swift — UI, data flow, networking, persistence and App Store release — and be a core part of GeekyAnts' native iOS practice. This is a native-first role, but we are building a mobile team that can flex. Over time you may work on React Native or Flutter projects alongside Swift, with support from our existing teams in both. Candidates who want to stay purely in one stack forever will not be the right fit. What you will do: Design, build and maintain iOS features in Swift using UIKit and SwiftUI, following MVVM and clean architecture principles Implement secure networking (URLSession, SSL pinning, Codable) and data persistence (Core Data, Realm, SwiftData, UserDefaults) for a banking-grade app Write concurrent, responsive code using GCD, OperationQueue, async/await and Combine Own quality: unit tests with XCTest, profiling with Instruments, crash triage and fixes Handle code signing, provisioning, App Store Connect submissions and release management Review code, mentor SE1–SE3 engineers and raise the bar on iOS standards across the team Work with the client's product, backend and security teams; translate requirements into technical designs and estimates Contribute to presales solutioning (architecture inputs, effort estimates) when needed Be open to picking up React Native or Flutter work when project demand shifts Must-have skills: 4+ years of hands-on iOS development with at least 2 apps shipped to the App Store. Swift & Xcode- Strong Swift (protocols, generics, optionals, value vs reference types), Xcode project structure, UIViewController lifecycle, working knowledge of Objective-C for legacy code UI — UIKit- Storyboards, Auto Layout, UITableView, UICollectionView, custom views, navigation and modal flows UI — SwiftUI- Views, modifiers, stacks, NavigationStack, TabView, List, Form, sheets and modals; can mix SwiftUI with UIKit Concurrency- GCD, OperationQueue, async/await, Task, structured concurrency, thread-safety and main-thread discipline State & architecture- @State, @Binding, @ObservedObject, @EnvironmentObject, MVVM, dependency injection (Needle, Swinject or similar) Reactive & networking- Combine (publishers, operators, cancellables), URLSession, Codable, SSL/certificate pinning, API error handling Persistence- UserDefaults, Core Data; exposure to Realm and SwiftData Quality & debugging- Xcode debugger, Instruments (Time Profiler, Leaks, Allocations), crash log symbolication, XCTest unit and UI tests Release- Code signing, provisioning profiles, App Store Connect, TestFlight, phased releases Good to have: Working exposure to React Native or Flutter, or a demonstrated willingness to learn one BFSI / fintech experience: PCI-DSS or RBI-aware development, Keychain, jailbreak and tamper detection, secure storage, biometric auth CI/CD for iOS (Fastlane, Xcode Cloud, GitHub Actions, Jenkins) Modular architecture (Swift Package Manager, feature modules), Clean Architecture or VIPER Accessibility (VoiceOver, Dynamic Type) and localisation Experience working in a client-facing or consulting setup Who you are: You care about how the app behaves on a slow network and an old iPhone, not just on the simulator You can explain a technical trade-off to a non-technical client stakeholder without hiding behind jargon You are comfortable owning a feature from estimate to App Store release, not only the coding part You are curious about the wider mobile ecosystem and willing to work across stacks when the business needs it You give and take code review feedback well and help junior engineers grow