Shubham Naik

Shubham Naik

Ten-plus years across native Android at 1B+ install scale, full-stack Next.js, Rust services on Linux, and embedded systems.

Open to remote Android or full-stack roles in India. Based in Pune.

Portrait
binary
ScreenCompose on Android; React and Next.js on the web — one screen stack.
App / server logicServer Actions and MVVM: logic on both sides of the wire.
DataQueries and migrations across PostgreSQL, SQLite, Realm and MySQL.
Linux servicesFour named Linux services: device, gateway, pair-and-sync, service registry.
DeliveryDocker dev-container: exact-commit binary; JFrog hosts, Actions ships.
MicrocontrollerSingle-chip integration: Embedded C++ and CMake on one microcontroller.
commit

Screen

Kotlin, Java, Jetpack Compose, React, Next.js, TypeScript

Compose on Android; React and Next.js on the web — one screen stack.

See it in Work
Layers I have worked in. Not one system.

Work

Senior Software Engineer — Raja Software Labs, Baner, Pune — – present.

Android — screen and app logic to present

On Android since 2016. Currently on apps with 1B+ to 10B+ Google Play downloads: a social networking app, an email app, and a legacy messaging app. Stack: MVVM, MVP, MVI; Kotlin Coroutines, RxJava/RxAndroid, ExecutorService; Jetpack Compose, SQLite, Realm, MySQL.

The ANR that came from a lock

In a legacy messaging app with 1B+ downloads, the UI thread and a background thread were contending for one lock. I root-caused and fixed the contention. Overall ANR reports dropped by an estimated 2–5%.

  1. StartMain threadHandles inputBackground threadTakes the lock
  2. Lock requestedMain threadNeeds the same lockBackground threadHolds it, still working
  3. WaitingMain threadBlocked, UI frozenBackground threadStill holds it
  4. 5 secondsMain threadANR: app not respondingBackground threadReleases it too late

Start: main thread, Handles input. Background thread, Takes the lock.

Generic illustration of this class of bug, not client code, and not a depiction of the actual fix. Android reports an ANR when input goes unhandled for 5 seconds.

Web — data and server logic to present

Web features with JavaScript, TypeScript, React and Next.js, including an internal dashboard built with Next.js and TypeScript. Server-side functionality: App Router, Server Components, Server Actions, and a PostgreSQL database.

See the Screen, App / server logic and Data layers in the Cutaway for the related stacks.

Rust — Linux services and delivery to present

Rust microservices running as Linux services: device communication, internet gateway, pair and sync, and a service registry, using Tokio and multithreading with Embedded C++ and CMake. Build pipeline: a Docker dev-container builds at an exact commit, hosted on JFrog, shipped by GitHub Actions as the target-CPU binary.

Engineering methods

Testing and review

Unit and integration tests in Java/Kotlin and in Rust, code reviews at PR time, GitHub Actions CI.

Work — Android track (CI workflow fix #11014)
Deterministic builds

A Docker dev-container builds the Rust binary at an exact commit, hosted on JFrog, and pulled by GitHub Actions to produce the target-CPU binary.

Work — Rust track (From commit to binary)
AI-assisted + self-review

Claude Code and GitHub Copilot for research-heavy investigation (NewPipe Compose migration, ANR investigation), followed by an architectural self-review for maintainability, testability, scalability, and coding-standards compliance.

Working notes
Mentoring

Trained junior developers at Raja Software Labs; mentored at Genora Infotech.

Background

Android at scale

Native Android since 2016.

Social networking app, 1B+ downloads
Built messaging, profile and job posting features in native Android.
Email app, 10B+ downloads
Contributed to migrating features from a discontinued chat application into the app.
Legacy messaging app, 1B+ downloads
Root-caused and fixed a lock contention between the main thread and a background thread that caused ANR errors, reducing overall ANR reports by an estimated 2–5%.

MVVM, MVP and MVI architectures. Concurrency with Kotlin Coroutines, RxJava/RxAndroid, ExecutorService and AsyncTask.

The lock-contention ANR fix, with an interactive thread timeline, is under Work, Android.

Web

TypeScript, React and Next.js since 09/2020.

  • Develop web features with JavaScript, TypeScript, React and Next.js, including an internal dashboard built with Next.js and TypeScript.
  • Build server-side functionality in Next.js: App Router, Server Components, Server Actions (including custom Server Actions that mutate data for specialized use cases), and a PostgreSQL database, including writing and optimizing queries and writing migrations.
  • Integrate third-party and REST APIs, exchanging data as JSON.

Rust services

Linux services since 09/2023.

Device communication
A service for microcontroller device communication.
Internet gateway
A service that connects the system to the internet.
Pair and sync
Services that pair and sync modules attached to the microcontroller.
Service registry
Enables inter-service communication across the system.

Tokio, multithreading and network programming in Rust, with Embedded C++ and CMake for embedded integration.

From commit to binary

  1. A Docker dev-container image builds the application at an exact commit for the target release CPU architecture.
  2. The image is hosted on JFrog.
  3. GitHub Actions pulls the image.
  4. GitHub Actions produces the final binary.

Experience

  1. 06/2018 – Present

    Senior Software Engineer, Raja Software Labs

    Baner, Pune, India

    Developed high-quality Android applications with modern frameworks like Jetpack Compose

    • Design, develop and maintain native Android applications in Kotlin and Java for large clients across three products: a social networking app (1B+ Google Play downloads), an email app (10B+ downloads) and a legacy messaging app (1B+ downloads).
    • Built messaging, profile and job posting features for the social networking app.
    • Contributed to migrating relevant features from a discontinued chat application into the email app.
    • Root-caused and fixed a lock contention between the main thread and a background thread that caused Application Not Responding (ANR) errors in the legacy chat app, reducing overall ANR reports by an estimated 2–5%.
    All responsibilities (11 more)
    • Applied MVVM, MVP and MVI architectures and managed concurrency with Kotlin Coroutines, RxJava/RxAndroid, ExecutorService and AsyncTask.
    • Worked with Jetpack Compose and other modern Android frameworks.
    • Integrated third-party APIs and worked with SQLite, Realm and MySQL databases.
    • Develop web features with JavaScript, TypeScript, React and Next.js, including an internal dashboard built with Next.js and TypeScript.
    • Build server-side functionality in Next.js: App Router, Server Components, Server Actions (including custom Server Actions that mutate data for specialized use cases), and a PostgreSQL database, including writing and optimizing queries and writing migrations.
    • Work on a Rust microservices architecture running as Linux services, including a service for microcontroller device communication, an internet gateway service, services that pair and sync modules attached to the microcontroller, and a service registry that enables inter-service communication.
    • Apply Tokio, multithreading and network programming in Rust services; use Embedded C++ and CMake to support embedded systems integration.
    • Work with a Docker dev-container build setup for a Rust backend project: the image builds the application at an exact commit for the target release CPU architecture, is hosted on JFrog and is pulled by GitHub Actions to produce the final binary.
    • Maintain code quality through unit testing, integration testing and code reviews, using Git, Android Studio and CI/CD pipelines.
    • Use AI coding assistants (Claude Code, GitHub Copilot) for research-heavy investigation to increase throughput on feature work and peer reviews, followed by an architectural self-review for maintainability, testability, scalability and coding-standards compliance.
    • Collaborated with cross-functional teams to define, design and ship new features; trained junior developers and contributed to team knowledge-sharing.
    • Kotlin
    • Java
    • Android SDK
    • Jetpack Compose
    • Coroutines
    • TypeScript
    • React
    • Next.js
    • Rust
    • Tokio
    • PostgreSQL
    • Docker
    • CI/CD
  2. 08/2016 – 06/2018

    Android/iOS Developer, Genora Infotech

    Verna, Goa, India

    Designed and developed mobile applications for both Android and iOS platforms

    • Designed and developed mobile applications for Android and iOS.
    • Translated UI/UX designs into efficient, reusable and scalable code.
    • Implemented reactive programming with RxJava and RxSwift.
    • Collaborated with the QA team to ensure application quality and fix bugs.
    • Mentored and trained junior Android and iOS developers.
    • Worked in an Agile environment with strict release cycles.
    • Android SDK
    • iOS
    • Java
    • Kotlin
    • RxJava
    • RxSwift
    • Agile
  3. 01/2015 – 04/2015

    Android Developer Intern, LetsApp

    Panaji, Goa, India

    Built Android applications including an Entry Register app using QR code scanning

    • Built Android applications, including an Entry Register app using QR code scanning.
    • Developed an XML parsing application.
    • Android
    • Java
    • XML Parsing
    • QR Scanning

Open source

Introduced Jetpack Compose to NewPipe.

Pull request #10875 (merged May 2024) added Compose to the NewPipe codebase and shipped a themed Toolbar composable.

Followed by #10876 (settings debug page redesigned in Compose), #12803 (debug screen migration completed), and #13056 (minimum SDK raised to API 23 for Navigation 3).

Four themes: Compose groundwork (4 PRs — #10875, #10876, #12803 and #13056); features (2 PRs — #12821 router enqueue option and #10427 playlist share); CI/runtime fixes (2 PRs — #11067 RSS button and #11014 test workflow).

8 merged pull requests, 09/2023 – 03/2026.

View pull request →

FlorisBoard: emoji suggestions.

Pull request #2385 (merged 04/2024). Wrote EmojiSuggestionProvider, integrated with NlpManager, and added a custom EmojiSuggestionCandidate. Fixes #56.

View pull request →

Skills and where I used them

Pick a skill to see where I used it.

11 items

  • Work

    Messaging, profile and job posting

    Social networking app, 1B+ downloads

    Built messaging, profile and job posting features in native Android for a social networking app with 1B+ downloads.

    • Android
    • Kotlin
  • Work

    Chat-to-email feature migration

    Email app, 10B+ downloads

    Contributed to migrating features from a discontinued chat application into an email app with 10B+ downloads.

    • Android
  • Work

    ANR from lock contention

    Legacy messaging app, 1B+ downloads

    Root-caused and fixed a main-thread and background-thread lock contention in a legacy messaging app (1B+ downloads). Overall ANR reports fell by an estimated 2–5%.

    • Android
    • Concurrency
  • Work

    Concurrency across Android

    Consumer apps at scale

    Applied MVVM, MVP and MVI architectures and managed concurrency with Kotlin Coroutines, RxJava/RxAndroid, ExecutorService and AsyncTask.

    • Android
    • Kotlin
    • Concurrency
  • Work

    Next.js internal dashboard and server features

    Web, since 09/2020

    Built an internal dashboard using Next.js and TypeScript: App Router, Server Components, and custom Server Actions that mutate data.

    • Next.js
    • TypeScript
  • Work

    PostgreSQL database development

    Web & Backend

    Wrote and optimized queries, and authored database migrations for PostgreSQL in full-stack applications.

    • PostgreSQL
    • Next.js
  • Work

    Rust microservices on Linux

    Microservices architecture, since 09/2023

    Device communication, internet gateway, module pair-and-sync and a service registry running as Linux services, using Tokio and multithreading with Embedded C++ and CMake.

    • Rust
    • Linux services
    • Concurrency
  • Work

    Commit-to-binary build pipeline

    Rust backend build setup

    A Docker dev-container image builds the app at an exact commit for the target release CPU architecture, is hosted on JFrog, and is pulled by GitHub Actions to produce the final binary.

    • Docker and CI
    • Rust
  • Open source

    NewPipe: Jetpack Compose migration

    8 merged PRs, 09/2023 – 03/2026

    Authored foundational pull requests for NewPipe's Jetpack Compose migration: introduced Jetpack Compose (#10875), redesigned settings debug page (#10876), completed debug screen migration (#12803), and raised min SDK to API 23 for Navigation 3 (#13056).

    • Jetpack Compose
    • Android
    • Open source
  • Open source

    NewPipe: features and tooling

    Open source contribution

    Added enqueue option to router dialog (#12821), improved playlist share content (#10427), fixed RSS button visibility (#11067), and fixed Android test GitHub Actions workflow (#11014).

    • Android
    • Docker and CI
    • Open source
  • Open source

    FlorisBoard: emoji suggestions

    Android keyboard, merged 04/2024

    Implemented emoji suggestions: wrote EmojiSuggestionProvider, integrated with NlpManager, and built custom suggestion-candidate class (PR #2385).

    • Kotlin
    • Android
    • Open source
Full skill taxonomy from resume (9 categories)

Languages

Kotlin, Java, TypeScript, JavaScript, Rust, C/C++, Swift, Objective-C, Python

Mobile & Android

Android SDK, Jetpack Compose, Jetpack Navigation, Kotlin Coroutines, Kotlin Flow, RxJava, RxAndroid, RxSwift, ExecutorService, AsyncTask, MVVM, MVP, MVI, Clean Architecture, SOLID, Multi-module architecture, Dependency injection (Hilt, Dagger, Koin), Retrofit, Firebase (FCM, Crashlytics, Analytics), Gradle, Kotlin Multiplatform, Compose Multiplatform, iOS development

Web & Frontend

React, Next.js (App Router, Server Components, Server Actions), TanStack Start, TypeScript, HTML, CSS, REST, JSON, XML, Django

Backend & Systems

Rust, Tokio, Microservices architecture, Multithreading, Network programming, Linux services, Embedded C++, CMake

Databases

PostgreSQL, MySQL, SQLite, Realm

DevOps & Tooling

Git, GitHub Actions, CI/CD, Docker dev-container, JFrog, Android Studio, Linux (Arch Linux, Ubuntu, Mint), macOS, Windows

AI-assisted development

Claude Code, GitHub Copilot, opencode, Prompt engineering, Agentic workflows, MCP, LLM-as-judge

Methodologies

Agile, Code Reviews, Mentorship

Performance & testing

Unit testing, Integration testing, Android Profiler, Perfetto, Baseline Profiles

Education

  1. 2012 – 2016

    B.E. Computer Engineering

    Goa College of Engineering

Contact

Open to remote Android or full-stack roles in India. Based in Pune.

Senior Android EngineerFull-Stack Engineer (React, Next.js, Rust)