Experience required: 3 to 5 years
Core Skills We Expect (Deep)
React Native fundamentals
You should be strong at:
- React rendering model: reconciliation, render triggers, how props/state changes cascade
- memoization correctly: useMemo, useCallback, React.memo (and knowing when not to use them)
- state architecture: when to use local state vs global store vs server cache
- navigation performance: screen mounts/unmounts, preloading, transitions
- lists: real-world high-performance lists (FlashList/FlatList optimizations, stable keys, item layout hints)
Signals we look for
- You can open the RN profiler and tell why a list is dropping frames.
- You have opinions on derived state, stale closures, and effects firing too often.
Performance engineering
You should know:
- JS thread vs UI thread bottlenecks
- avoiding heavy work on JS thread (parsing, map/filter in render, expensive JSON transforms, image computations)
- frame drops / jank debugging approach (profiling, logs, flamegraphs if needed)
- memory leaks patterns:
- un-cleared intervals/timeouts
- listeners not removed
- retaining large arrays in closures
- image/video memory pressure
- startup time: minimizing bundle work, lazy loading, deferring non-critical tasks
Signals we look for
- You can explain what causes stutters while scrolling in RN.
- You can reduce memory spikes and explain the root cause (not just random tweaks).
Video playback expertise
You should be comfortable with:
- HLS/DASH basics: manifests, segmenting, adaptive bitrate (ABR), buffering logic
- player states and edge cases:
- app background/foreground
- interruptions (calls, Bluetooth device changes)
- network switching (WiFi LTE)
- retry strategy + fallback
- watch-time correctness:
- what counts as a view
- tracking play/pause/buffer/end accurately
- preventing duplicate events
- subtitles and audio tracks:
- multiple subtitle languages
- caption rendering
- selecting audio/subtitle tracks where supported
- reducing playback issues:
- stalled playback handling
- buffer configuration tuning
- preloading next video
- seamless transitions between feed items
Signals we look for
- You've debugged ExoPlayer/AVPlayer logs or you're willing to learn fast.
- You can implement TikTok-like feed playback without weird bugs.
Networking + caching + reliability
You should know:
- request retry patterns, idempotency, exponential backoff
- caching strategies:
- memory cache vs disk cache
- stale-while-revalidate style UI patterns
- handling slow network gracefully:
- optimistic UI where correct
- failure recovery
- preventing duplicated API calls
- deep understanding of request lifecycles (cancellation, aborting on unmount, preventing race conditions)
Signals we look for
- You can explain why API called twice happens and fix it properly.
- You don't build loading spinner everywhere apps you build resilient flows.
Analytics instrumentation
You should be strong at:
- defining events with clear schemas (properties, types, naming conventions)
- ensuring event correctness:
- deduping
- ordering issues
- offline queueing
- retries without double counting
- building analytics you can trust:
- playback events: start, quartiles, completion, total watch time
- paywall events: view, click, purchase success/fail, restore flows
- ability to debug analytics:
- compare client logs vs backend ingestion
- verify attribution/deeplink flows don't break event identity
Signals we look for
- You've worked with PostHog/Mixpanel/Amplitude/Mux/GA and understand real-world pitfalls.
- You can set up a clean debugging method for event validation.
Release engineering + build depth (Android + iOS)
You should be comfortable with:
- Android:
- Gradle, flavors/build types, signing, proguard/r8
- debugging crashes from Play Console
- understanding ANR basics and fixes
- iOS:
- Xcode build settings, signing/provisioning
- debugging from device logs / crash reports
- CI/CD and release flow:
- EAS / Fastlane (either is fine)
- staged rollouts, hotfix releases, rollback mindset
Signals we look for
- You've handled at least one ugly production incident and shipped a clean fix quickly.
Code quality + architecture
We expect:
- clean modular code (no giant screen files)
- reusable components and consistent patterns
- ability to write maintainable logic for:
- paywalls
- feature flags
- experiments / A/B tests
- remote config
- good PR hygiene:
- small PRs
- clear descriptions
- good testing mindset
Signals we look for
- You can refactor legacy without breaking releases.
- You can explain tradeoffs, not just preferences.
Nice-to-have (Strong Plus)
- Native modules (TurboModules / NitroModules / bridging) or even basic native debugging
- DRM/offline downloads experience (even partial)
- Video CDN awareness (cache behavior, startup latency, ABR tuning effects)
- Familiarity with crash reporting: Sentry/Firebase Crashlytics
- Familiarity with feature flagging/remote config systems
What we'll actually test in interviews (so you know we're serious)
- A small performance debugging scenario (list jank / re-render issue)
- A video feed edge case question (backgrounding, network switch, stalled playback)
- Architecture choices for analytics + avoiding duplicates
- Real world production debugging story from your past
What you'll own
- A major part of the app experience: feed + video performance
- Analytics correctness for key funnels
- Quality of releases and stability improvements
- Building premium feel into everything
Job Type: Full-time
Pay: ₹3,500,000.00 - ₹4,000,000.00 per year
Work Location: In person