$196,000
median · per year, annualized USD
$223,544
median · per year, annualized USD
Software Engineer 3- Python/Kotlin/Java/Terraform/ElasticSearch/OpenSearch/AWS
Kotlin Multiplatform Engineer (Senior-Staff Levels)
Staff Android (Kotlin) Engineer — Digital Signage / Embedded Media Platform
Senior Software Engineer, Android (Kotlin)
Backend Customer Success Engineer (Kotlin Ecosystem)
Software Engineer II (Mobile Developer - Android/Kotlin) - Mobile App Growth
Principal Software Engineer
Distinguished Engineer
Staff / Principal Data Engineer
Principal Engineer
Principal Engineer (Payments)
Principal Machine Learning Engineer, Ads Delivery
Principal Research Engineer, Model Training & Post-Training
Principal Engineer, Agentic AI Systems
Principal .NET Software Engineer- Cloud Payments Platform
Principal .NET Software Engineer - Cloud Payments Platform
| Company | Median | Roles |
|---|---|---|
Grocery TV
|
$212,500 | 1 |
Cantina
|
$205,000 | 1 |
Captivation Software
|
$200,000 | 1 |
| DO Doximity | $192,000 | 1 |
Klaviyo
|
$145,000 | 1 |
JetBrains
|
$138,000 | 1 |
| Company | Median | Roles |
|---|---|---|
Roblox
|
$320,145 | 42 |
| AL Astera Labs | $207,500 | 21 |
Motional
|
$285,000 | 20 |
Elastic
|
$134,329 | 18 |
| SE Sezzle | $111,000 | 16 |
Anduril Industries
|
$256,000 | 13 |
Zscaler
|
$207,188 | 13 |
|
|
$321,750 | 12 |
| Location | Median | Roles |
|---|---|---|
| San Francisco | $282,500 | 70 |
| New York | $259,000 | 55 |
| Boston | $250,000 | 45 |
| Austin | $232,000 | 10 |
| Seattle | $231,500 | 33 |
| Chicago | $228,075 | 16 |
| Los Angeles | $225,000 | 31 |
| Toronto | $210,000 | 17 |
| London | $199,724 | 16 |
| Denver | $190,000 | 17 |
The median for Kotlin is $196,000 per year (typically $156,750–$203,750), versus $223,544 for Principal Engineer ($187,500–$276,000). That puts Principal Engineer about 14% ahead at the median.
Both figures are computed live from active listings on JobsRadar and normalized to annualized USD, so Kotlin and Principal Engineer are compared on equal terms regardless of the currency each role was originally posted in. Only roles that publish a salary range feed the medians; numbers refresh every few hours as new roles post and older ones close, so this comparison reflects the market right now rather than a fixed survey. Use it as a directional benchmark when weighing one path against the other.