Jake Wharton谈拒AI求职与Kotlin发展

曾经被称为“Android之神”的开发者Jake Wharton,在2025年离职后公布了一份严苛的求职清单,其中第一条就明确拒绝加入AI公司、不做以AI为核心的产品,也不接受公司强制使用AI工具。他坦言,这一条款直接让他放弃了约80%的潜在工作机会,但他依然将“远离AI”作为首要选择。
作为Android开源社区的标志性人物,Jake Wharton参与打造了Retrofit、OkHttp、Picasso等广为人知的开源项目,后来加入Google成为Kotlin团队的首位工程师,推动了Kotlin成为Android官方开发语言的进程。2020年他回到Square,在Cash App团队工作,直到2025年的行业裁员潮中离职。
当初加入Google时,他原本计划只待两年,目标是帮助Kotlin成为Android的一等开发语言,让自己之后可以放心使用这门语言。虽然他享受构建工具和底层库的工作,但更希望将自己的成果应用到面向用户的产品开发中。在完成既定目标后,他原本准备离职,又因管理层批准了一个心仪的项目多留了九个月,最终还是选择回到产品开发岗位。他也提到对Google庞大组织的担忧,尤其是其依赖专有生态、将用户留在体系内的商业模式。
Kotlin的崛起并非偶然。在Java发展停滞的时期,Oracle接管后的Java发布周期长达两年,Google团队只能依赖有限的语言功能,社区开始寻找更现代的替代语言,Scala、Groovy等都是当时的尝试者。JetBrains作为工具公司,能够将新语言与IDE及周边基础设施一同交付,同时保留Java生态的兼容性,让开发者可以渐进式迁移代码,这成为Kotlin的核心优势。Jake曾在Square内部撰写文档论证Kotlin的价值,并将其公开,这份文档在社区引发广泛关注,也让他成为Kotlin推广的核心人物,最终获得了加入Google团队的机会。
Android团队最初对Kotlin抱有疑虑,毕竟他们已经基于Java构建了十余年的全栈生态,转向一门相对年轻的语言需要承担风险。Google采取了谨慎的渐进式策略,没有立刻重写现有Java库,而是先为Kotlin开发配套的工具库。随着时间推移,Kotlin的应用场景从Android扩展到后端服务,Spring框架也正式提供Kotlin优先支持,JetBrains的Kotlin Multiplatform项目让Kotlin覆盖了iOS和桌面开发场景,Android反而成为Kotlin走向更广泛开发领域的跳板。Meta、Google、Amazon等巨头都将Kotlin应用到移动端和后端服务中,甚至Meta还向Kotlin基金会贡献了官方格式化工具。
离职后找工作的过程并不轻松,Jake表示当前的市场和五年前的需求泡沫时期不同,高级Kotlin工程师的基本工资起薪约20万美元,加上四年归属期的股权激励,每年约有10万美元的股权收益,但现在公司在薪酬上更加谨慎,高风险的AI岗位薪酬更高但波动更大。他更倾向于稳定的可预期收入,而非高风险的股权回报。
他的9条求职要求覆盖了工作的方方面面,每一条都体现了他对职业和行业的思考:
1. 远离AI:拒绝AI公司、基于AI的产品,以及强制使用AI工具。他认为当前行业正将LLM强行塞进工作流和产品中,很多时候并不适配。软件质量并没有因为AI工具出现明显提升,AI工具也无法本质上提升代码质量,反而存在伦理问题——AI模型训练依赖抓取受版权保护的内容,这和开源社区的共享精神相悖。同时,AI工具的采用多是自上而下的管理层指令,而非工程师自主选择,这会破坏健康的工作氛围。
2. 远离加密货币:他认为加密行业很大程度上是缺乏内在价值的庞氏骗局,虽然支持数据所有权和个人自主权,但加密货币已经演变成从散户手中榨取价值的掠夺性系统。
3. 远程工作:他从2015年开始远程工作,虽然重视面对面交流,但不愿回到需要固定通勤的办公室模式,有了孩子后,工作与家庭的平衡变得更加重要。
4. 支持开源:开源对他的职业发展至关重要,现代技术生态建立在开源之上,回馈开源社区是维系行业发展的重要部分,他也希望在工作中参与或发布开源项目。
5. 客户优先于股东:很多消费级软件的更新只是为了满足股东短期利益,移除功能、设置付费墙,他更希望开发以客户价值为核心的产品,而非通过激进手段榨取用户价值。
6. 以人为本而非利润:反对零工经济那种将运营成本转移给独立承包商的模式,他不希望参与构建这种剥削性的软件系统。
7. 小而专注的团队:小团队能够培养快速决策和一致的团队文化,他在Square早期的小团队时期工作体验最佳,而大公司容易出现官僚主义和产品臃肿,工程师的职责范围也会变得过于狭窄。
8. 重视多元公平包容:他认为不同地域、背景的工程师应该获得平等的机会,反对基于无法控制的特征进行歧视,DEI不仅仅是口号,而是行业的基本底线。
9. 保持工作生活平衡:他早年曾认为深夜审查代码是正常的,但后来意识到这会给初级工程师传递错误的信号,他希望工作和生活完全分离,手机上不安装工作相关的聊天和代码审查工具,下班后彻底断开工作连接。
对于Coinbase用AI裁员14%并声称“非技术团队也能交付生产代码”的言论,Jake并不认可这家公司,认为其违背了大部分求职准则。他指出,生成式AI领域依赖风险资本补贴,比如GitHub Copilot从每月30美元涨到1400美元,这种价格通胀会让依赖LLM的公司运营成本飙升,所谓用AI替代工程师的说法会不攻自破,AI生成代码的最终成本会高于被解雇的工程师。同时,负责任地使用AI是将其作为辅助工具加速已知任务,而非让非技术人员通过提示词生成自己无法维护的代码,这种做法会导致软件质量长期退化。
他从未尝试过使用AI智能体写代码,他认为科技行业过去因为高薪福利抗拒成立工会,而现在资本收缩,员工很容易被抛弃。依赖AI工具会让开发者失去对代码的掌控权,变成可替代的齿轮,一旦Token价格暴涨,依赖AI工具的工程师会无法胜任工作。他希望当AI炒作泡沫破裂时,行业能够洗牌,让AI回归辅助工具的定位,而不是替代工程师的核心能力。
当被问到AI是否抵消了Kotlin减少样板代码的优势时,Jake引用Java架构师Brian Goetz的观点:代码被阅读的次数是编写次数的十倍。减少样板代码只是Kotlin的表面优势,编程最难的部分是架构设计、接口定义和长期维护,这些才是软件工程的核心挑战,AI生成样板代码只能解决表面问题,无法解决这些核心挑战。
随着Java引入records和sealed classes等特性,两门语言的特性差距正在缩小,Java能够直接更新JVM字节码,而Kotlin需要兼容Android的Java 1.6字节码,这是Kotlin的一大限制。Kotlin最大的优势是空安全机制,将可空性纳入类型系统,在编译阶段就避免空指针错误,这依然是Kotlin相比Java的核心优势。
当被问到Swift和Kotlin的对比时,他认为Swift没有历史包袱,能够从零设计语言特性和编译策略,错误处理是一等特性,而Kotlin的异常处理形同虚设;Swift的内存表示更优,能够生成紧凑的原生代码,而Kotlin继承了JVM的堆内存模型,存在性能瓶颈。不过Kotlin也有自己的优势,比如对Java生态的兼容性,让开发者可以渐进式迁移。
Jake表示,即便未来AI能够写出比他更好的代码,他依然会选择规模更小的公司,牺牲一部分收入换取理想的工作状态。他并不认为AI会在短期内超越有经验的工程师,LLM的训练数据存在模型崩溃的问题,且本质上只是统计预测系统,无法真正理解代码设计的背后逻辑。软件开发始终需要真正理解系统运行原理的工程师,这一点不会因为工具的变化而改变。

