What Kotlin Developers Actually Build
Kotlin serves two distinct but related purposes. Before writing a job description, understand where your Kotlin developer will work:
Android Mobile Development
The most common use case. Kotlin became Google's preferred language for Android in 2017:
- Native Android apps - Instagram, Pinterest, Netflix, Uber all use Kotlin
- UI components - Activities, Fragments, Jetpack Compose (modern declarative UI)
- Mobile-specific features - Location services, camera, notifications, background tasks
- App architecture - MVVM, Clean Architecture patterns
Companies: Google (Android team), Pinterest, Netflix, Uber, Trello, Evernote
Backend/Server Development
Kotlin on the JVM for server-side applications:
- REST APIs - Using Ktor (JetBrains' framework) or Spring Boot
- Microservices - Netflix uses Kotlin for some backend services
- Data processing - Working with databases, message queues, caching layers
- Serverless functions - AWS Lambda, Google Cloud Functions
Companies: Netflix (backend services), Pinterest (some services), Gradle (build tool itself)
Full-Stack Kotlin
Some developers work across both:
- KMM (Kotlin Multiplatform Mobile) - Share business logic between Android and iOS
- Full-stack teams - Backend Kotlin + Android Kotlin in the same codebase
The Modern Kotlin Developer (2024-2026)
Kotlin has evolved significantly since its 1.0 release. Here's what separates modern Kotlin developers:
Null Safety Is Fundamental
Kotlin's type system prevents null pointer exceptions at compile time:
// This won't compile - Kotlin forces you to handle nulls
var name: String = null // Error!
// You must explicitly allow nulls
var name: String? = null // OK, but you must check before use
Junior: Uses nullable types but doesn't understand why
Mid: Leverages null safety effectively, uses safe calls (?.) and elvis operator (?:)
Senior: Designs APIs with null safety in mind, uses sealed classes for state
Coroutines Mastery
Kotlin's coroutines are lightweight threads for async programming:
- Junior: Can use
launchandasyncbut doesn't understand suspension - Mid: Understands coroutine scopes, cancellation, and error handling
- Senior: Designs coroutine-based architectures, understands flow and channels
Java Interoperability
Most Kotlin codebases interact with Java:
- Must understand: How Kotlin compiles to JVM bytecode
- Key skill: Reading Java code and converting it to idiomatic Kotlin
- Red flag: Can't explain why you'd use
@JvmStaticor@JvmOverloads
Skills Assessment by Business Need
If You're Building Android Apps
- Priority skills: Android SDK, Jetpack libraries (Room, Navigation, ViewModel), lifecycle awareness
- Interview signal: "How do you handle configuration changes without losing data?"
- Red flag: Doesn't know the difference between Activity and Fragment lifecycle
If You're Building Backend Services
- Priority skills: Ktor or Spring Boot, database integration, API design
- Interview signal: "How would you handle 10,000 concurrent requests?"
- Red flag: No understanding of coroutines or async patterns
If You're Migrating from Java
- Priority skills: Java interop, gradual migration strategies, team training
- Interview signal: "How would you convert this Java class to Kotlin?"
- Red flag: Writes Java-style code in Kotlin (not idiomatic)
Common Hiring Mistakes
1. Assuming All Kotlin Developers Are Android Developers
Kotlin is used for backend too. If you're hiring for backend, specify "Backend Kotlin Developer" or "Kotlin Server Developer" to attract the right candidates.
2. Overemphasizing Android Experience for Backend Roles
A backend Kotlin developer doesn't need Android SDK knowledge. They need Ktor/Spring Boot, database skills, and understanding of server architecture.
3. Ignoring Java Interop Knowledge
Most Kotlin teams work with Java codebases or Java libraries. Candidates who can't read Java code will struggle.
4. Not Testing Coroutines Understanding
Coroutines are Kotlin's killer feature for async programming. If a candidate can't explain suspension or coroutine scopes, they're likely junior-level.
5. Years-Based Requirements
"5+ years Kotlin" is misleading—Kotlin 1.0 was released in 2016. Someone with 2 years of modern Kotlin (coroutines, sealed classes, flows) often outperforms someone with 5 years who learned before these features existed.
Recruiter's Cheat Sheet
Questions That Reveal Skill Level
| Question | Junior Answer | Senior Answer |
|---|---|---|
| "Explain null safety" | "Kotlin prevents null errors" | Explains nullable types, safe calls, elvis operator, and when to use each |
| "What are coroutines?" | "They're like threads but lighter" | Explains suspension, coroutine scopes, structured concurrency, and cancellation |
| "How does Kotlin work with Java?" | "You can call Java from Kotlin" | Explains JVM bytecode, interop annotations, and migration strategies |
Resume Green Flags
- Specific Android apps published to Play Store
- Backend services handling real traffic
- Open source Kotlin contributions
- Mentions of coroutines, flows, or KMM
- Experience with Jetpack Compose (modern Android UI)
Resume Red Flags
- Lists Kotlin but only shows Java projects
- No mention of coroutines or async patterns
- "Expert in Kotlin" but can't explain basic features
- Only tutorial projects (Todo apps, weather apps)
Market Dynamics
Supply vs Demand
- Supply: Moderate—smaller pool than Java/JavaScript, but growing
- Demand: High—especially for Android roles, backend demand increasing
- Trend: Growing—Google's Android push and backend adoption driving growth
Salary Ranges (US)
- Junior: $75K-$100K
- Mid: $110K-$150K
- Senior: $155K-$210K
Android-focused roles often command 10-15% premium. Backend Kotlin roles align with general backend salaries.
Where Kotlin Developers Work
- Top regions: SF Bay Area, NYC, Seattle, Remote
- Industries: Mobile apps, fintech, e-commerce, social media
- Company types: Startups building mobile-first products, enterprises modernizing Android apps