Lead Software Engineer - Mobile
Freshworks · Chennai, in
Free to search · AI fit score against your CV · tailor your résumé in one click
Freshworks · Chennai, in
Company Description Organizations everywhere struggle under the crushing costs and complexities of “solutions” that promise to simplify their lives. To create a better experience for their customers and employees. To help them grow. Software is a choice that can make or break a business. Create better or worse experiences. Propel or throttle growth. Business software has become a blocker instead of ways to get work done. There’s another option. Freshworks. With a fresh vision for how the world works. At Freshworks, we build uncomplicated service software that delivers exceptional customer and employee experiences. Our enterprise-grade solutions are powerful, yet easy to use, and quick to deliver results. Our people-first approach to AI eliminates friction, making employees more effective and organizations more productive. Over 72,000 companies, including Bridgestone, New Balance, Nucor, S&P Global, and Sony Music, trust Freshworks’ customer experience (CX) and employee experience (EX) software to fuel customer loyalty and service efficiency. And, over 4,500 Freshworks employees make this possible, all around the world. Fresh vision. Real impact. Come build it with us. 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 intern