08 Sep
|
FreshWorks
|
Chennai
08 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 qualified 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