Search Jobs

Search by job, company or skills

Lead Software Engineer - IOS

Lead Software Engineer - IOS

Freshworks
Early Applicant
  • Posted a day ago
  • Be among the first 10 applicants

Job Description

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 professional 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.

More Info

Job Type:
Industry:
Employment Type:

Key Skills

About Company