首页 » 软件开发 » AI大佬李沐揭密中国程序员为何加班如此疯狂(程序员加班大佬公司工作)

AI大佬李沐揭密中国程序员为何加班如此疯狂(程序员加班大佬公司工作)

少女玫瑰心 2024-07-23 19:24:46 0

扫一扫用手机浏览

文章目录 [+]

【新智元导读】程序员在国内的工作量是出了名的多,加班已是习以为常的事情。
然而,很多人都说国外的程序员并不怎么加班。
这是否是事实?若是真的,又为何出现如此差异?知乎便有网友提出该问题,亚马逊AI实验室主任李沐、以及其它热心网友对此做了答复。

中国程序员,一个跟加班和秃顶爱恨交织的职业,风里雨里都无法阻止加班的步伐。

根据《2018年中国程序员生存现状报告》,近一半的程序员处于25-29岁年龄阶段,身体和精神方面都正处于加班黄金期。

AI大佬李沐揭密中国程序员为何加班如此疯狂(程序员加班大佬公司工作) 软件开发
(图片来自网络侵删)

中国程序员加班已然成为一种常态,而大家也会经常会听说,国外的程序员是不加班的。
知乎便有网友提问:为什么美国程序员工作比中国程序员工作轻松、加班少?

感觉美国程序员工作时间灵活、加班少,相比与国内程序员工作,似乎压力小很多。
但是美国程序员的产出却非常牛逼(如google、fb等)。
难道是因为他们效率更高吗?如果是,国内程序员是否能提高效率减少加班和压力呢?

该问题一出,便引起知乎网友的热议。
亚马逊AI主任李沐,“凯威的讲堂”、“李小白”等热心网友抛出答案并获得高赞。

新智元获得了三位的授权,对其答案进行了整理。

边际效用和生活习惯是重点

美国程序员工作比中国程序员工作轻松、加班少总体来说是事实,但都归结到美国程序员效率更高,制度更好之类就过于片面了。
我觉得主要原因在于别的一些地方,例如加班的边际效用,程序员的生活习惯。

背景:我在baidu(北京)和amazon(湾区)都干过,微软研究院(北京)和google研究院(湾区)也实习过,因为目前做云计算和开源,所以也接触过很多公司。
整体来看,

不觉得美国程序员比国内程序员水平高多少,特别是在年轻人身上。
2000年后计算机专业红火,学生生源好,这些人是当前程序员的主干力量。
而且中国教育在工程学科上更加扎实,适合培养程序员。
美国有非常厉害的领导者,例如几家大公司创始人都很厉害。
但加班文化更多是每个项目的实管人控制。
我见过好的,也见过差的。
虽然没有具体统计过比例,但没觉得中美差异明显。
美国这边开会确实要多一些,但这个也是美国教育重视沟通相关(3,4岁的小孩就开始练习演讲了)。
开会对于大组织有用,这样可以几百人在同一个思想层面往前冲,但用这个来衡量百来人的小公司就不见得适当了。
美国公司创新度更高,一是社会认可,二是不创新难有机会生存,三是国内只盯着创新的公司看。
但创新公司加班很普遍,例如Tesla老大都睡在厂房。

所以我觉得问题在于一些更本质的东西。
这里是我的几点观察:

第一是边际效用。
美国社会成熟度比较高,在湾区生活的同学也许过去10年都感觉不到特别大的变化,而中国则翻天幅度,特别是互联网领域。
例如手机支付,美国普及很难,因为信用卡已经很普及了,手机支付带来的好处不显得很大。
但中国的基础设施没跟上,所以手机支付在便利性上提升特别大,同样的技术,大家会不惜余力的去推广。

经济学上这个叫做边际效用。
同样的技术,中国的边际效用比较高,所以大家可以全力推广。
美国因为起点高,所以更加谨慎一些。

这个影响到了加班文化。
通过加班可以完成更多工作。
如果项目经理觉得这些工作带来丰厚回报,他们肯定会压着组员做。
在中国很可能是这样,例如做出这个产品马上会有人用,升职加薪跟着就来。
然而在美国,即使今天做出来,用户也是慢慢的过来,完全不需要急着那么几天。

第二是生活习惯。
美国程序员年龄普遍偏大,因为计算机行业在2000年在美国就很红火(参考互联网泡沫),培养的大量的程序员,这些人现在很多都有小孩。
在美国小孩都是自己带,双方父母不怎么帮忙。
请人又特别贵,例如湾区工作日请人带娃一个月起码是2千美金起。
而且学校课程松,所以放学后都要靠父母照顾。
此外,很多人住的房子都带院子,请人打理费用贵,很多时候大家亲自动手。
例如Robin在创立百度前曾醉心于在湾区种菜。

于是在加班边际效用不高的情况下,大家纷纷早点下班回家做家务。
并冠冕堂皇的叫work-life balance。

我认识好几个未婚朋友,他们觉得每天那么早下班实在是太寂寞,毅然回国去了创业公司,并对996大家赞赏。
记得Andrew Ng也表达过类似的观点。

但反过来说,早9晚5真的好?计算机技术日新月异,而且随着经历增长,需要提升各项领导能力。
这些都需要足够多的时间去学习。
我认识的厉害的人无一不是在下班后努力挤出时间工作,丝毫不比996工作时间少。
与其现在羡慕别人轻松,不如埋头努力工作十年再来看。

对问题的边界定义需清晰

先说结论:跟国外公司比,国内公司最大的问题就是管理者素质不高,对问题的边界定义不清楚。
提需求的人没有成本,无止境地提不靠谱的需求。
码农自己开发时也追求快糙猛,提高了系统的风险。
总的来说,经理很忙,产品很忙,码农很忙,测试很忙,运维也受不了。

就是这样的结局。

我在血汗工厂,大亚麻。
整个大部门有80号码工。
想知道大家工作有多轻松。


我先上图为敬。

这位是最忙的。

这Commit记录你们看着办。


我们部门是前两年重组出来的,做了七八个全新的项目,按血汗工厂的风格,SDE是要full stack的,还要讲政治,写个类都要摆出个设计文档。
跟自己组,隔壁组过完设计,大家blibli一通留言,然后针对几个service的API划分和命名再掰扯个一周。
最后谁都说服不了谁,摆出一句”求赐名“这时高级经理或者SDE会猥琐地从希腊神话里找一个神的名字出来命名service,再随机指定几个比较顺眼的命名,会议就结束了。

除了内部Tech的会议,偶尔也会参与业务方的会议。
在这里也是要讲政治的,你参会了就必须要多说,无论说什么,一定要存在感巨强。
当小透明是行不通的,为什么,小透明就说明你这个人没想法,能力不行啊。
某种意义上,声音大就是impact,就是能力!

有没有!

接着说对SDE full stack的要求。
你以为我们有前端,有测试,有运维?想多了,新开的service,如果涉及前端页面。
是要自己写的。



没错,别管你是前端工程师还是后端工程师还是算法工程师,首先你得是个工程师,工程师就没有解决不了的问题。


我们做前端时也要开很多会啊,跟业务方沟通进展和Demo时,业务方可以提意见,一旦提了意见是要sign off的。
不是随意说说那么简单。
这样有个好处,很多东西定下来了就不随意改变。
提需求的人是面临很大的成本,你老提了需求又改,又sign off,不出两月大家就觉得你这人不靠谱,会给你很差的反馈。

谈完了前端,该到开发阶段了吧,开发时50%的时间在也业务代码,50%的时间在写测试代码。
如果没有测试代码,code review是说啥也过不去的。
写完代码之后,内部有很完整的自动部署工具,把你的单元测试,集成测试都跑完,然后部署测试环境,gamma环境等等。
包括日志监控,都是要自己上手的,也是前文反复说的full stack的概念。
SDE真的是Someone Does Everything啊。


这么一说确实挺忙的,实际上50%的时间都在会议,20%时间写代码,20%时间写测试代码,10%时间捣鼓一下配置,监控。
但从来没有人加班,整天在家办公,这公司怎么还没黄。

怎么还没凉。

我来总结一下,会议是生产力。
讨论得越清楚,返工就越少。
比如系统设计,几个组的人一起讨论清楚系统的边界,上下游系统的关系,你的问题边界和需求是很清晰的。
码工自己啰啰嗦嗦地对全流程服务。
测试,运维等看似工作量繁重,实际上有效地降低了风险,极大地提高了软件的质量。

跟国外公司比,国内公司最大的问题就是管理者素质不高,对问题的边界定义不清楚。
提需求的人没有成本,无止境地提不靠谱的需求。
码农自己开发时也追求快糙猛,提高了系统的风险。
总的来说,经理很忙,产品很忙,码农很忙,测试很忙,运维也受不了。

就是这样的结局。

社会形态有差异、企业迭代速度过快

这个题目能出书了。
两边的IT的企业五花八门,形形色色的都有。
大部分答案都是抱着批判的态度。
主要谈谈自己的看法吧。
毕竟我也只在一家美国公司工作过,国内的工作经验为0,不足的地方希望指正。

社会形态的差异

社会形态的差异肯定是原因之一。
美国是一个很讲究Work Life Balance(工作生活平衡)的国家,人权大于公司的利益。
所以如果企业如果过分“压榨员工”,是肯定会被劳工部告的。
大公司只要有任何风吹草动,都可能惹上负面。
比如:

告的就是Google付给女性员工的工资低。
当然男性员工也在告Google。

举这个例子只是说,在我们眼里,美国是一个非常“事儿逼”的国家。
两国人民从小接受的教育非常不一样,美国人偏理想主义,而中国人比较现实主义。

美国的企业非常怕事,哪怕他们没错,他们都会花重金摆平这件事情。
比如前段时间的UA事件,Starbucks事件,都很好的说明了美国企业有多怕事。
所以过度加班这种高压红线根本不敢碰。
作为一个企业CEO,该破产就破产。
美国的企业是非常好“碰瓷”的,告自己雇主的事情是在太多了。
在我们眼里,屁大的事情他们都能够上法庭。
公司即使没有错,也会花钱摆平。
不然一帮好事的媒体整天在显眼的地方发布这些,非常影响企业的声誉。

企业是趋于利益的。
而且有时候确实需要加班来满足需求。
所以很多公司喜欢雇佣亚洲人和墨西哥人,因为这两种人即使加班也不会抱怨。
很多美国公司用各种非美国人的Contractor和ICC也是这个道理。

当然美国某些公司也是加班很严重的,比如四大。
但是(听说)美国的四大好像没国内累。
只是相对而言。

美国人看重家庭大于工作,家庭比工作重要。
所以那种牺牲自我,保全公司利益的行为是很少会发生的。

当然中国也不是最差的啦。
日本加班比我们多多了。
这边加班太多了。
日本人讲究的是为了工作可以抛弃一切。
要论程序员的幸福度:美国 > 中国 >>> 日本。

我没有见过美国码农的公会。
也没见过罢工。


公会发达的是欧洲。
法国是公会的巅峰。
啥屁事,都罢工,而且完全不管后果。
你能想象地铁和大巴司机罢工吗?整个城市会陷入大混乱。
有一次考试,我辛辛苦苦背完了所有的概念,结果地铁罢工,考试取消。


导致我第二周得继续再背一遍。

封装和抽象

大学经常学的Encapsulation(封装)也是主要原因之一!
OOP编程里面的封装其实非常重要。
美国这边的公司非常注重Encapsulation。
最简单的例子就是,用web framework去写server比徒手用原生java sockets去写要容易多了。

很多公司都喜欢Everything As Service (把所有技术都封装成服务),然后把这些Service做成Platform(平台),然后模块化。
比如在Google,所有的Infrastructure(架构)都被封装成Service了,使用起来只要关心业务逻辑和资源分配就行,非常省时间。
在新的Server里面加Feature也只需要加一个加一个新的模块就行。
相比而言,如果花大量时间去调各种开源软件的配置,会花大量的时间。
Google的做Infra时间比Facebook长,Infra种类多余FB,这也是“Google比Facebook轻松一点的一个原因”。

每次开发产品,我都有种搭积木的感觉。
从web framework,到pipeline framework,到monitoring和resource,基本都是非常直观的事情。
偶尔有问题,一个邮件就能解决。

平心而论,硅谷的Infrastructure比国内好太多了,每个公司都有专门的组去认真研发新的Infra。
所以硅谷的公司,只要不是太小,都多多少少有一些开源的项目。

凡是做Public Cloud Computing的公司,封装都不会太差。
国内现在很多公司也开始做了。
因为Cloud Computing讲究就是把自己Infra打包给外面的程序员使用,同样的功能,接口越简单越好。
如果外面的人都可以很好的使用,自己人就更容易了。

中国企业的迭代速度快

硅谷技术强,但是产品迭代速度比国内差太远了。
所以,Uber,Airbnb,Linkedin在国内的市场表现都不怎么好。
很多技术壁垒不高的产品,比的就是用迭代速度去占领市场。
技术壁垒高的产品,不是迭代速度能解决的。

中国的IT公司对用户的需求感知的特别快,他们清楚的知道用户需要什么。
国内公司对竞争对手的动作也特别敏感(抄的特别快)。
你会发现, 阿里,京东比Amazon的功能多多去了。
饿了吗,美团也比Ubereats功能多多了。
王者荣耀的新东西出的实在太快了。

Google的大佬很多都是工程师出生,重技术,轻产品。
而硅谷大部分有特色的新型互联网企业早期都有大量的前Google员工,所以这也是硅谷的一个特色之一。

所以中国的IT和硅谷其实是两种IT。
迭代速度和发现新的Use Case是中国企业的强项。
为了保持这个优势,唯一的方式就是加班了。

提高效率,拒绝无理需求

近来网络中调侃中国程序员的段子可谓是层出不穷:

虽然诸如上述的段子较为轻松活泼,但更为现实且令人心痛不已的例子又何时停止过呢?

据统计资料表明,我国“过劳死”的人数每年达到60万人!
已远远超过日本,成为世界第一“过劳死”的国家!

2015年3月,深圳某IT公司程序员张斌,猝死于酒店马桶,年近36岁。
当天深夜1点钟,张斌还发过最后一份工作邮件。
根据张的同事透露,为赶工程进度,加班至早晨五六点是家常便饭,又要继续上班。
在去世之前一天,他还跟母亲发过\"太累了\"的短信。

这条消息可谓在当年刷爆朋友圈。

2018年8月,深圳24岁程序员工作中猝死,让人心疼不已。

虽然很多人都知道如此强压的工作肯定会对身体带来重负,但面对现实、面对生存,无奈也只能默默接受。

“远离加班”,这句劝告可能对大多数IT从业者来说就像是一个梦想:很美好,也很难实现。

那我们能做的又是什么?

自身:提高效率,从工作中学会积攒经验。
拒绝无理需求:有些情况下可能是因为别人考虑不周而导致你疯狂加班,时刻保持清醒的头脑,提醒自己,锅是圆的。

相关文章

语言中的借用,文化交融的桥梁

自古以来,人类社会的交流与发展离不开语言的传播。在漫长的历史长河中,各民族、各地区之间的文化相互碰撞、交融,产生了许多独特的语言现...

软件开发 2025-01-01 阅读1 评论0

机顶盒协议,守护数字生活的新卫士

随着科技的飞速发展,数字家庭逐渐走进千家万户。在这个时代,机顶盒成为了连接我们与丰富多彩的数字世界的重要桥梁。而机顶盒协议,作为保...

软件开发 2025-01-01 阅读1 评论0

语言基础在现代社会的重要性及方法步骤

语言是人类沟通的桥梁,是社会发展的基础。语言基础作为语言学习的基石,对于个人、社会乃至国家的发展具有重要意义。本文将从语言基础在现...

软件开发 2025-01-01 阅读2 评论0

粤语电影,传承文化,点亮时代之光

粤语电影,作为中国电影产业的一朵奇葩,以其独特的地域特色、丰富的文化内涵和鲜明的艺术风格,赢得了广大观众的喜爱。本文将从粤语电影的...

软件开发 2025-01-01 阅读3 评论0

苹果游戏语言,塑造未来娱乐体验的基石

随着科技的飞速发展,游戏产业逐渐成为全球娱乐市场的重要支柱。在我国,游戏产业更是蓬勃发展,吸引了无数玩家和投资者的目光。而在这其中...

软件开发 2025-01-01 阅读1 评论0