美国的程序员不加班吗?他们一天工作八个小时,想什么时候来就什么时候走?非工作时间找不到人?还有哪些食物和饮料是免费提供的?
让我告诉你真相.这是真的。加班文化应该是中美最明显的差异,这种差异的原因不是一两句话就能解释清楚的。国内程序员加班严重,问题一开始不在程序员群体。
我在这两个国家都工作过,担任过不同的职务,所以我会尽量从不同的角度做一个简短的说明。
产品层面拍脑袋决策多
在产品层面,有很多决策,美其名曰:互联网思维,小步跑,试错思维,但没想清楚。反正我只是需要提一下,技术团队会做的。
上线后我是产品天才,失败也没什么坏处。找借口说“互联网市场变化太快”也可以搪塞过去,或者找个新项目继续画大蛋糕。
中国的产品经理太多了,很多都是没有任何经验的应届毕业生。一群技术专家能为他们辛苦工作几个月做出需求,真是不可思议。
即使产品经理很厉害,但是人多,每个人都需要表现,都拼命想要想法和要求。技术团队如何应对如此多的需求?
所以会有这些现象:
假期来了,我们最后的活动,还是节日彩蛋功能。竞品有个xx功能,看起来不错,最后一个得抓紧了。十个产品经理同时告诉你:这个要求我跟老板查过了,必须在xx之前上线。产品经理没有想清楚某个功能的价值,或者说好处不痛苦,但是技术团队需要为此付出很大的努力,那就是加班。
当然,这不一定是产品经理的错。国内公司和老板的指示太多了。别说了,你知道的。
在美国,大部分产品经理都是业内经验非常丰富的人,要么是从工程师转行过来的,要么是从多年的商业领域经验转行过来的,然后读的是MBA。
经过严谨的理论推演、多轮前期研究和科学的AB Test,从提出想法到最终用户看到更新,往往需要半年或一年的时间。
许多不成功的想法还没有投放市场,因为数据不佳而“流产”。一方面,它提高了产品需求的质量,另一方面,它给了技术团队足够的时间来设计和实现可持续发展的架构。
技术团队话语权低
管理层在做决策时,往往更注重产品的更新迭代,而忽略了技术的构建。
比如技术团队有100个小时,老板可能花90个小时去实现产品功能,优化技术,修复技术债务。
于是就会出现技术实现非常粗糙的情况,举个例子,给你一周时间,实现一个 IM 功能,你还会考虑什么模块化、可维护性、性能优化之类的吗?
当然是怎么快怎么来,百度一下有没有别人实现过的代码,Ctrl+V / Ctrl+C,一点运行,诶,跑通了,上线。
所以国内很多程序员看别人的代码,感觉都是一团 Shit,完全没法维护,干脆自己重写一个。

技术老大能跑到老板面前说“我们先把产品需求停一停,让我们的技术团队好好地优化一下基础设施吧。”吗?只要他不是傻子,都不会这样说。
话语权低还体现在,对产品几乎没有决策权,甚至不能质疑产品决策,提反对意见,总会被产品经理各种理由挡回来,产品经理有一句话终结争论的尚方宝剑:这是老板要做的。
久而久之,技术债务越堆越高,Bug 越来越多,程序员不加班,谁加班?

而美国公司的现象是,技术话语权非常高,一个没想清楚的产品需求,能被技术团队直接打回去。
同时,技术团队可以自主地花很多时间在技术优化上面。产品不能按时上线?经理说:没关系,延后,按照最优的技术方案来推进。
有时候你想赶紧上线,提交一段粗制滥造的代码,会被同事鄙视死,被老板骂死。
每个季度最后一个月,专门抽出精力,来弥补技术债务,产品需求放一边先。
在这样的环境下,短期看起来效率低,但长期是最高效的。国内是“欲速则不达”,美国是“慢工出细活”。
技术基础设施差
知乎上有一个比较热门的讨论:腾讯的技术建设是否落后?这不但是腾讯的问题,实际上绝大部分公司的技术基础设施都非常差。
有多少个公司能养一个专门的 Infra 团队?有多少个技术团队能专门成立一个小团队,进行 Infra 优化?即使有,有多少个公司能保证 Infra 团队的成果能在全公司推行?
我相信能做到这样的公司是凤毛麟角的。中小公司不必说,在这样高度竞争环境下,哪有财力养一个不能直接带来 KPI 提升的团队,即使有钱,也没时间搞优化。
而大公司呢,即使腾讯这样的体量,有一个 TEG 事业群做基础设施建设。但是现实情况是,依然没有全公司通用的内部工具,各个团队依然在重复造轮子。
阿里算是做的很好的,前几年开始推行的大中台战略取得了显著的成果,解放了各个产品部门的生产力。
计算机程序这种东西,一个人写和一群人写,几千个用户使用和几千万用户使用,是完全不同的概念。
没有强大的基础设施建设,技术团队越壮大,效率越低,用户数越多,Bug 越多。
出来混总是要还的,今天没有人关注基础设施,未来就会有无数个程序员为此加班。

而说回美国这边,专门的 Infra 团队几乎是每个公司的标配了。这也是工程师文化的结果,创始人、高管团队一定有很强的技术背景,走过了很多弯路,所以非常重视基础设施建设这种“重要而不紧急”的事情。
畸形的职场文化
最后再来说说文化的差异。美国人非常注重个人和家庭,牺牲自己的时间来给公司加班,这是不可能的。
一到下班时间准点走,非上班时间完全不查邮件。很多公司入职培训就专门强调了怎么平衡工作和生活,其实就是说:下班时间就是你的时间,你有权利不处理公司事务。
反观国内,不知道从什么时候起,加班就是约定俗成的。还出现了看似很有道理的人生经验,比如“年轻人就应该多拼一下”,“加班能学到更多东西,对未来也有好处”。
加班,竟然成了光荣的、可以拿来攀比的现象,比如说加班到凌晨一两点,拍个照,发个朋友圈,收到老板的点赞很开心。
而管理者呢,还就吃这一套,谁加班多、会来事儿,考核的时候就更有好处。

在这种加班氛围下,甚至还出现了“伪加班”。早上十点到公司,上个厕所、看会儿新闻、刷刷朋友圈,就到十一点半了,什么工作也没做,然后准备吃午饭。
饭后逛一逛、睡个觉,又到 2 点上班时间了,写会儿代码、刷刷知乎,一下午又过去了,很多公司有免费晚餐,吃完饭回来 7 点左右,再写写代码,磨到 10 点。
哦耶,又是充实的一天呢,发个朋友圈给老板知道。其实一天有效工作时间还不够 8 小时,但就是“加班”了。

综上,大概就是国内加班严重的原因。我觉得这也是某个时代特有的现象,谁都没有错,谁也没有办法改变这种情况。
在国内这样一个高度竞争的环境下,公司为了生存必须跑快点,个人为了发展必须多做事,毕竟你不做就会有千千万万的人来抢。
等到中国真的发展到美国这样的发达程度,生存压力减小了,才有资格谈更好的生活品质。
作者:LJ说
简介:Google码农 | 前鹅厂PM | CMUer,漂在硅谷,与你分享产品、技术、互联网、学习成长。