从“高级”到“资深”,我卡了两年和我的思考

我大概是在工作的第五年,晋升到了高级前端工程师。那时候我挺自豪的,觉得自己技术不错,能独立负责复杂的业务,也能搞定线上疑难杂症,再往上走,应该也只是时间问题。

但没想到,高级这个title,我一挂就是三年多。

其中有整整两年,我感觉自己撞到了一堵看不见的墙。我明明是团队里解决技术难题最多的人,写的代码质量也公认是最好的,但每次晋升季,我和老板聊,得到的反馈总是有点虚:

"要多思考业务价值。"

"要展现出更大的影响力。"

"要多看看owner的角度。"

说实话,我当时听得一头雾水,甚至有点不服气。我想的是:"我一个工程师,不就是把技术搞好,把代码写漂亮吗?影响力?那不是Leader该考虑的事吗?"

这篇,就是想复盘一下我卡住的那两年,我是如何迷茫,又是如何最终想明白,从高级到资深(或者叫专家、Staff),真正需要跨越的到底是什么。


高级工程师的陷阱:以为自己技术无敌

在被"卡住"的那两年里,我的状态可以用四个字来形容:战术勤奋

我做了很多事,而且自认为做得很好:

  • 产品经理提的需求,无论多复杂,到我手里,我都能拆解得明明白白,然后用最优雅的代码实现出来,交付质量又高又快。
  • 团队里有别人搞不定的Bug,最后基本都是我来收尾。我是大家公认的技术上的"定海神针"。
  • 社区出了什么新技术,我总是第一个去研究,然后尝试在项目里引入,比如把打包工具从Webpack换到Vite。

我做了这么多,为什么还不够?我当时觉得很不公平。我把成为一个技术更强的人,当成了唯一的晋升路径,并且认为自己已经在这条路上走得够远了。

这就是我掉进去的第一个陷阱:把高级当成了个人能力的顶点,而没有去理解"资深"这个角色,到底需要什么不一样的能力。


从我到我们

真正的转变,来自一次和公司一位架构师的午餐。

我向他抱怨了我的困惑,他听完后,问了我一个问题:

"你觉得,是你自己一个人,一个月写1万行高质量的代码,对公司的价值大;还是你花一半的时间,让团队里其他5个人,每个人都能写出和你一样80%水平的代码,对公司的价值大?"

这个问题,像一道闪电一样击中了我。

我慢慢发现, 高级工程师的价值,体现在他能独立搞定复杂问题。而资深工程师的价值,体现在他能带领和影响一群人,去持续地搞定一系列复杂问题。

前者的产出,上限就是他自己一个人的时间和精力。而后者的产出,是可以被放大的。

我终于理解了老板口中的影响力是什么意思。我的价值,不再是我自己写了多少行牛逼的代码,而是因为我的存在,我们整个团队的代码质量、开发效率、技术氛围有没有得到系统性的提升。

我的工作重心,需要从关注事,转变为关注人;从关注个人产出,转变为关注团队产出。


为了破局,我开始做的几件事

想明白了这个道理后,我不再纠结于我明明干得最多,而是开始有意识地改变我的工作方式。

  1. 从接需求到反问需求

我不再满足于产品经理给我一个PRD然后我闷头做。在需求评审时,我会拉着他一起讨论:

  • 这个需求的真实业务目标是什么?是为了提升用户留存,还是为了增加收入?

  • 为了达到这个目标,目前的设计是最简单的方案吗?有没有更轻量的技术方案能达到80%的效果?

    我开始把一部分精力,从如何实现,转移到了为何实现和如何更聪明地实现上。

  1. 从解决问题到预防问题

遇到一个线上Bug,我不再只是把它修复就完事。我会花更多时间去思考:

  • 为什么会产生这个Bug? 是不是我们的代码规范有问题?是不是缺少了某个Eslint规则?是不是某个公共组件的设计有缺陷?
  • 然后,我会推动建立一个机制,去系统性地预防同类问题再次发生。比如,为核心逻辑补充单元测试、推动建立Code Review的Checklist、重构那个有缺陷的公共组件。
  1. 从个人输出到团队为重

我开始刻意减少自己写一线业务代码的时间,把更多的时间花在赋能上:

  • 更用心地做Code Review:我提的建议,不再只是这里有个bug,而是"我们可以把这个逻辑抽成一个Hook,以后大家都能用"、"这个设计模式不错,我给你找篇文章可以深入了解下"。
  • 主动做技术分享:我把最近研究的新技术、踩过的坑,整理出来在团队内部分享,帮助大家一起成长。
  • 写文档:我开始为我们组的核心模块、复杂的业务流程写文档,极大地降低了新人的上手成本。

我开始主动去跟后端、跟测试、跟运维的同事聊天,了解他们的痛点,思考如何在前端层面,帮助他们解决问题。比如,和后端一起约定更合理的数据结构,或者开发一个Mock工具方便他们自测。我开始承担起一个技术方案指定角色。


当我开始做这些转变之后,大概又过了一年,我的晋升,就成了水到渠成的事。

现在回过头看,从高级到资深,要攀登的根本就不是同一架梯子。

那两年,我并没有白等。那段卡住的时期,虽然痛苦,但它逼着我去思考代码之外的东西。

如果你也正卡在这个阶段,希望我的这点思考,能给你一些启发。

最后,你们也有过这种焦虑吗?🙂

相关推荐
前端很开门21 小时前
程序员的逆天操作,看我如何批量下载iconfont的图标和批量下载 svg 图标
前端·chrome·代码规范
m0_7097886221 小时前
单片机点灯
java·前端·数据库
hqiangtai21 小时前
面试复习题-Flutter
flutter·面试·职场和发展
用泥种荷花21 小时前
【TTS实战】获取设备播放和麦克风权限
前端
RedEric21 小时前
Vue加载速度优化,verder.js和element.js加载速度慢解决方法
前端·javascript·vue.js·前端性能优化
周小码21 小时前
Payload框架:Next.js全栈开发的即时TypeScript后端与管理面板
开发语言·javascript·typescript
刺客-Andy1 天前
CSS中使用 HSL(Hue, Saturation, Lightness) 动态生成色值
前端·css·前端框架·vue
南北是北北1 天前
为什么“以音频为主时钟”最稳,怎么做 A/V 同步
前端·面试
leon_teacher1 天前
ArkUI核心功能组件使用
android·java·开发语言·javascript·harmonyos·鸿蒙
小奋斗1 天前
深入浅出:模板引擎详解
javascript·面试