分享

一问到底:程序员的产出为什么和投入时间不呈线性相关的关系?

 半佛肉夹馍 2023-10-20 发布于河南

问:

最近看到有很多讨论说“程序员的产出与工作时间不线性相关”。

结果真的是这样吗?有人可以分析一下吗?有哪些基于数据支持研究吗?

答:

我来教你一个简单法子,只要你照这个方法做几天研究,很容易就能让你得到“数据支持”。

最近吃鸡类游戏极为火爆;现在还新出现了一个叫APEX的。

这个APEX是免费的。你只需付出一点时间下载就能把它装到你的电脑上。

现在,我们要利用它的数据统计功能。

你可以多找几个人,统计一下他们每天的击杀数,很容易就能拿到量化的“产出数据”

实验准备: 认真打一星期APEX,每天四个小时,使得实验参与者的游戏水平进入稳定期。

实验一: 连续两星期,每工作日游戏四个小时,统计每天击杀数。

实验二:连续两星期,每工作日游戏八小时,统计每天击杀数。

实验三:连续两星期,一周六天,每天游戏十二小时,统计每天击杀数。

在下是个FPS铁杆粉丝。不过我玩的是CS。

根据我自己的游戏经验,数据如下:

1、每天游戏四小时

按平均每局3分钟算;在合理游戏、保持精力充沛的前提下,我可以做到场均击杀3人。也就是每天可击杀240人左右。

2、每天游戏八小时

一般连续游戏两小时以上,玩家就会出现眼花、嗜睡等症状;使得之后场均击杀不到1人——其实我很少连续玩两小时以上,中间一定会休息;休息后精力基本恢复,但一般再玩一小时左右就会再次疲惫,而且恢复越来越慢。

这会造成成绩不佳,但隔一晚后可完全恢复。

加起来,一天至多也就是6小时满状态加2小时疲劳状态,360+40=400人左右。

3、每天游戏十二小时

学生时代的疯狂。通宵玩游戏是很多人都经历过的。

年轻人恢复快,一般玩一天/一个通宵,第二天睡一整天就差不多了。

但如果持续通宵,很容易出现眼前重影、看屏幕流泪、精神不集中等症状。压根不是睡一两天能休息过来的。

其中最严重一次使得我一个月后都还只能眯着眼看屏幕;屏幕突然一亮我就泪两行——当然,那次是因为挨个把Windows 95系统文件夹下的所有文件全都研究了一遍,不是玩游戏。

总之,在这种极度疲惫的情况下,连续若干局0击杀是常事。

因为此刻玩家已经不是有意识的在玩游戏,而是随缘打上两枪应付应付罢了。不然眼睛脑子手腕全都受不了。

在这种状况下,一个人一天十二小时加起来,能拿100到200人头已经很了不得了——这还是手打熟了、水平提升的结果。

你可以找一些志愿者测一测,看看是不是每天超过8小时,打的越多每天人头数反而越少。

这还只是玩游戏。鼠标追逐屏幕上的小点、然后点下左键的体力劳动。

但哪怕这种劳动,我们也能轻易的发现,更长的“上班时间”不仅不能提升工作效率,反倒会影响潜在高手的发挥(人与人对抗中,每局一个人头就已经是中等偏上水平了),造成一种“每天游戏时间越长水平越惨;水平越惨,打到某个人头数就需要越长的游戏时间”的恶性循环。

软件开发甚至更严重。

我试过,极度专注状态下,一天6个小时左右写了两千行全原创代码,一气呵成,0bug。

写完站不起来了。之后近一个月精神无法集中,没有再写一行代码。

从那以后,我学会了合理安排自己的工作时间,每天进入极度专注时间不超过4小时。

即便如此,我的工作效率在同事之间也属于第一梯队。

之前我在一些帖子里提到过,我曾一年搞定十三项任务,还写了两份A级文档和十几份B级文档;同组其他同事最快也不过一年完成四项任务。

因为这事,后来新上任的一小头目还纠集一帮人在我和前女友之间搅风搅雨。使得我实名在各大IT论坛揭批此人。

回到开发效率上。

很显然,当一个人精力完全投入工作时,一天4小时足够达到最大产出;熬更长时间反而损伤长久产出能力。

但,“精力完全投入工作”是个很难量化的参数;而且完全投入状态并不是说来就来的。因此8小时工作相对较为平衡。

但是,和玩游戏不同,软件业的产出很难衡量。

甚至,一整天屁事不干,就琢磨着对同事下手,拿的KPI可能一样多——会玩手段说不定还能更多一些。

就好像有人挖苦的那样:代码质量很高,结果经理一看,没多少行(好代码往往会实现的极为精简),从没被安排处理过bug。

于是,算KPI你排不上号,经理又从来不用催你完成任务、修复bug——因为你总是按时保质完成任务,而且压根没写出bug来。

这就使得你水平越高、态度越端正,KPI反而老是赚不到、管理层反而更加看不见你;反倒是水平最差、老是完不成任务的,每天一堆经理围着催,好像他才是最最重要的大忙人一样。于是既突出了“领导的重要性”,又显得他勤奋事多重要。

这种“逆淘汰”现象是管理水平低下造成的。

问题是,“管理水平”看不见摸不着……

这就造成了“低水平的管理人员通过强迫程序员加班来提升自己的考评”、而“强迫加班”使得程序员花更多心思在“磨洋工”上,甚至挖空心思钻漏洞赚KPI上——我就见过某管理水平低下的公司,它的程序员热衷于把循环拆开一句句写出来凑代码行数。代码行数多,KPI才高,才有钱赚。

换句话说,996并不代表着“工作强度高”,而是大部分时间被用来花式磨洋工了;其中程序员往往会以劣质代码的方式赚KPI,而项目经理则以“指挥着程序员无事忙”的方式磨洋工。

在这种低劣的管理水平作用下,每个人都付出了大量的精力和大量的时间,工作的极为痛苦;但公司的技术水平管理水平反倒直线下降(都去研究磨洋工赚KPI了),最终得到的产品无论质量还是功能点反倒更少了,造成双输。

搞笑的是,一旦习惯了这种双输模式,延长工作时间反倒切切实实提高了每天的产出——哪怕花式磨洋工,多磨俩小时怎么也能多几分钟产出吧。

换句话说,当因为管理水平的低劣、导致无法正确评估程序员的产出、伤害了真正努力工作者的积极性、又容忍东郭先生在里面混日子时,他们只好默认了“磨洋工”的现实;然后以一种令各方都痛苦的形式、靠延长劳动时间来减少“磨洋工”造成的效率损失——然后更加剧了“磨洋工”这股歪风的流行,逼的真正认真的工作者也不得不加入磨洋工的行列。

说白了,996就是劣质管理层带领下、给老板看的一种表演。

而老板之所以会喜欢看这种表演,是因为那些脑残只跟着鸡汤文念叨过两句“狼性”。

刚看到这个回答:

程序员的产出真的跟工作时间无关么?

这个答案说的很实在。

他提到的场景,我在工作中见识的真是太多了。

亲口对我说出“如果项目都做完了一点bug没有,我们的存在对公司还有什么意义”的,可不止三个五个。

想办法各种巧立名目花钱立项磨洋工的,更是比比皆是。

不过,我并不认为“心情”很重要。该坑蒙拐骗的,老板待他再好他也坑;做事板正、恪守职业道德的,遇到老板乱来,这种人很难低下头,像那些坑蒙拐骗的一样投机钻营,往往只能一走了之。

这种话,老板忽悠咱,咱不会受骗;咱拿这话忽悠老板,老板信你才叫出鬼了。

只有一句是实的:当你放任这些磨洋工、甚至为了磨洋工不惜拖整个项目下水的家伙时,是真的会把干实事的人逼走的。

RECOMMEND

- 点个在看你最好看 -

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多