公开文章
在外企停滞的第五年
在外企停滞的第五年,我开始担心自己跟不上了
① 那通无奈又体面的绩效沟通
大家好,我是唐人,今年 33 岁。
做 Android 开发整整十年,目前在一家外企做移动端研发。这家公司,我已经待了五年。
前段时间刚好经历了一年一度的绩效沟通。会议室里,领导非常诚恳地对我说: “唐人,你今年的表现没有任何问题,产出很稳定,团队对你的认可度也很高。不过因为公司整体的预算大盘和分配机制,今年总要有人在最终的调薪和奖金系数上做出一些妥协,晋升目前也没有新增的名额。”
我听完稍微沉默了几秒,笑了笑回了一句:“OK,理解。”
会议很快、也很体面地结束了。
挂掉会议软件,我看了一眼当天的需求看板。上午的一个优化需求已经提测,CI 打包顺利通过,下午暂时没有新的紧急ticket。
办公室里极其安静,甚至能听到中央空调轻微的换风声。
老实说,面对领导的“夸赞式妥协”,你要说心里毫无波澜肯定是假的。大家都清楚,这并不是技术能力的否定,而是整条业务线在企业顶层架构下进入存量博弈时的无奈缩影。
这大概就是我现在最真实的状态:工作并不超负荷,福利和节奏很人性化,但作为一名 33 岁的资深开发者,看着天花板近在咫尺,心里总隐隐升起一丝对未来断层的警惕。

清闲与弹性是职场极其珍贵的缓冲垫,但也是最容易让人麻痹的温床。在业务平稳的岁月里,保持清醒的行业嗅觉,比埋头苦干更重要。
② 为什么明明知道停滞,却留了五年?
经常有朋友问我:“既然外企大盘收缩、职级晋升变慢,为什么一待就是五年不走?”
原因没那么复杂,也不是因为我失去了跳槽的胆量,而是因为一份极度现实的“生活性价比”。
这五年里,公司提供了很多互联网大厂难以企及的弹性福利——最核心的一点,就是一周能够有两天远程居家办公(WFH)。 在如今动辄单双休、晚上九十点下班的环境里,这种能够每周两天不用挤早晚高峰、能兼顾家庭生活的节奏,的确是一份让人极难割舍的稳定感。
但稳定的背面,就是薪资曲线和成长曲线的“平台期”。
除了早入职时期的常规薪资调整外,这几年我的工资和职级几乎长期停留在原地。新开的颠覆性项目越来越少,手头日常负责的,大多是稳住基本盘的维护性需求:改改入口、补齐埋点、升级第三方 SDK 兼容性、处理一下线上的偶发反馈。
其实我在这期间,并不没有尝试过自我破局和延伸。
前几年,公司内部尝试过移动端跨端开发,我跟着团队一起踩坑、钻研过 Flutter。虽然那个项目最终因为业务方向调整和架构复杂性没能继续推进,但我全程经历了一项技术从狂热到降温的完整生命周期。
再后来,公司急需后端和业务层的人手,我也二话不说主动申请跨界,转去做了一段时间的全栈开发。直到后来 Android 核心组业务繁忙、移动端基建人手吃紧,领导又将我调回原组扛住核心基本盘,一直做到了现在。
从 Android 到跨端 Flutter,再到全栈开发,我能很自信地说:论动手能力、技术广度以及对团队的贡献,在团队里也算是一个能随时顶上去、靠得住的developer。
但恰恰是这种“靠得住”,变成了一种温水煮青蛙的循环。你把现在的基本盘稳得越好,你就越被固定在这个位置上;而这个位置本身,在整个移动互联网大潮流的放缓中,已经不再向上生长。

真正的困境,从来不是因为我们失去了解决复杂问题的能力,而是当一整个时代的大行业进入存量期后,再优秀的个体也很难单凭一己之力拉出陡峭的上升曲线。
③ 十年移动端老兵,真的被 Claude code 三分钟取代了?
如果说大环境的收缩只是让人感慨,那么 AI 工具的爆发,则是真正带给每一位资深工程师心灵上的冲击。
真正让我第一次陷入沉思的,是前阵子我用 Claude code 去写一段业务里的 RecyclerView Adapter 代码。
老 Android 都知道,这种逻辑我们在过去十年里手搓过成千上万遍:定义数据结构、布局映射、写 ViewHolder、处理点击事件与列表更新。即便闭着眼睛写,完整敲完再联调通过,少说也要半小时。
而那天,我把接口字段和交互逻辑当作 Prompt 喂给 AI。仅仅过了不到三分钟,一整套结构清晰、命名规范的代码直接生成完毕,放进工程里一键联调,顺畅跑通。
看着屏幕上瞬间弹出的完美列表,我没觉得狂喜,反而在工位上稍微愣了愣神。
脑子里冒出来的思考极其清晰:如果写具体业务语法、搬运样板代码这些基本功,AI 一次能提速 10 倍,那么一家成熟的公司,未来到底还需要多少个纯写代码的打字员?
当然,经过这半年的深度实测,我非常清楚 AI 远非神话。
有时候它写出的代码表面优雅,但在处理复杂的多线程并发、极端低版本系统兼容,或是大工程历史债务的解耦时,往往会丢三落四。如果你不加鉴别地直接合进主干,反而会在测试阶段暴露出更多隐蔽且难以复现的边界 Bug。
所以,我认为所谓的“AI 明天就淘汰程序员”,纯属外行的贩卖焦虑。
但是,AI 正在彻底重塑我们写了十年的工作流,这是一个不争的事实。当普通业务代码的生产成本无限趋近于零,资深工程师过去积攒的“手熟”红利,确实在以肉眼可见的速度遭到稀释。

AI 绝不会直接淘汰一个懂业务架构的资深开发者,但它一定会淘汰那些只会被动把需求翻译成语法、不再主动思考业务闭环的纯打字员。
④ 33 岁,不是绝望,而是一次必须面对的“去魅与重塑”
很多人写职业随笔,写到这里往往容易走向极端——要么痛哭流涕大喊中年危机,要么激情澎湃劝大家立马辞职去干 AI 创业。
这两种我都不会选。因为到了 33 岁,我们早过了凭一腔热血冲动做决定的年纪。
我有房贷需要按时还,有家庭和生活需要守护,有一份能够每周两天 WFH、提供良好生活弹性与收入保障的体面工作。这时候胡乱裸辞、盲目转行,不是勇敢,而是对生活的不负责任。
真正理智的思考,是在接纳现实的前提下,做力所能及的认知拓展和筹码重塑。
回头仔细盘点自己这十几年的经历:写过无数 Android 底层优化,折腾过跨端 Flutter 架构,也涉猎过全栈后端开发。在这个过程中我懂得了,技术语言和框架从来只是一件工具,我们真正赖以生存的核心资产,是对复杂系统的拆解能力、对线上稳定性的把控,以及用技术解决真实业务问题的工程思维。
在今天这个节点,我们不必过分神话 AI,更不用自我贬低。
AI 能在三分钟里生成一版漂亮的 Adapter,但它并不知道为什么这个界面要以这种交互展示,不知道新旧服务端接口调用的性能边界在哪里,更不知道在特定机型出现内存泄漏时,如何凭着十年的工程直觉在几秒内锁定根本原因。
这些需要历史沉淀、业务语境与工程直觉的地方,正是我们这群“大龄老兵”无法被随意替换的真正护城河。

焦虑的本源,从来不是因为我们来到了 33 岁,而是我们害怕自己在不断变化的世界前失去主动学习的欲望。看清现在的处境,手上有牌,心里才能有底。
⑤ 告别被动等待,在工位上把 AI 变成自己的“控制台”
与其每天在网上刷着年龄裁员的焦虑帖子自我内耗,不如直接把危机感变成行动力。
最近我做的,不过是在日常那份“并不算极度繁忙”的外企工位上,做了一些微小但坚定的改变:
- 彻底交出“写样板代码”的执念:工作中所有基础 UI、常规列表、实体类映射等耗时但低技术含量的苦力活,全部交由 Cursor 和 AI 工具链生成。把省下来的 70% 精力,全盘投入到系统架构评估、异常兜底和复杂业务解耦上。
- 把过去十年的多栈经验“智能体化”:之前搞 Flutter 和全栈开发的经验并没有浪费。我开始在本地尝试用 AI 工具把前端、客户端与服务端的数据接口串联起来。一个人加一个 AI 辅助编队,实际上已经可以高效推进一个小型的全栈专案。
- 摆正与大厂工作的关系:拿好那份支撑家庭的稳定薪水,好好享受每周两天的居家办公福利,同时把剩余的精力专注用在技术认知的迭代和自媒体写作等个人 IP 的探索上。
那天绩效会议结束的下午,我最后没有去打开招聘软件乱投一通简历,也没有去钻牛角尖因为“未调薪”而陷入垂头丧气的低潮。
我在终端里敲下了新建目录的指令,把最新的大模型工具调用链,一步步接入了我熟悉的移动端项目和日常脚本中。
停滞或许是外企大盘的常态,但作为个体,只要你的认知和工具链还走在迭代的路上,你就永远不可能真正被这个时代甩在身后。
如果你也和我一样,是一群正处在 30 岁+、做着客户端或大后台开发的老兵,你现在内心最关心或最困惑的,是业务的瓶颈,还是 AI 的融入?
我是唐人。十年开发敲尽浮沉,我们慢慢应对 AI 时代。
关注公众号
不错过后续文章和配套资源
扫码关注「唐人Console」,获取文章更新、配套资源和领取入口。 需要解锁时,文章页会生成专属口令。
扫码关注