“周日深夜 Review 代码不是敬业,而是剧毒。”
在 Android 开发者社区,Jake Wharton 是无法绕开的名字。他被誉为"Android 之神”,Retrofit、OkHttp、Picasso 等知名开源项目均出自其手。2017 年,他加入 Google 成为 Kotlin 团队首位工程师,推动 Kotlin 成为 Android 一等语言。2020 年回归 Square 及 Cash App 后,于 2025 年 11 月行业裁员潮中离职。
离职后,Jake Wharton 公布了求职的九条准则,首要一条便是:不加入 AI 公司、不做以 AI 为核心的产品,也不接受强制使用 AI。这一立场让他放弃了约 80% 的潜在机会。在 AI 编程工具盛行的当下,这位资深工程师为何做出如此选择?Kotlin 的生态现状与未来又将如何?以下是他的深度访谈。


Kotlin 如何成为 Android 一级编程语言?
问:JetBrains 开发 Kotlin 是为了与 Java 竞争吗?
Jake Wharton:Kotlin 诞生于 Java 发展停滞期。当时 Oracle 接管 Java,发布周期长达两年,功能更新缓慢。社区急需更现代的替代方案,Scala 和 Groovy 虽被尝试,但 Kotlin 凭借 JetBrains 强大的 IDE 支持和基础设施交付能力脱颖而出。它能利用现有 Java 生态,支持增量式迁移,无需抛弃原有代码库,因此更易被接受。
问:2017 年你加入 Google Kotlin 团队,这是如何发生的?
Jake Wharton:我在 Square 工作期间撰写了一份公开文档,论证采用 Kotlin 的价值,这在社区引发广泛关注。随着 Google 工程师意识到 Kotlin 的潜力,我收到了参与官方支持的邀请。对于希望将 Kotlin 打造为 Android 第一方产品的我来说,这是不容错过的机会。
问:Android 团队对引入 Kotlin 有阻力吗?
Jake Wharton:起初确有疑虑。从成熟的全栈集成技术转向相对未经证实的新语言,风险不可避免。Google 采取了谨慎的渐进策略:先为 Kotlin 开发兄弟库,而非直接重写已有 Java 库。Kotlin 既具备新特性,又兼容 Java 生态,允许开发者逐步迁移,这是其成功的关键。
问:Kotlin 的应用范围是否仅限于 Android?
Jake Wharton:早期很多人误以为 Kotlin 专为 Android 设计,但这并不准确。如今 Kotlin 已扩展至后端服务(如 Spring 优先支持)、iOS 应用(通过 KMP)及桌面软件(如 JetBrains Toolbox)。Android 的大规模应用反而成为了 Kotlin 走向全场景开发的催化剂。
问:目前哪些大公司在生产环境中使用 Kotlin?
Jake Wharton:Meta、Google 和 Amazon 是主要使用者。它们不仅在移动端采用,更将其应用于后端服务和开发者工具。例如,Meta recently 贡献了官方 Kotlin 格式化工具。这些巨头能迁移如此规模的代码库,证明了 Kotlin 的实力及长期投资价值。
为何离开 Google 及当前市场现状
问:为何在 Google 工作两年九个月后选择离开?
Jake Wharton:我的目标很明确:帮助 Kotlin 成为 Android 一等语言。达成目标后,我希望从基础设施建设转向产品开发,亲自使用这些工具构建面向用户的产品。虽然管理层曾批准新项目让我多留了九个月,但最终我还是决定回归产品工程,享受自己参与打造的工具带来的成果。
问:你不喜欢 Google 的哪些方面?
Jake Wharton:Android 团队非常优秀,但我担忧 Google 作为商业公司的属性。其商业模式依赖专有生态和服务,旨在将用户锁定在体系内,这与我对开放生态的追求存在冲突。
问:2025 年离职后,找新工作难度如何?
Jake Wharton:市场环境与五年前不同,不再有需求泡沫和高薪哄抢。虽然机会尚存,但需要更有针对性的努力。我并不处于绝望境地,因为我是主动离职,但对那些面临非自愿变动的工程师表示同情。市场未崩溃,只是需要更多耐心和清晰的定位。
问:目前美国高级 Kotlin 工程师的薪资范围是多少?
Jake Wharton:基本工资起薪约 20 万美元,加上股权(四年归属期,年均约 10 万美元)。但现在公司薪酬更趋谨慎。生成式 AI 领域薪资更高,但伴随高风险。现阶段我更看重稳定的现金收入,而非波动较大的股权。
问:2026 年,Kotlin 仍是职业优势吗?
Jake Wharton:Kotlin 已从“差异化技能”变为“基本门槛”。随着 Google 将其定为主要开发语言,进入该生态的开发者都会学习它。真正的竞争优势在于更深入的专业能力,如 Kotlin Multiplatform(KMP),单纯掌握 Kotlin 已不足以脱颖而出。
求职的九条准则
1. 不沾 AI
Jake Wharton:此标准淘汰了约 80% 的机会。当前很多公司强行将 LLM 塞入工作流,并未真正提升代码质量,反而引发伦理担忧(如版权侵犯)。此外,高管自上而下强制使用特定工具,破坏了健康的工程决策氛围。我拒绝参与这种生态。
2. 不沾加密货币
Jake Wharton:加密行业缺乏内在效用支撑,更像庞氏骗局,往往从散户手中榨取价值。我支持数据所有权,但反对掠夺性的加密系统。
3. 远程工作
Jake Wharton:自 2015 年起我便远程工作。虽然重视面对面交流,但拒绝每日通勤。远程提供的灵活性对平衡家庭生活至关重要。
4. 拥抱开源
Jake Wharton:开源是我职业发展的核心。现代技术建立在 Linux、Android 等开源基础之上。回馈社区,无论是发布原创项目还是维护依赖,都是维系行业互惠关系的关键。
5. 客户高于股东
Jake Wharton:反对为了股东短期利益而牺牲用户体验的“平台劣质化”行为。我更倾向于开发由可持续商业模式支持的产品。
6. 人高于利润
Jake Wharton:反对零工经济中将运营成本转嫁给独立承包商的剥削模式。我不希望构建促成此类经济模式的软件。
7. 小而专注
Jake Wharton:小团队能培养一致性、快速决策和解决雄心勃勃问题的能力。大公司易陷入官僚主义和产品臃肿,限制工程师的职责范围和创造力。
8. 多元、公平和包容(DEI)
Jake Wharton:基于地理位置或不可控特征的歧视是荒谬的。DEI 应是基本底线,而非可选项。
9. 工作与生活的平衡
Jake Wharton:不在手机上安装工作软件,不在周末审查代码。虽然个人曾习惯全天候工作,但这给初级工程师传递了有毒信号。断开连接具有巨大价值,应成为常态。
问:哪条准则让你损失最多机会?
Jake Wharton:避开风投(VC)融资的公司。这排除了约 90%-95% 的潜在机会,因为科技行业普遍依赖风投输血。坚持这一原则意味着接受降薪,但我更看重商业模式的独立性和可持续性。
如何看待 AI 裁员与代码生成?
问:Coinbase CEO 称 AI 让非技术团队也能交付代码,并据此裁员 14%,你如何看待?
Jake Wharton:这种观点短视且危险。生成式 AI 目前由风投资本补贴,一旦补贴收紧,运营成本将飙升百倍(如 GitHub Copilot 用量计费导致的账单激增)。LLM 生成代码的实际成本最终将高于被解雇的工程师。高管试图用 AI 替代工程师,短期内看似奏效,长期必将导致软件质量退化。
问:你尝试过使用 AI 智能体写代码吗?
Jake Wharton:绝不。负责任的使用是将 AI 作为辅助加速器,用于已完全理解的任务;不负责任则是用它编写超出能力范围的代码。依赖 AI 会削弱工程师的核心能力,将开发者变成一次性齿轮。当炒作泡沫破裂,行业需经历洗牌,AI 应是工具箱中的辅助,而非工程理解力的替代品。
问:如果六个月后 AI 写的代码比你更好,你的 B 计划是什么?
Jake Wharton:我会选择规模更小、状态更佳的公司,哪怕薪资略低。此外,我不认为 AI 短期内能超越经验丰富的工程师。LLM 基于统计预测,缺乏对设计决策的真正理解,且面临“模型崩溃”风险。软件开发始终需要理解系统原理的工程师。
Kotlin 的黄金时代结束了吗?
问:AI 擅长生成样板代码,是否抵消了 Kotlin 的优势?
Jake Wharton:编程最难的部分是架构构思、接口定义和业务建模,以及长期的维护,而非敲击样板代码。Kotlin 的长寿取决于其对代码库长期演进的支持,这需要复杂的工具生态和表达力强的类型系统,AI 无法解决这些核心挑战。
问:随着 Java 特性差距缩小,Kotlin 优势何在?
Jake Wharton:Kotlin 的核心优势在于空安全(Null Safety),它将可空性纳入类型系统,能在编译阶段阻止空指针错误。这是 Java 至今未能完全解决的问题。
问:Kotlin 与 Swift 相比有何优劣?
Jake Wharton:Swift 在无历史包袱、错误处理机制(一等公民)及内存表示(结构体、连续内存)方面优于 Kotlin。但 Kotlin 在生态系统、开源库及工具链(IntelliJ IDEA、Android Studio)上遥遥领先。Xcode 在重构大型代码库时的体验远不如 IntelliJ。Kotlin 的优势在于其周围成熟的开发生态。
问:哪种语言处理错误最好?
Jake Wharton:Rust 做得最好。它直接在类型系统中表示可选性和易错性,强迫开发者直面所有权和资源生命周期,这与严谨的工程实践完美契合。
问:什么场景下你不会使用 Kotlin?
Jake Wharton:内存受限的嵌入式设备(Kotlin 太重)以及从零开始的 Web 开发(Compose HTML 不够原生)。Kotlin 在 Web 上的优势仅在于共享现有逻辑。
个人开发习惯与经验
问:你的开发环境配置是什么?
Jake Wharton:极简主义。原版 IntelliJ IDEA 或 Android Studio,极少插件(主要是 SQLDelight)。终端使用 Ghostty,浏览器使用 Firefox。
问:为何选择 Firefox 而非 Chrome?
Jake Wharton:出于伦理考量。Chrome 占据过多市场份额,对 Web 生态系统形成强权压迫,而非建设性参与。
问:如何保持职业热情避免倦怠?
Jake Wharton:将好奇心转向其他领域,如构建定制硬件、学习不同编程语言(Swift、Rust、Zig 等)。学习不同语言能拓宽心智模型,反哺日常工作。例如,Rust 的所有权概念能帮助发现架构风险,底层语言知识有助于理解性能差异。
关于开源生态
问:Kotlin 在开源生态系统中的地位如何?
Jake Wharton:Kotlin 受益于与 Java 生态的双向互操作。JetBrains 选择完全公开开发语言和编译器,使其生态迅速繁荣。Kotlin Multiplatform 成熟后,跨平台库层出不穷,使其成为最健康的生态系统之一。
问:如何看待开源依赖的风险及管理?
Jake Wharton:引入开源库即承担全部责任。开发者应以“主人翁精神”对待依赖,积极修复 Bug 并向上游贡献。共享的开源代码库代表了累积的集体工程智慧,是 AI 生成代码无法复制的。
问:公司投资开源的动机是什么?
Jake Wharton:开源带来巨大的招聘和声誉价值,标志成熟的工程文化。虽然量化回报有挑战,但展示高质量作品能激发工程师的成就感。理想的模式是企业通过资金或工程时间回馈关键项目的维护者,确保持续发展。
Kotlin 的未来展望
问:Kotlin 首席设计师离开后,语言还能成功演进吗?
Jake Wharton:语言的生命力必须超越创造者。Kotlin 已建立完善的治理机制,不再依赖单一“独裁者”。JetBrains、Google 和社区三方共同主导,通过 Kotlin 基金会避免单方控制,确保长期稳定发展。
问:你对 Kotlin 的发展有何影响?
Jake Wharton:我推动了一些特性的方向,如让 when 表达式默认穷举。JetBrains 的设计选择始终与我的价值观一致:提供编译器级别的安全保障,同时赋予工程师灵活性。社区积极参与提案反馈,共同塑造语言未来。
问:如果 Kotlin 消失,你会失去什么?
Jake Wharton:我大概会丢掉饭碗。我将职业生涯与 Kotlin 绑定,希望它能持续发展。若未来编程范式发生根本转变,Kotlin 不再适用,那也是自然演进的结果。

