一次转岗前的自我梳理
· 7 分钟阅读

一次转岗前的自我梳理

记录一次从前端开发转向产品经理、项目经理、系统运维等方向的职业思考:为什么想转、岗位区别是什么,以及过去的小团队经历能迁移出什么能力。

刚毕业那会儿,我对前端还是很有热情的。

那时候会在意代码质量,也会琢磨一个功能怎么做得更完整。页面能不能更顺一点,组件能不能拆得更清楚,交互边界有没有漏掉,这些事情虽然琐碎,但做完之后会有一点小小的成就感。

后来这种感觉慢慢淡了。

一方面是业务本身对技术的挑战越来越少,另一方面是排期越来越紧。最开始大家还会认真讨论代码质量,后来很多时候就变成了“先上线再说”。我能理解这种妥协,业务要跑,项目要交付,不可能每一次都按理想状态来。但理解归理解,长期处在这种节奏里,热情就会被慢慢磨掉。

再加上 AI 编程工具越来越成熟,我开始意识到一件事:纯粹靠“会写代码”建立职业安全感,可能会越来越难。

所以我会想:如果继续往前走,我是不是应该把能力重心,从具体编码,往需求判断、沟通协作和结果交付上靠一靠。

先说结论

我真正想转向的,不是某个岗位名称,而是更靠近需求判断、沟通协作和结果交付的位置。产品经理、项目经理和系统运维是目前看下来离前端经验最近的三个方向。

为什么开始动这个念头

前端开发当然不是没有价值。

一个体验好的页面、一个稳定的业务流程、一套可维护的组件体系,背后都需要工程能力。但这几年我越来越明显地感觉到,很多日常工作正在变成重复执行:接需求、画页面、调接口、修样式、补兼容、处理各种异常问题。

而且随着 AI 对这个行业的冲击,以前很多代码要靠人一点点写,现在 AI 可以很快生成一个大概能跑的版本。它不一定写得对,也不一定能负责到底,但它确实让一部分编码工作变便宜了。而且现状也确实是,很多公司都因此在裁员。

也是从这里开始,我心里慢慢埋下了一个念头:是不是可以往其他方向看看。

我先分清了产品经理和项目经理

一开始我其实也有点混淆。

尤其是在小公司或者小团队里,产品、项目、测试、甚至一部分运营工作,经常都压在同一个人身上。你说他是产品也行,说他是项目也行,反正最后都要把事情推进下去。

但如果把职责拆开看,产品经理和项目经理关注的东西还是不一样。

产品经理更关心的是:做什么,为什么做,对谁有价值。也就是说,他要把模糊的用户需求、业务目标和市场判断,整理成一个团队可以理解、可以执行的产品方向。

项目经理更关心的是:怎么组织资源,怎么控制进度,怎么处理风险,怎么让事情按期交付。相比“这个产品该不该做”,项目经理更关注“这个项目怎么做成”。

这个区分在几篇岗位分析里也反复出现:产品经理更偏产品定义和用户价值,项目经理更偏计划、资源、进度和交付管理。实际工作中两者会紧密协作,尤其在中小团队里还经常由一个人兼任。lylmwt 的文章欧维Ove 的文章 都提到了类似的分工。

那系统运维呢

除了产品和项目,系统运维也是我现在会认真考虑的方向。

如果说产品经理更关心“做什么”,项目经理更关心“怎么把事情做成”,那系统运维更关心的是:系统上线之后能不能稳定运行,出了问题能不能及时发现、定位和恢复。

产品和项目更像是从需求、流程和协作里延伸出来的,而系统运维更像是从上线、部署、故障处理和系统稳定性里延伸出来的。以前做前端时,我也会接触到这些事情,比如打包发布、联调环境、线上问题排查、静态资源缓存、回滚和日志查看。

只是这些工作以前更多是作为开发流程里的一个环节出现,并没有被我当成一个独立方向去理解。

现在回头看,系统运维更强调稳定性和整体视角。一个功能不是写完、测完、上线就结束了,它还要在真实环境里长期运行。访问量上来会不会出问题,服务异常能不能快速发现,部署流程能不能自动化,故障之后能不能复盘,这些事情都决定了系统是不是真的可靠。

为什么这三个方向离前端并不远

我之所以会先想到产品、项目和系统运维,不是因为它们听起来更轻松。

恰恰相反,这三个方向都不轻松。产品经理要面对不确定性,项目经理要面对进度、资源和风险,系统运维要面对稳定性、故障和线上压力。只是它们都和前端工作有一些天然的连接点。

前端本来就是一个离用户和业务流程都很近的位置。

很多需求最后都会落到页面、交互和流程上。一个按钮放在哪里,一段提示怎么写,一个状态要不要展示,背后其实都不是单纯的技术问题。

做久了前端之后,会自然接触到很多产品判断。比如:

  • 用户到底要完成什么任务
  • 当前流程为什么让人卡住
  • 这个交互是不是把复杂度甩给了用户
  • 哪些需求只是看起来合理,实际会把系统拖复杂
  • 哪些问题不应该靠前端补丁解决,而应该回到业务流程里重新讨论

这些问题如果继续往前追,就已经不只是“页面怎么写”的问题,而是在靠近产品经理关心的“做什么、为什么做、对谁有价值”。

前端也很容易接触项目协作。需求评审、排期、联调、测试、上线、线上问题回滚,这些环节几乎都绕不开前端。哪怕你不是项目经理,也会被项目节奏推着走。做久了之后,你会开始意识到,事情能不能顺利交付,不只取决于某个人写代码快不快,还取决于信息有没有对齐、风险有没有提前暴露、不同角色之间有没有形成共识。

系统运维的连接点则更靠后一些。它不一定出现在需求讨论的最前面,但会出现在功能真正运行起来之后。打包发布、环境配置、接口异常、静态资源缓存、日志排查、回滚处理,这些事情前端多少都会碰到。以前我可能只把它们当成上线过程里的麻烦事,现在再看,它们其实对应的是另一个问题:系统上线之后,能不能稳定、可控、可恢复地运行下去。

所以对我来说,这三个方向不是完全陌生的新大陆,而是从前端工作里延伸出来的三条岔路:产品更靠近价值判断,项目更靠近交付推进,系统运维更靠近稳定运行。一个功能从想法变成真实可用的系统,基本离不开这三件事。

小团队经历带给了我什么

回看自己的经历,我基本都在小开发团队里工作。

小团队的特点是边界没那么清楚。很多时候不是“这个只归谁负责”,而是事情来了,总要有人先接住。前端也不只是写页面,也要一起讨论需求,补充交互细节,跟后端对接口,自己测一遍流程,有时候还要参与部署、看日志、确认上线后的反馈。

这种环境有好处。它会逼着你看到一个产品从零到一,再到上线运行的完整过程。

从前期需求调研,到功能设计,再到开发、测试、部署、上线、运维,中间每一步都有现实限制。需求不可能永远清楚,排期不可能永远宽松,资源也不可能永远够用。

以前我可能只觉得这些事情很烦。现在回头看,它们其实都在训练一些可迁移的能力:

  • 把模糊需求拆成可以落地的功能
  • 在时间有限的情况下判断优先级
  • 理解技术实现会怎样影响产品体验
  • 在开发、设计、测试和业务之间同步信息
  • 发现风险后尽早沟通,而不是等上线前爆炸
  • 上线后关注异常反馈,确认功能是不是真的稳定运行

这些能力放到不同方向里,会呈现出不一样的侧重点。

放到产品方向,它们对应的是理解需求、判断价值、把模糊想法整理成可执行方案。

放到项目方向,它们对应的是拆解任务、同步信息、识别风险、推动事情按节奏往前走。

放到系统运维方向,它们对应的是部署意识、环境意识、问题排查意识,以及对系统稳定性的敏感度。比如一个功能上线后,如果用户反馈页面打不开、接口报错、资源加载异常,前端不能只看自己代码有没有写错,也要顺着环境、网络、接口、缓存和日志去排查问题。虽然这些不等于完整的运维能力,但至少让我知道:系统不是上线那一刻就结束了,真正的考验往往发生在它开始被使用之后。

这也是我觉得自己可以先往产品、项目、运维方向看的原因。不是因为我已经准备好了,而是因为过去的工作并没有和这三个方向完全断开。

我现在更倾向怎么判断

从前端转向产品、项目或系统运维,优势也有,短板也明显。

优势是我懂一点技术,知道一个需求落到研发侧会发生什么,也知道很多看起来简单的功能为什么会变复杂。前端经历也让我对用户体验、业务流程、联调上线和线上问题都有一些实际感受,这些经验在三个方向里都不是完全无用的。

短板也很明显。

如果转产品,我需要补产品方法、用户研究、业务分析和需求判断能力。

如果转项目,我需要补项目管理方法、资源协调、风险控制和更系统的沟通能力。

如果转系统运维,我需要补操作系统、监控告警、自动化和稳定性保障这些更偏基础设施的能力。

事情并不是一蹴而就的,后续我也会对这些能力逐步进行探究学习。

参考资料

评论