10 Sep
|
FreshWorks
|
Chennai
10 Sep
FreshWorks
Chennai
Overview of the role
As a Lead iOS Engineer at Freshworks, you own the technical direction of one or more flagship mobile applications serving millions of users. You set the architectural standard, make the build-vs-buy and native-vs-cross-platform calls, and are accountable for the quality, performance, and release health of your surface area. You lead a team of iOS and cross-platform engineers — through design reviews, mentorship, and hands-on pairing rather than through hierarchy — and you partner directly with Product, Design, Backend, and QA leadership to shape the roadmap, not just execute it.
You remain a hands-on engineer: you write code in the hardest parts of the system, and your judgement is the escalation point when the team is stuck.
Responsibilities
Technical leadership & architecture
- Own and evolve the mobile architecture across the app portfolio — modularization, dependency boundaries, state management, navigation, and offline/sync strategy. - Make and document consequential technical decisions (native Swift vs Flutter/React Native, third-party SDK adoption, persistence and caching strategy) with clear trade-off analysis and a migration path. - Author and drive technical design documents; run design reviews and hold the bar on SOLID, clean architecture, and pattern consistency (MVVM, VIPER, Coordinator, unidirectional data flow). - Lead large-scale refactors and platform migrations (e.g. UIKit → SwiftUI, monolith → modular packages) with incremental, low-risk rollout plans. - Identify and remove systemic technical debt; maintain a prioritized architecture backlog reviewed with Product and Engineering Management.
Delivery & execution
- Break down ambiguous, multi-quarter product initiatives into scoped, sequenced, estimable work for the team. - Stay hands-on: personally deliver the highest-risk components, prototypes, and performance-critical paths. - Own the release train — versioning, release branching, phased rollouts, App Store submission and review escalations, kill switches, and rollback procedures. - Own build and developer productivity: build times, flaky test elimination, local dev setup, and CI/CD reliability (Fastlane, GitHub Actions). - Drive integration contracts with backend teams for RESTful and GraphQL APIs, including versioning, backward compatibility, and error-handling standards.
Quality, performance & reliability
- Define and enforce the quality bar: test strategy across unit, integration, snapshot, and UI layers; code coverage expectations; and mandatory quality gates in CI. - Own crash-free-session rate, ANR/hang rate,
cold-start and frame-rate budgets, app size, and battery/network efficiency for your surface area; set targets and report against them. - Instrument and profile with Instruments, MetricKit, and Xcode Organizer; lead performance investigations that cross app, SDK, and backend boundaries. - Act as incident commander for production mobile incidents — triage, mitigate, communicate, and run blameless post-mortems with tracked action items. - Define observability standards: crash reporting, structured logging, analytics events, feature flags, and remote config (Crashlytics/Sentry, Firebase Remote Config).
People & influence
- Mentor senior, mid-level, and junior engineers; grow at least one engineer to the next level through structured feedback and stretch ownership. - Own code review culture — set expectations for review depth and turnaround, and coach through reviews rather than gatekeeping. - Drive the hiring bar for mobile: design and calibrate interview loops, conduct architecture and coding interviews, and support onboarding. - Provide input to Engineering Managers on performance, growth, and team composition. - Represent mobile engineering in cross-functional and cross-org forums; influence platform, design-system, and API decisions made outside your team. - Write and evangelize internal standards, playbooks, and documentation; run knowledge-sharing sessions and guild forums.
Product & business partnership
- Partner with Product to shape scope and sequencing — surface technical constraints early and propose cheaper paths to the same outcome. - Define success metrics with Product (adoption, engagement, crash rate, task completion) and drive iteration based on data. - Assess feasibility and effort for new initiatives; provide credible estimates with explicit assumptions and risks. - Implement and support compliance of self and team to Freshworks compliance and information security processes, including secure-coding practices, data-handling requirements, and privacy/App Store policy obligations.
Requirements / Must Have
- 8+ years of skilled software engineering experience, with 6+ years building and shipping production iOS applications. - 2+ years in a technical leadership role — tech lead,
lead engineer, or equivalent — owning architecture and outcomes for a team of engineers. - Expert-level Swift with strong Objective-C interop; deep command of the iOS SDK, Xcode, Instruments, and the full debugging toolchain. - Demonstrated ownership of a non-trivial mobile architecture at scale, including modularization and dependency management (SPM/CocoaPods). - Deep expertise in concurrency and multithreading (GCD, Swift Concurrency / async-await, actors), memory management, and race/deadlock diagnosis. - Strong experience with UIKit and SwiftUI, plus reactive/asynchronous patterns (Combine or equivalent). - Proven experience with cross-platform delivery — Flutter (Dart) or React Native — and the judgement to know when not to use it. - Data persistence and offline-first design (Core Data, SQLite, Realm) including migrations and conflict resolution. - Ownership of mobile CI/CD end to end (Fastlane, GitHub Actions), code signing, provisioning, and App Store Connect release operations. - Track record of driving measurable improvements in app performance, stability, or engineering velocity — with numbers you can speak to. - Strong grounding in OOP, design patterns, SOLID, data structures, and algorithms. - Strong written communication: design docs, RFCs, and post-mortems that hold up to scrutiny. - Demonstrated ability to mentor and level up engineers, and to build consensus across teams without formal authority. - Extensive experience with Agile methodologies and strong working knowledge of the SDLC. - Data-driven decision-making and comfort operating with ambiguity in a fast-paced environment.
Skills
- Experience leading a UIKit → SwiftUI or native → cross-platform migration in production. - Mobile security depth: Keychain, certificate pinning, encryption at rest, jailbreak/tamper detection, OWASP MASVS familiarity. - Experience building and maintaining shared SDKs, internal libraries, or a design system consumed by multiple apps. - Experience with GraphQL on mobile, including caching and schema evolution. - Experience with experimentation platforms, feature flagging, and progressive delivery at scale. - Familiarity with Android/Kotlin sufficient to reason about parity and shared architecture decisions. - Experience in B2B SaaS, multi-tenant, or enterprise mobility (MDM, SSO/SAML, on-prem constraints). - Accessibility (VoiceOver, Dynamic Type) and internationalization at scale. - Open-source contributions, conference talks, or active participation in iOS developer communities.
📌 Lead Software Engineer - IOS (Chennai)
🏢 FreshWorks
📍 Chennai