Kotlin“J神”两小时争议访谈:我宁愿失去80%的工作机会,也坚决不用AI编程
在软件行业普遍押注人工智能的当下,公开宣称“坚决不用AI编程”,几乎等同于主动缩小自己的职业发展空间。
但Jake Wharton还是这么做了。
这位被国内开发者称为“J神”的Android与Kotlin开源大神,在寻找新工作时列出了九项择业标准,其中第一条就是:不加入AI公司,不参与以AI为核心的产品,也不接受公司强制工程师使用AI。按照他的估算,这一要求直接排除了约80%的潜在雇主。
Wharton并非没有选择。他称,目前美国资深Kotlin工程师的基本年薪通常从20万美元起,还可能获得每年约10万美元、分四年归属的股权。进入AI等热门行业,回报可能更高,但风险也更大。年轻时,他愿意用股权押注未来;现在,他更看重稳定的现金收入,以及选择雇主的自由。
这种态度也延续了他离开大公司的原因。Wharton承认,Google的Android团队非常优秀,但他不喜欢Google通过产品和服务将用户锁定在自有生态。公司规模扩大后,官僚主义增加、产品迭代放缓,管理层也更急于寻找新用户和收入。相比之下,他更愿意留在目标明确的小团队。
Wharton对硅谷风口的态度近乎尖锐。他认为,加密货币“基本上已经变成了一种庞氏骗局”,没有创造多少真实价值;而大语言模型不仅伴随着版权和开源许可证争议,也正在以一种反常的方式进入软件开发:过去,新语言、新IDE和新工具通常由工程师自下而上推动,如今却是管理层绕过工程判断,要求所有人必须使用AI。
他至今没有使用过AI Agent写代码。在他看来,AI可以帮助工程师处理重复劳动,但最不负责任的用法,是让AI生成超出使用者能力范围的代码。如果没有大模型就无法完成任务,开发者往往也无法真正理解、验证和维护结果。一旦形成依赖,工程师交出去的不只是部分工作,还包括自己的能力和议价权,最终可能变成一枚更容易被低成本替换的齿轮。
Wharton并不认为AI会消失,也不担心程序员很快失去位置。“AI已经强大得令人不安”,但这并不意味着它能够稳定、无误地承担整个软件工程过程。对他而言,AI最多只能是工具箱中的一件工具,而不能成为工程能力的地基。
从拒绝AI、质疑加密货币,到讨论Kotlin是否仍有优势、为什么更喜欢Rust,下面是Jake Wharton在近期的一场两小时访谈中的完整回答。

1 Kotlin像是“Java十年后想要成为的样子”
主持人:Java当年已经是全球最主流的编程语言,Android也建立在Java之上,为什么还需要Kotlin?
Jake Wharton:Kotlin出现时,Java语言的发展正处于一个相对停滞的阶段。当时Oracle正在逐步接手Java,版本发布周期仍然长达两年。对于Android团队来说,能够使用的语言特性很大程度上受限于Java本身。
与此同时,Java生态之外的编程语言正在快速演进,出现了许多开发者想要的新特性。社区也开始尝试其他选择,有人使用Scala,也有人使用Groovy。大家都在期待一种更加现代的语言,Kotlin正好出现在这个时间点。
JetBrains本身是一家开发工具公司,因此能够在推出新语言的同时,提供IDE和周边基础设施。这让Kotlin比那些需要从零建立工具链的语言更容易被开发者接受。
更重要的是,采用Kotlin并不意味着抛弃原有的Java代码和库。开发者可以继续使用已有的Java生态,在原有项目中逐步引入Kotlin,再慢慢完成迁移。这种渐进式兼容能力,是Kotlin得以普及的重要原因。
主持人:你后来成为了Google Kotlin团队的第一位工程师,这个机会是怎么来的?
Jake Wharton:在加入Google之前,我已经在Square工作了五六年。大约在那之前三年,我们开始在公司内部采用Kotlin。
为了获得公司批准,我写过一份文档,解释为什么我们应该使用Kotlin。由于其中的论证并不只适用于Square,我后来将这份文档公开了。它在一定程度上推动了Android社区对Kotlin的兴趣,我也因此越来越深入地参与Kotlin相关工作,并不断向开发者推广这门语言。
随着社区关注度上升,Google内部的一些人也逐渐意识到,Kotlin可能会给Android开发带来很大帮助。当时我认识的一些Google员工开始暗示,Google可能会正式支持Kotlin,并询问我是否愿意参与。
对我来说,没有什么比加入负责整个Android工具链的公司,并推动Kotlin成为Android官方一等语言更大的认可了。这个机会几乎不可能拒绝。
主持人:Google Android团队当时对采用Kotlin有没有抵触?
Jake Wharton:与其说是抵触,不如说是谨慎。当时Android已经围绕Java构建了大约十到十二年,Java深入整个技术栈,团队对它也非常熟悉。相比之下,Kotlin还是一门相对年轻、尚未得到充分验证的语言,大概只稳定了一两年。
因此,采用Kotlin确实存在风险,团队内部也有顾虑。Google并非完全厌恶风险,但必须确认各方面都考虑周全。
Kotlin的引入过程非常审慎,并不是一夜之间完成硬切换。Android团队最初会为Kotlin单独构建配套库,而不是立即用Kotlin重写已有的Java库。开发团队也不需要一次性改造整个代码库,而是可以逐步采用。
从另一个角度看,这也证明了Kotlin对Java传统的尊重。它允许开发者在不推翻现有系统的情况下慢慢迁移。
主持人:Kotlin是否只是一门用于Android开发的语言?
Jake Wharton:最初几年,由于Kotlin在Android社区获得了大量支持,外界形成了一种错误印象,认为它是一门专门为Android设计的语言。当时甚至出现过文章,声称Kotlin是Google为Android创造的,这显然并不正确。
后来,Kotlin开始进入更多领域。过去可能会使用Java构建的后端服务,现在也越来越多地采用Kotlin。Spring等公司提供的许多能力,也开始优先考虑Kotlin。
JetBrains还在持续推动Kotlin Multiplatform,因此现在也能在iOS和桌面应用中看到Kotlin。比如用于管理和安装JetBrains IDE的Toolbox App,就是一个使用Kotlin构建的桌面应用。
Android更像是Kotlin进入其他生态的催化剂。以Square为例,我们最初只获准在Android项目中使用Kotlin。但后端的Java工程师看到移动团队对Kotlin的热情后,也开始希望使用它。后来,Kotlin逐步被批准用于后端服务。
主持人:如果让你用一分钟向Java开发者推荐Kotlin,你会怎么说?
Jake Wharton:Kotlin很像是“Java十年后想要成为的样子”。
Java必须尽量避免破坏已有代码,因此语言演进速度相对缓慢。很多未来可能进入Java的现代语言特性,现在已经可以在Kotlin中使用。
采用Kotlin也不要求项目运行在最新版本的JVM上。现实中还有许多代码库停留在Java 8或Java 11,Kotlin同样兼容这些环境。开发者可以在较老的JVM上,使用更现代的语言能力。
主持人:现在有哪些大型公司在生产环境中使用Kotlin?
Jake Wharton:Meta、Google和Amazon都在使用Kotlin。最初的应用主要集中在移动端,但现在后端服务也越来越多地采用Kotlin。
这些公司还在投入相关工具。例如,就在我们录制这期节目这一周,Meta将自己的Kotlin格式化工具贡献给了Kotlin Foundation,它未来可能成为Kotlin官方的格式化工具。
这些公司拥有世界上规模最大的代码库。它们能够在既有语言和系统之上逐步引入Kotlin,并且愿意进行长期投入,本身就是对这门语言的一种验证。
2 谷歌令人生厌之处——把用户锁在自家生态里
主持人:Google是很多工程师心目中的理想雇主,你为什么工作两年九个月后就离开了?
Jake Wharton:加入Google之前,我在Cash App工作。我们推动了Kotlin的采用,也用Kotlin编写了不少开源库。后来Google决定让Kotlin成为Android官方语言,这个机会实在太难得了。
不过,我加入时就对同事说,我大概会离开办公室两年。我的计划是帮助Kotlin成为Android的一等语言,尽可能推动它取得成功,让自己以后能够放心地依赖这门语言,然后再回到一线,用这些工具真正构建产品。
我喜欢开发工具和库,但不想永远只做工具。我也希望成为这些工具的使用者,并真正享受到前期投入带来的价值。
两年期满时,我原本准备离开,但Google恰好批准了另一个我很想做的项目,于是又留下来工作了九个月。最终,我认为自己已经完成了当初的目标,因此决定回到产品开发。
主持人:你不喜欢Google的哪些地方?
Jake Wharton:Google是一家规模非常大的公司。Android团队相对独立,我在那里遇到的同事也都非常优秀,我至今仍然怀念那段工作。
但我对Google这家公司的一些做法存在意见,例如它会通过产品和服务将用户锁定在自己的生态系统中。不过,这些看法主要针对Google作为一家公司的运作方式,并不是针对Android团队。
主持人:你在2025年离开Cash App时,科技行业正经历大规模裁员。那时找工作有多难?
Jake Wharton: 找工作并不轻松,但市场上并非完全没有机会。我对下一份工作有一些具体要求,因此选择比较谨慎。
我比较幸运,是按照自己的计划主动离职,没有必须立刻找到工作的压力。但现在的就业市场,确实已经不像五年前。那时一名Android开发者可能很容易就被公司招走,并获得非常高的薪酬。
现在,求职需要投入更多精力,花费更长时间,也必须想办法证明自己的差异化价值。我非常理解那些被迫进入求职市场的工程师所面对的压力。不过,我不认为整个市场已经彻底崩溃,工作机会依然存在,只是更难找了。
主持人:目前美国资深Kotlin工程师的薪酬大概是多少?
Jake Wharton: 我通常看到的基本工资是20万美元起,此外还可能包括股权,例如每年约10万美元的股权,按照四年归属。
当然,低于这个水平的职位也有很多。如今公司会更加谨慎地考虑资金流向,不再像以前那样普遍支付极高的薪酬。
如果希望获得更高回报,就可能需要进入当前最受关注、潜在收益更高的技术领域。这类公司给出的现金和股权可能更多,但风险也更大:股权可能归零,也可能增长十倍。
最终,这取决于个人所处的人生阶段和风险承受能力。年轻时,我愿意承担这种风险;但现在,我更倾向于获得稳定、可预期的现金收入。
主持人:到了2026年,掌握Kotlin还能给软件工程师带来职业优势吗?
Jake Wharton: 我不确定它现在还能算是一项优势。从某种意义上说,这反而体现了Kotlin的成功:它已经成为一项默认要求,而不再是一种稀缺、难以找到的能力。
这主要源于Google将Kotlin确立为Android的官方一等语言。如今进入Android开发领域,通常就会直接学习Kotlin,用人单位也默认求职者已经掌握它。Jetpack Compose同样如此:大约四年前,它可能还是一项相对少见的技能,现在已经逐渐成为默认要求。
如果开发者掌握的不只是常规Kotlin,而是Kotlin Multiplatform等相对进阶的能力,那么它仍然可能构成差异化优势,让你从其他Kotlin开发者中脱颖而出。但仅仅“会Kotlin”,已经很难成为明显的职业加分项,因为它实在太普及了。
3 为什么拒绝使用AI编程?
主持人:你在寻找下一份工作时,公开列出了对未来雇主的九项要求,其中第一条就是“不去AI公司、不做以AI为基础的产品,也不接受公司强制使用AI开发”。为什么这一点对你如此重要?
Jake Wharton:它被放在第一位是有原因的。这可能是我找工作时最看重的一项标准。
我们正处在一个快速变化的时期,不仅软件开发方式在变,许多公司也在强行把AI——更准确地说是大语言模型——塞进一些原本可能并不需要它的地方。
我不认为过去几年软件的整体质量得到了提高,也不认为这类工具长期来看会改善软件质量。但一些公司高管看到的却是另一幅图景:他们认为AI可以让工程师工作得更快,并产出质量更高的代码。我的判断恰恰相反。
除此之外,我对这些工具背后的伦理问题也有很大意见。在我看来,它们建立在大规模使用受版权保护内容的基础上。模型训练忽视了艺术家的版权,也忽视了开源代码的许可证。能够在网上访问一项内容,并不意味着你就拥有重新组合、改写它,甚至逐字输出它的权利。
因此,我不想与这些事情产生关联。只是现在想完全避开AI已经越来越困难,所以我把这一要求放在首位。它也直接排除了大约80%我原本可能加入的公司。
主持人:除了版权和软件质量,你反对的是否还有公司强制工程师使用AI的方式?
Jake Wharton: 是的。传统上,一项开发工具通常由工程师自下而上推动。
可能是一名工程师喜欢上一门新语言,比如Kotlin;也可能是一款新IDE,比如IntelliJ IDEA;或者是一套新的构建系统。工程师在实际工作中发现它有价值,热情逐渐感染其他人,然后大家再去说服工程管理者批准采用它。
但AI工具的推广方向似乎完全相反。为什么要由一家公司的CEO告诉工程师,日常工作应该使用什么工具?
公司领导通常不会直接要求你必须使用静态类型语言,也不会决定你应该如何利用类型系统表达业务需求,或者如何处理空值。这些原本都是工程决策。工程师了解业务需求,再选择能够有效完成工作的工具。
如果Jack Dorsey当时要求我必须使用Eclipse,我可能同样会辞职。问题不只在于AI,而在于公司管理层越过工程判断,强制开发者使用某一种工具。
主持人:为什么管理层强推AI,会让你联想到科技行业的裁员?
Jake Wharton:如果只是要求使用某种工具,或许还是一个可以单独讨论的问题。但当强制使用AI与一轮又一轮裁员同时发生时,整件事看起来就不那么乐观了。
我可以作出个人选择,决定不使用这些工具。我也认为,很多全力投入AI的公司是在争抢市场、追逐现金和用户。趁市场火热进入这个领域,从商业角度并不难理解:资金和用户在哪里,公司就会去哪里。
但我比较幸运。经过多年工作,我现在有能力按照自己的价值观选择雇主,并不是所有人都有这样的条件。拒绝AI让我失去了大量潜在机会,但这是目前对我而言最重要的标准,所以我愿意接受这个结果。
主持人:你的第二项择业标准是不加入加密货币公司。你反对的是密码学,还是加密货币?
Jake Wharton:密码学是一项有价值的技术,但我不认同加密货币。在大语言模型之前,加密货币是科技行业最受追捧的方向之一,Square和Cash App当时也大举投入其中。
在我看来,加密货币基本上已经变成了一种庞氏骗局,没有创造多少真实价值。这似乎与我对“所有权”的重视相矛盾——我当然支持人们真正拥有自己的资产,不受其他机构控制,但加密货币的问题出在具体实现上。
它最终形成了一个带有掠夺性的系统。真正赚到钱的,往往是利用其他参与者获利的人,或者是在上面搭建业务、不断从客户身上抽取价值的公司。这是我不希望参与的一类行业。
主持人:你希望未来的雇主既使用开源软件,也将自己的项目开源。为什么?
Jake Wharton:我在成长为一名开发者的过程中,几乎一直在接触开源。学习新技术、研究别人如何编写软件时,我首先会去看开源项目。所以对我来说,尝试或构建一项新东西时,默认选择就是把它公开。
后来我加入Square,我们也成功地将大量技术成果开源。几乎每家公司都建立在他人工作的基础之上。如果一家企业愿意开源自己的成果,或者为其他开源项目作出贡献,这就是一种回馈,也是把自己获得的帮助传递给后来者。
企业不需要从头构建Linux、Android、SQLite或者JVM,因为前人已经完成了这些工作。同样,你今天公开的项目,也可能成为下一家公司或下一代开发者的基础。
主持人:你的另一项要求是公司“小而专注”。为什么你认为做好一件事,比试图服务所有人更重要?
Jake Wharton:我职业生涯中最好的阶段之一,是早期加入Square并参与构建Cash App的时候。那时公司规模还很小,大家彼此认识,也能围绕一个愿景迅速执行。团队甚至会带着一点天真,相信自己能够做出很多东西。
我加入Square时,公司大约有200人;后来离开Cash App时,公司已经增长到约1.2万人。
Google的规模还要再大一个数量级。公司不断扩大以后,官僚主义随之增加,产品迭代开始放缓,管理层也会越来越急于寻找能够带来新用户和新收入的方向。
相比之下,小团队更容易保持目标的纯粹性,找到一个明确的问题并把它做好。
主持人:大公司除了效率下降,对工程师个人还有什么影响?
Jake Wharton:公司规模越大,工程师的职责往往越狭窄。我听说过一位Twitter工程师,长期负责的几乎只是私信界面中的一小部分。当一个人的工作范围被切割得如此细,他就很难再体验产品开发的其他环节。
我喜欢参与不同类型的工作,在一个产品内部不断切换问题。小团队能给工程师更多这样的空间,同时也会带来更多学习机会。
当团队规模较小时,不会有一个50人的专门团队替你解决某类问题。你不能只是把需求扔给另一个部门,再等两个月接收结果,而是必须走出舒适区,亲自动手学习和解决问题。对我来说,这种广度和成长机会非常重要。
主持人:经过三个月求职,你在2026年2月加入Skylight。这家公司为什么能说服你?
Jake Wharton: Skylight符合前面提到的许多价值观,更重要的是,我自己就是它的目标用户。
它面向家庭提供硬件产品,而我有家庭,也确实存在相应的使用需求。我一直希望接触更多硬件开发,这份工作正好提供了机会。它与Android有关,但又包含许多我以前没有深入做过的事情,例如AOSP和真实硬件设备。
Skylight的应用不通过Google Play商店分发,因此我们拥有更大的系统控制权,不必处理Google Play体系中的许多问题。这对我而言也是一个有吸引力的新领域。
此外,公司已经获得融资,也有实际收入。我认识Nova Launcher的作者Kevin Barry,他比我早大约半年加入Skylight。他的选择也增强了我对这家公司的信心。
Skylight是我求职期间最先接触的公司,后来它反而成了衡量其他机会的标准。市场上并非没有其他优秀公司,但没有一家像它这样完整地满足我的要求。
主持人:Skylight同样使用大语言模型,这是否违背了你“不加入AI公司”的原则?
Jake Wharton:我不认为自己作出了实质性妥协。
Skylight此前没有做过太多开源工作,但公司愿意尝试,也接受我继续维护已有的开源项目,其中一些项目本身就在产品中使用。
它确实使用了大语言模型,但整个产品并不是围绕AI建立的。AI功能是可选的,用户完全可以不用;它也没有为了追赶潮流,把整个产品改造成聊天机器人。
我认为,公司对AI的使用相对克制,也确实用在了合适的位置。我加入以后,也希望继续把自己的这些价值观带进团队。这与加入一家以AI为核心、要求所有工程师依赖AI开发的公司并不是一回事。
4 让非技术人员用AI编写代码,是进步还是风险?
**主持人:Coinbase裁减14%

想了解更多今年会体育相关内容,尽在今年会官网。