Roles · Android Developer · Senior

What a Senior } should know

36 core skills, 53 in total. Expectations per skill, and what changes at the next level.

This page lists what a Senior } is expected to know and do, skill by skill. Core skills are the ones a manager and peers assess in a review cycle; the rest count only in self-assessment. Main areas: Programming Fundamentals, Frontend Development, Mobile Development.

36core skills
17additional skills
11skill areas
100%at Advanced or Expert
Assess myself as Senior Full role matrix

Core skills for a Senior

Grouped by area. The label on the right is the expected depth: Awareness, Working, Advanced or Expert.

Programming Fundamentals · 8

Applies algorithmic thinking to Android performance optimization: efficient sorting/filtering for large RecyclerView datasets, diff algorithms for ListAdapter updates, scheduling algorithms for background work coordination. Designs efficient algorithms for offline data synchronization and conflict resolution.

Designs async architectures for Android: coroutine-based data layer with proper scope management, Flow-based reactive UI updates, Isolate strategies for CPU-bound operations. Mentors team on structured concurrency and avoiding coroutine leaks.

Designs code quality standards for Android projects: Kotlin coding conventions, Compose best practices, modularization strategies for large apps. Configures Detekt/ktlint with custom rules. Refactors legacy Activity-based code to modern architecture patterns. Establishes PR review criteria for UI consistency.

Data Structures Advanced

Selects optimal data structures for Android applications: sparse arrays, Room entity relationships, efficient RecyclerView data sources for large lists. Optimizes in-memory caching with LRU strategies for image and data stores. Designs offline-first data models with proper sync conflict resolution structures.

Design Patterns Advanced

Has deep expertise in design patterns for Android: designs clean architecture with dependency injection and use case patterns, implements reactive data flow architectures, optimizes pattern usage for Android lifecycle and performance. Mentors team on architectural patterns for scalable Android applications.

Designs memory-efficient architectures for Android applications: custom memory pools for RecyclerView, efficient image loading pipelines (Coil/Glide internals), and proactive OOM prevention. Implements memory-aware caching strategies with LruCache and DiskLruCache. Optimizes for low-memory devices using onTrimMemory callbacks. Mentors team on memory profiling and leak detection workflows.

Multithreading Advanced

Has deep expertise in Android multithreading: designs coroutine-based architectures with proper scope management, implements concurrent data processing with Flow operators, optimizes thread pool configurations for Android runtime. Mentors team on structured concurrency patterns for complex Android applications.

Applies OOP/SOLID in Android architecture: clean separation with MVVM/MVI patterns, interface segregation for repository contracts, dependency injection with Hilt/Dagger. Designs modular Android apps with proper abstraction layers for testability, platform-specific implementations, and feature module independence.

Frontend Development · 1

Data Fetching Advanced

Designs the Android application's data-fetching layer: OkHttp interceptor configuration for authorization and logging, response caching strategies, pagination handling via Paging 3. Implements offline-first approach with Room as single source of truth, configures retry policies and exponential backoff, optimizes network requests through batching and deduplication.

Mobile Development · 8

Designs mobile application architecture with Android Architecture Components. Optimizes performance for low-end devices. Implements CI/CD for mobile development. Mentors the team.

Designs comprehensive ASO strategy for Android products: builds keyword tracking dashboards, implements automated store listing experiments, analyzes competitor ASO tactics. Optimizes conversion funnels from impression to install and mentors team on ASO practices.

Designs mobile application architecture with Kotlin and Jetpack Compose. Optimizes performance for low-end devices. Implements CI/CD for mobile development. Mentors the team.

Designs mobile application architecture with Kotlin Coroutines and Flow. Optimizes performance for low-end devices. Implements CI/CD for mobile development. Mentors the team.

Mobile CI/CD Advanced

Configures CI/CD for Android projects: GitHub Actions/Bitrise pipelines with Gradle caching, automatic debug/release APK and AAB builds, unit and instrumented test execution. Configures signing via Gradle and keystore storage in CI secrets, sets up automatic deployment to Firebase App Distribution for testers, optimizes build times.

Profiles and optimizes Android application performance: analysis via Android Profiler (CPU, Memory, Network), cold/warm start optimization through App Startup library, eliminating jank in RecyclerView through DiffUtil and ViewHolder reuse. Configures baseline profiles to accelerate JIT, optimizes Compose recomposition through stability annotations.

Mobile Security Advanced

Implements Android application security: data encryption via EncryptedSharedPreferences and EncryptedFile, certificate pinning via OkHttp CertificatePinner, reverse engineering protection through ProGuard/R8 obfuscation. Configures biometric authentication via BiometricPrompt API, implements secure token storage in Android Keystore, audits dependencies for vulnerabilities.

Designs mobile application architecture with Navigation and Deep Links. Optimizes performance for low-end devices. Implements CI/CD for mobile development. Mentors the team.

API & Integration · 4

Designs documentation for Android SDK and internal libraries: auto-generating Dokka documentation from KDoc, creating code samples and integration guides. Documents architectural decisions through ADRs (Architecture Decision Records), maintains migration guides for API updates, creates interactive examples through Android sample apps for SDK consumers.

GraphQL Design Advanced

Designs Android application GraphQL integration: caching strategy (cache-first, network-first, cache-and-network), subscription configuration via WebSocket for real-time updates, query complexity optimization. Implements persisted queries to reduce traffic, configures Apollo codegen in CI, profiles and optimizes Apollo cache for large data graphs.

REST API Design Advanced

Architecturally designs the Android application's network layer: Repository abstraction over Retrofit with unified error handling, offline-first strategies via NetworkBoundResource pattern, client-side API versioning. Optimizes network requests — batching, deduplication of concurrent requests, conditional requests via ETag/Last-Modified, configures connection pooling in OkHttp.

Designs real-time communication in Android applications: WebSocket service architecture with Foreground Service for stable connection, message delivery strategies (at-least-once, exactly-once), synchronization with local Room database. Implements protocols over WebSocket (STOMP, custom binary), optimizes battery through adaptive heartbeat and Doze-mode compatibility.

DevOps & CI/CD · 1

Optimizes the Android project's CI/CD pipeline: Gradle build cache with remote storage, parallel module builds, conditional test execution based on changed files (path filters). Configures automated release pipeline — bump version, generate changelog, upload to Play Store via Fastlane/Gradle Play Publisher, integrates Firebase App Distribution for alpha/beta tracks.

Testing & QA · 4

E2E Testing Advanced

Designs Android E2E test infrastructure: Page Object pattern for Espresso tests, Robot Pattern for readable tests, test data strategy (seeding, cleanup). Configures parallel execution on Firebase Test Lab with sharding, implements screenshot testing via Paparazzi, optimizes test stability — retry strategies, custom IdlingResources for async operations.

Designs Android application integration testing strategy: end-to-end tests of the data layer (API→Repository→Room), Room migration testing via MigrationTestHelper, contract testing with backend via Pact. Configures test environment with realistic data, optimizes integration test startup time, implements snapshot testing for complex state machines.

Mobile Testing Advanced

Designs mobile-specific testing strategy for Android: testing on real devices via Firebase Test Lab (device matrix), monkey testing with random seed arguments, performance testing via Macrobenchmark. Configures accessibility testing via Accessibility Scanner, verifies backward compatibility across Android API 24-34, implements network condition testing (slow, offline).

Unit Testing Advanced

Designs unit testing strategy for Android applications: test architecture with shared fixtures and builders, fakes vs mocks for the Repository layer, testing complex coroutine scenarios (timeout, cancellation, exception propagation). Configures snapshot testing for ViewModel states, implements mutation testing via Pitest, optimizes test speed through parallel execution.

Security · 3

Designs Android application auth architecture: multi-provider authentication (Google Sign-In, Facebook, Apple via Credential Manager), biometric authentication via BiometricPrompt with crypto object. Implements session management with secure token storage in Android Keystore, configures token binding, designs graceful auth degradation and offline authentication via cached credentials.

Ensures OWASP MASVS-L2 compliance for Android applications: full audit against MASVS checklist, anti-tampering protection implementation, runtime application self-protection (RASP). Configures obfuscation via R8 with custom rules, implements jailbreak/root detection with graceful degradation, conducts threat modeling for mobile attack vectors, integrates SAST/DAST into CI pipeline.

Designs Android application security patterns: secure data storage architecture (Keystore + EncryptedFile), IPC protection through signature-level permissions, anti-debugging and anti-tampering protection. Implements code obfuscation strategy via R8 with custom dictionary, implements SSL pinning with backup pins, configures ProGuard rules for security-critical classes, conducts security code reviews.

AI-Assisted Development · 2

ChatGPT / Claude Advanced

Integrates AI assistants into the Android development workflow: auto-generating boilerplate (feature module scaffolding, DI setup, Navigation graph), creating architectural documents and ADRs. Uses AI for code review preparation, performance trace analysis, Espresso test generation from user stories. Critically evaluates AI recommendations on Android APIs — checks deprecated APIs and compatibility.

GitHub Copilot Advanced

Maximizes productivity through Copilot in Android development: workspace-aware code generation for multi-module projects, boilerplate creation (DI modules, Navigation setup, feature scaffolding). Configures Copilot workspace for Android context, uses Copilot Chat for architectural discussions, critically evaluates suggestions — checks thread safety, lifecycle awareness, memory leaks.

Architecture & System Design · 2

Designs Clean Architecture for complex Android applications: multi-module implementation with API/impl modules for each feature, shared domain module strategy, cross-cutting concerns architecture (logging, analytics, error handling). Optimizes the balance between architectural purity and pragmatism — when shortcuts are acceptable, how to manage mapper boilerplate, strategy for legacy code.

Designs multi-module Android application architecture: decomposition into feature/core/shared modules, defining inter-module contracts through API modules, navigation strategy between feature modules. Designs scalable solutions for 20+ modules, defines bounded context boundaries, applies DDD principles for complex domains in mobile context.

Version Control & Collaboration · 2

Code Review Advanced

Conducts deep architectural review of Android code: evaluating solution scalability, checking edge cases (process death, config changes, low memory), analyzing performance implications. Reviews cross-module changes focusing on API stability, checks security aspects (data leakage, insecure storage), mentors through PR comments, creates templates for common review findings.

Git Advanced Advanced

Designs Git strategies for the Android team: branching model (GitFlow/Trunk-based) accounting for Play Store release cadence, release branch strategy for hotfixes, squash merge rules for clean history. Configures advanced Git hooks (commit message validation, build checks), manages submodules for shared libraries, optimizes repository size for multi-module Android projects.

Performance Engineering · 1

Designs performance budget system for Android applications: automated monitoring via CI (Macrobenchmark regression detection), alerts on metric degradation, per-device-category budgets (low-end vs flagship). Profiles complex scenarios via Perfetto/System Trace, optimizes Compose recomposition, configures R8 for APK minimization, implements baseline profiles for critical paths.

Additional skills

Not assessed by the team, but part of the self-assessment and the development plan.

Apache KafkaAWSCursor IDEDatabase IndexingDockerKubernetes CoreNetwork FundamentalsOpenTelemetryPostgreSQLPrometheus & GrafanaPrompt Engineering for CodeQuery OptimizationRedisSLI / SLO / SLAStructured LoggingTerraformType Safety & Type Systems

What changes at Lead

51 skills get a higher expectation or become core when moving from Senior to Lead. The biggest jumps first.

See the Lead page →
Run this with your whole team
Self-assessment plus manager and peer reviews against the same matrix, gap analysis and next-level readiness for every engineer. Team Pro is free for 14 days; individual tools stay free forever.
Start a team trial (14 days free) Send to my manager

} in the open competency matrix: 53 skills across 5 levels. The matrix is free for individuals and stays free.