业务型程序员正在承受偏见

2019-07-24 09:52:10 +08:00
 djyde
大公司似乎有个通病,就是没有给做业务的技术人员安全感以及应有的回报。似乎做技术、做基础建设的就要比做业务的更有价值。前者能为团队提效,能向外输出能力,这当然能作为绩效和晋升的评判标准。但为何一个能理解业务需求,按时交付代码,迅速拉通业务上下游的业务型程序员,也被要求做出「技术影响力」才可以晋升?

当然,优秀的程序员两者都应该有,但总得有一个侧重点,因为人的时间是有限的。而这种畸形的评判标准,会让做业务的程序员产生严重的焦虑 —— 我光做业务时间已经不够了,我哪有时间还去做基础建设呢?

不光如此,它还会造成另一种副作用,就是做业务的程序员,在想方设法地去造轮子,创造伪需求。明明用原生的 API 就能搞定的事,非要「封装」一下,除了制造一种「高级感」,一无是处,有时听到这些方案都会觉得尴尬。

我不是反对造轮子,我是反对造不应该造的轮子。这样的轮子造出来了,PPT 写好了,做的人晋升了,维不维护,那是之后再说吧。苦的还是用它来做业务的队友们。

真正的基础建设,是让使用者觉得好用,方便,靠谱,解决了真正的痛点,让业务跑得更快,更稳,用了这种技术,原本要写两天的程序,现在两小时能完成。这些有意义的基础建设,不是在办公室开两小时会就能想出来的,是业务刚好遇到对应的场景才做得出来的。但是,谁都不愿意承认这个事实,因为你不搞技术,你就没有所谓的技术影响力,你就晋升不了了。

我能理解那些瞎造轮子的人是制度使然。游戏规则就是这样,你想玩得好,无论规则多傻逼,都要按照规则去玩。

有人说,你就做业务,太容易被取代了。我想说,做业务,也有分做得好不好的,你做什么事情可以做不好还不被取代?除非有一种编程语言只有你会。还有人说,未来 AI 都能写代码了。我只知道,现在我连一个靠谱的能帮我糊 HTML 页面的 AI 我都没见到,50 年内,可以出现一个能理解产品经理的需求,自动写出符合需求的代码的 AI ?

所以,技术人员的晋升标准应该改为有两个不同的方向 —— 业务型人员和技术型人员。两者都应该有不同的评判标准,两个不同的晋升体系。让做业务的人专于完成业务,让做技术的人专心服务业务。没有谁比谁的价值低。

(利益相关:我这三年做的几乎都是基建)
19856 次点击
所在节点    程序员
141 条回复
justfly
2019-07-24 10:32:19 +08:00
技术型程序员正在走向自闭,怀念很久以前有产品交流,有人投食的日子。
luoway
2019-07-24 10:35:42 +08:00
利益相关:我做的 1 年基建,2 年业务
感觉做业务更安全,基建会焦虑、加班。
做业务的同学往往有产品、项目经理带着,有着明确的方向,
做基建的同学,特别是低职级的,往往没有明确的方向,做的东西一般是整个基建中重复程度最高,技术含量最低的部分,想上升就得多学,这也是基建低职级同学的优势:更多的学习压力、动力。
而高职级的,据我所见,要么很闲(没有目标,收集痛点阶段),要么加班(找到目标,解决问题阶段),计划性、作息规律都不如业务同学。
mars0prince
2019-07-24 10:38:50 +08:00
兄弟,你还没理解,做业务是你本职工作,你业务做得不好,线上出问题,就不是晋升不了,而是直接就打 C 开除了。而技术建设是你的 bonus。
Tomorrowxxy
2019-07-24 10:39:34 +08:00
我是放火队员
zxcslove
2019-07-24 10:41:34 +08:00
分析的是很到位了,这锅肯定是大领导来背。任何成员和资源都应是为核心目标效力的,反馈机制自然要紧贴战略来设计。
bbbbbbbk
2019-07-24 10:43:48 +08:00
@vmskipper 客服程序员精辟了
sgissb1
2019-07-24 10:44:24 +08:00
也不能完全说是业务型程序员正在受偏见。应该说是从中国 IT 产业嫌弃开始,业务程序员的位置就被人放的比较低。也仅仅是近几年,业务程序员的地位才逐渐凸显。最简单的例子就是“互联网”企业的爆发,导致这些企业更多注重业务的实现到各种修饰(包装)。

技术型程序员和业务型程序员之间我的理解是没有严格的区分,因为一个好的程序员在技术发展路线上有偏好是正常的,但是过分偏科就很有些不太合适了。

毕竟程序员只是一种技术操作工,并不是搞科研,搞科研的可以潜心做精一件事。而对于操作工来说知识面也应该略有拓展。

所谓的技术型程序员和业务型程序员之间的“矛盾”,主要还是来自内心的浮躁,比如互相看不起,互相各种指手画脚(不尊重)。

就拿技术型程序员内部来说,都还有很强的所谓鄙视链。人和人之间各种浮躁,浮夸,鄙视链也是比较比较传统的事情。见惯不怪了。


ps: 所谓的技术型程序员
janus77
2019-07-24 10:50:26 +08:00
传统 it 行业,业务型程序员的重要性是很高的。比如金融银行,车企,航空公司,招聘要求几乎都需要你熟悉业务,重要性比技术更重要。
但是,业务型有个致命问题,那就是业务型程序员无法创造和推动。他们只是把需求理解,做出来。而技术型,会在本身系统已经跑的挺好的情况下,思考怎样“更好”。其实这就是所谓的“锦上添花”吧。
业务型程序员,没有评判标准,那是因为,无论你理解的如何,最终成品的标准都是不变的,。一个业务生疏的,硬着头皮也要做出来,一个业务熟悉的,轻松就可以做出来,那出来以后,谁能看出哪个人更好?
lowman
2019-07-24 10:51:49 +08:00
I am crud man, 享受着查询数据库所带来的一阵, 一阵, 一阵阵的快感
sxshi110
2019-07-24 10:53:11 +08:00
说的很棒,深有感触。
在小公司摸爬滚打了几年业务了,对这行的业务基本上能做到信手拈来,也基本上到了业务程序员暂时能到的瓶颈了,想继续升,真有点迷茫。继续做业务型的,去其他公司基本上就是平移,涨幅升迁不大,也都是类似的小公司;想做点基建,做业务的都应该能理解,时间上真的不宽裕。不过还是希望自己能掌握更多吧,这样才能有升值价值。
ieiayaobb
2019-07-24 10:57:04 +08:00
业务型程序员在跳槽市场是没有竞争力的,你跟新雇主说你如何精通原有的领域,除非你们在同一个行业,否则新雇主永远觉得你经历的业务不如他的业务复杂,你的业务知识也对其没有任何帮助,这是必然。

所以你才会看到很多业务型程序员拼命的往基础开发、框架开发上爬,因为这些才是放之四海而皆准的东西。

另一方面,纯技术型开发对企业带来的价值是长远的,或者是没那么显而易见的。框架本身就是为了提高业务型程序员的工作效率而存在的,但提高效率这事并没有那么好评价。

羡慕楼主在做基础建设还能受上层重视,我们曾经的平台(或者现在主流叫的中台)团队,基本在老板看来是烧钱不产出的团队,ROI 几乎为零,以至于部门负责人一直在想办法帮这种技术团队兑现价值,非常可笑。
hyy1995
2019-07-24 10:59:04 +08:00
大部分人平时工作写的都是业务逻辑。。。
cyril4free
2019-07-24 11:02:45 +08:00
取决于公司吧,比如某个业务为导向的公司,业务线上投入比基础多多了,以至于业务线上人多到自己搞基础设施
Gathaly
2019-07-24 11:02:54 +08:00
恕我直言,所谓的框架和业务逻辑都是为了业务盈利服务
不如硬件协议栈、算法统筹类基建
momocraft
2019-07-24 11:08:49 +08:00
真能造出好用的轮子当然好,做到大可能就是 SAP 那样

如果简单封装就能有正反馈,可能评价体系有问题
iyaozhen
2019-07-24 11:09:13 +08:00
我们晋升是两条线,你说的这两种。
但是要看情况,也有可能业务型的更好写 PPT,你做了一个非常好的功能,老板看得见摸得着。
基础类的有时容易被挑战,因为我们晋升偏技术评审,拿开源的不一定能忽悠过去,而且公司很大很容易和别人撞轮子
summic
2019-07-24 11:09:40 +08:00
在一个公司内,所有人的目标都是 “解决问题”,价值取决于解决什么样的问题。如果程序员狭窄的定义自己只能解决特定语言、特定框架的技术问题,那价值也就被限定了。在这一点上看,懂业务的研发,能够解决的问题范围更广,定位问题更为精准。

我记得腾讯研发应该分为:“后台开发”、“运维开发” 和 “应用开发”,而 “应用开发” 在晋升的时候是很不受待见的,问题总是围绕“技术深度”、“高并发”、“海量” 这类问题。因为晋升委员会的人大多数“后台开发”出身,是有偏见的,也说明了“文人相轻”吧?

而真正愿意并且理解业务的程序员太难得了,在职业发展上,业务型人才,既懂研发,又懂业务,有更广阔的发展空间。
DonaldY
2019-07-24 11:29:34 +08:00
没有业务,要基建有何用?
都是需要理解需求,再开发,只不过业务那有各种角色的人一起讨论罢了。
itqls
2019-07-24 11:36:20 +08:00
频繁造轮子是真的,现在看着那些各种美名其曰解耦的一堆组件化,我真的头大。
qingmei2
2019-07-24 11:40:34 +08:00
程序员招聘的要求越来越高,基建类的原理被问的越来越多,中小公司面试时候不可能盯着业务问,只能从原理去考察。

正如#31 说的:

> 业务型程序员在跳槽市场是没有竞争力的,你跟新雇主说你如何精通原有的领域,除非你们在同一个行业,否则新雇主永远觉得你经历的业务不如他的业务复杂,你的业务知识也对其没有任何帮助,这是必然。

> 所以你才会看到很多业务型程序员拼命的往基础开发、框架开发上爬,因为这些才是放之四海而皆准的东西。


说白了,就是普遍的业务性程序员可替代性比较高而已, 很残酷,也很现实。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/585649

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX