15 Aug
|
FreshWorks
|
Chennai
15 Aug
FreshWorks
Chennai
Job Description
About the Team
We’re a passionate and fun-loving mobile team made up of Android, iOS, and automation engineers, with a solid mix of experience and energy. We build and maintain multiple mobile apps and multiple mobile SDKs, powering user experiences at scale.
Our portfolio includes:
Apps: Freshdesk, Freshchat, Freshcaller, and Freshsales (all on Android & iOS)
SDKs: Freshchat SDK (for Android, iOS, React Native, and Flutter)
Our impact?
Over 200,000 active app users
More than 200 million active SDK users
If you're excited about working across high-impact apps and building SDKs that scale globally, you’ll feel right at home with us.
Overview of the Role
As a Lead Android Engineer, you own the technical direction of one or more of our Android apps and SDKs. You set the architectural standard, make the consequential technology calls, and are accountable for the stability, performance, and release health of your surface area. Because our SDKs are embedded in thousands of third-party applications reaching over 200 million users, you carry a bar most Android roles never encounter: every public API you ship is a long-term contract, and every regression is someone else's production incident.
You lead through design reviews, mentorship, and hands-on pairing rather than through hierarchy, and you partner directly with Product, Design, Backend, and QA to shape what gets built — not just to 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.
Key Responsibilities
Technical Leadership & Architecture
- Own and evolve the Android architecture across apps and SDKs — Gradle module boundaries, dependency graph, state management, navigation, and offline/sync strategy.
- Make and document consequential technical decisions (Views → Jetpack Compose adoption, third-party dependency selection, persistence and caching strategy, native vs cross-platform) with explicit trade-off analysis and a migration path.
- Author and drive technical design documents; run design reviews and hold the bar on Clean Architecture, MVVM/MVI, SOLID, and pattern consistency across teams.
- Lead large-scale refactors and migrations with incremental, low-risk rollout plans — no big-bang rewrites.
- Identify and remove systemic technical debt; maintain a prioritized architecture backlog reviewed with Product and Engineering Management.
SDK Ownership & API Stewardship
- Own public SDK API design — clean, minimal, hard-to-misuse surfaces, with deliberate decisions about what becomes permanent contract.
- Own semantic versioning, backward compatibility, and deprecation policy; guarantee that host applications can upgrade without breakage.
- Defend the integration footprint: binary/method-count impact, transitive dependency conflicts with host apps, consumer R8/ProGuard rules, manifest merger behaviour, and minSdk/targetSdk policy.
- Own SDK integration documentation, sample apps, migration guides, and release notes.
- Lead technical discussions with customer and partner engineering teams — integration reviews, escalations, and root-cause analysis on their production issues.
- Maintain parity and consistency of behaviour across Android, iOS, React Native, and Flutter SDK variants in partnership with the iOS and cross-platform leads.
Delivery & Execution
- Break down ambiguous, multi-quarter 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, staged rollouts and halts in Play Console, Play App Signing, kill switches, and rollback procedures for both apps and SDK artifact publishing (Maven Central / internal repositories).
- Own build and developer productivity: Gradle build times, convention plugins and version catalogs, flaky test elimination, and CI/CD reliability.
- Drive integration contracts with backend teams for REST and GraphQL APIs, including versioning, backward compatibility, and error-handling standards.
- Own annual targetSdk compliance, Play policy and Data Safety obligations, and forward-compatibility work against new Android releases.
Quality, Performance & Reliability
- Define and enforce the quality bar: test strategy across unit, integration, and instrumentation layers; coverage expectations; and mandatory quality gates in CI.
- Own crash-free session rate, ANR rate, cold-start and frame-timing budgets, App Bundle size, and battery/network efficiency; set targets and report against them.
- Profile and optimize using Android Studio Profiler, Macrobenchmark, Baseline Profiles, Perfetto, StrictMode, and Play Vitals; lead investigations that cross app, SDK, and backend boundaries.
- Own correctness across device and OEM fragmentation — background execution limits, doze/battery-optimization behaviour, WorkManager reliability, permission model changes, and vendor-specific quirks.
- 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 (Firebase Crashlytics / Sentry, Remote Config).
Mentorship, Collaboration & 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 Android: 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 Android 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, SDK integration success rate) and drive iteration based on data.
- Assess feasibility and effort for current 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 obligations.
📌 Lead Software Engineer - Mobile (Android) (Chennai)
🏢 FreshWorks
📍 Chennai