为什么美国程序员工作比中国程序员工作轻松、加班少?

by , at 25 July 2020, tags : 加班 程序员 代码 效率 点击纠错 点击删除
使用CN2/CN2GIA顶级线路,支持Shadowsocks/V2ray科学上网,支持支付宝付款,每月仅需 5 美元
## 加入品葱精选 Telegram Channel ##

知乎用户 ze ran​ 发表

不是因为外国公司效率高,也不是因为他们开会多。同类的 app,不论是电商还是视频,国内的 app 远比国外的复杂,变化更快,功能更多。三天一小改,五天一大改,过个节都要出一套 ui,新功能层出不穷,做活动此起彼伏。

国内程序员的工作量,就是比国外的同行多,同样多的功能,国外程序员做,照样加班。

关键是,这些功能,真的有用吗?

知乎可以提问,可以回答,因为它是个问答社区。但它还能直播,能视频,能充值,能交易,能借书,能开课,还能众裁。正中间的按钮,有时是想法,有时是会员,是创作,是发现,但没人在乎,大家只是看看首页的时间线罢了。这么多的功能,对用户来说,体验不一定有几年前的版本好。

大量的加班时间,花在了一些可有可无的需求上。

微观上看,是 kpi 焦虑,宏观上看,是违法成本低。有多低呢?大概像水电费那么低。

多开几小时的灯,就能出个新功能,成本近乎于零,没人用也不亏,何乐而不为?没有法律层面的支持,劳动者就像在囚徒困境中,谁都不想加班,谁都不敢先走。

随着时间的推移,加班成为新常态,向各行各业蔓延。生活越来越单调,越来越重复,人从生产者,转化为生产资料。

知乎用户 Freezind 发表

其实科学的规划和合理的安排可以令每个人的工作量减少的同时令结果质量更高。

然而有些人就是不信,怎么办呢 (摊手

国内很多公司的领导自己都没有想清楚就交代任务。自己多做 1%,就可以让好几个手下减轻一半的工作量,稍微动脑子优化一下流程更是不得了。其实这就是领导能力差的表现,他们还不自知。真正的领导能力不是令人服从,而是让大家用正确高效的方法完成任务。

知乎用户 凯威讲堂 发表

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

我在血汗工厂,大亚麻。整个大部门有 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% 时间捣鼓一下配置,监控。但从来没有人加班,整天在家办公,这公司怎么还没黄。。怎么还没凉。

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

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

我说得这么清楚,应该大家都了解了吧。求赞。。比心。。


最后

  1. 如果对您有帮助,点赞让更多人看到
  2. 关注 @凯威讲堂 关于学习、升学和就业的问题都可以私信我
  3. 关注公众号「凯威讲堂带你上岸」,第一时间了解内容更新

知乎用户 匿名用户 发表

举个例子,中国某家一线互联网公司,没有统一的 ci 体系,问一下有没有内部公用的 jenkins 系统,说都是各个项目组自己搭建维护(修正一下,今天了解到其实有一套,应该是在 jenkins 上搭建,设计思路很有些特色,虽然初次使用一如既往被网络隔离卡了一下,但是我觉得还是个不错的系统。然而,也失去了使用 jenkins 各种插件的可能。。。不过应该满足我自己团队目前需求了。这套他们自造的轮子似乎只是用来给应用做 daily build,跟 CI 其实没啥关系,比如并没有针对单元测试做出什么东西,可能压根就没觉得 CI 要包括测试。。。)

然后不知道从哪里规定 “代码必须只能在公司内部机器”,所以你要学美帝去 work from home 是不可能的,要接触代码必须在公司工位上。

所以呢,单元测试没有的,自动跑测试是没有的,code review 更是做梦。

所以只能瞎 check in,然后不敢回家只能等,出了问题赶快加班,测试全靠手,然后最爱扯性能和安全。

最可怕的是因为大多数中高层老板在他们的职业生涯中是在国内早期互联网浪潮中野蛮成长的,对现代开发流程和工具可以说没什么体会和了解,现在面临新浪潮的冲击,首先是要让他们自己能理解现代模式,这就更难,别人说老子不玩你那套一样在赚钱,你忽悠谁呢?

累吗?

但是另一方面,国内程序员自己也有相当大责任。小组之间互相不透明,生怕别人看到自己代码,不愿开放共享,造成难以独立 debug(所以国内把 “联调” 看得很重);对微服务不理解,很多喜欢把自己的东西作为“组件”(也就是库或者独立程序)提供,非要别的组用各种奇葩方式来调用,说自己已经提供了 sdk,已经达到要求。。。然后就是各种艰难的调试。。。

还有个现象是一方面老板重业务,程序员又喜欢用性能做借口,我看起来很快就能实现的改动,下面的非要说影响性能所以要做几周。。。没有那种 get things done 的思维,一天纠结些细枝末节的东西。产品还压根没几个人用就在纠结性能~~~

我 tm 看着他们做得都累,何苦。

知乎用户 invalid s​ 发表

嗯,被经理举报了:

现在我切换到表扬模式。


是的,他们效率更高。

但是,国内程序员不可能通过提高效率减少加班和压力。因为这事的决定权不在你而在公司。


之前 “开发和产品经理因为识别手机外壳颜色而打架” 的传闻之所以能引起广泛共鸣,就是因为这类事实在太普遍了,太多人感同身受。

因为中高层聪明太聪明了。聪明绝顶、英明神武、别具慧眼、大巧若拙、福慧双修、绝圣弃智、兰芷蕙心、七行俱下、上智下愚、秀外慧中、足智多谋、聪明绝世、聪明睿智、聪明正直、精明能干、才清智高——人家喜欢听好话,咱得多说。尤其像这个水平的,起码值一千个关于聪明的形容词,对吧

可惜俺才疏学浅,实在凑不够数。只能列出八百个——不信您数数,足斤足两,一个不少!

啊?别看评论区。那都是不识数的。数到八百太难了,也就您这么聪明的能数清。不信您点点,八百!少一个俺再赔你一千个!

怎么样?满意了吧?

满意了我们继续。

所以,当你花大力气设计了一个精简高效的架构,把一个很难的问题干净漂亮解决掉时,绝不会有人击节赞叹——恰恰相反,他们觉得你捣鼓了个把月才产出几百行代码,反而会犯嘀咕:这人是磨洋工呢,还是不会?

你面向搜索引擎编程,乱七八糟拷一大堆东西到代码里,用到用不到都留着,KPI 表现反而会特别亮眼。

一天几千行代码当然亮眼。

一群外行,怎么会知道这几千行里面就两行有效呢。

类似的,你兢兢业业,一个 bug 都不让出,人家就把你忘了;反之,你大大咧咧,一个功能你能写出 800 个 bug——经理看起来就很忙很努力,因为他得不停的和你交流;你也很忙很努力,不停跑经理那里讨论问题:全公司你最忙你经理最敬业,不奖励你俩还有天理吗?!

你看,你好我好大家好,身为聪明人,你为什么不多写点 bug 呢。


当然了,这是极端情况。大多数公司还是没这么极端的——他们的中高层还不是那种聪明绝顶、英明神武、别具慧眼、大巧若拙、福慧双修、绝圣弃智、兰芷蕙心、七行俱下、上智下愚、秀外慧中、足智多谋、聪明绝世、聪明睿智、聪明正直、精明能干、才清智高的

即便如此,他们中的绝大多数——包括多数程序员——仍然不懂软件工程。

他们并不知道,或者说并没有想过,今天你写的每一行代码,都会是明天的新代码的地基。

即使你知道,也没办法让中高层明白。

如果你今天写的太过随意,明天就很难在这个基础上扩展它;如果你着急完成任务,今天不先把昨天的设计缺陷修改掉,而是想一个办法绕开…… 那么明天你就不得不绕着圈子躲开更多问题。

越往后,就越难改;越难改,就越容易出 bug。

但是,如果你想改昨天的代码,你就得先解决前天的问题;想解决前天的问题,大前天乃至大半年前的设计缺陷你就得逐一解决掉。然后,这大半年里,你就完不成任何新提的需求。

反正至多做三两年我就要换工作了。随他去吧,完成眼前的工作要紧。

因此,为了急功近利的眼前效率,中国程序员的长远效率自然变得极低——越往后越低。


我曾经接过一个任务。

因为高层设计的严重问题,我们不得不在网络通信层更新用户登录状态(稍微懂点的都知道这需求有多奇葩:打个比方的话,这就好像让发动机制造商在活塞上做一个阀门以便随时泄压一样怪异。原因是我们的整车商忘了装启动机也没有离合器,所以需要减轻发动机阻力方便人家把车推起来)。

项目经理不懂。他觉得一条 SQL 语句也就是 0.0x 秒的事,我们的流程耽误 1 秒问题应该不大,所以就答应了。

我说每个用户都可能卡这么 0.0x 秒,人多了咱这模块吞吐量就没法看了。这个咱不能接。真要接也行,得改成多线程架构,得多安排时间。

经理说没事,直接加就行。做出事了他们负责就是(言外之意,一旦接了这个,将来我们自己的锅也有办法拉他们一起来背)。

既然都这么说了,我就动手做。

做完,内部测试没有任何问题;但一上线,整个系统死了。

原因是,那个库负荷特别大,一条数据库更新语句能卡几秒甚至几十秒。将来人多了还会更卡。

经理说,算了,你改多线程吧。

我思考了三天,决定不动我们这边的架构;而是设计个 thread_call 接口。任何传给 thread_call 的函数都会在另外的线程里执行——为了避免读写到调用函数的局部变量、然后在线程执行时调用函数已退出,thread_call 内部会自动申请内存,把转交给工作函数的字符串等通过指针引用的参数统统复制过去;当线程执行结束,函数返回值也会保存在某地等待查询(超时或查询后自动删除),同时释放用到的资源。

为了实现这个,需要一个全局单例类负责管理线程、及时清理用到的资源;同时最好有一个线程池和一个内存池,免得频繁申请 / 释放。不然长时间运行下去,把内存弄的千疮百孔,程序就更容易出问题了。

内存池我已经写过一个泛型版本,直接拿来用就行。剩下的线程池、资源自动申请 / 释放(基于 RAII 和泛型,不支持原始指针因为无法确认空间大小、也无法确保复制成功,玩过泛型的都懂),加起来一百来行代码解决。最终代码量 300 多点,其中一大半是注释。

这个东西轻松的一次编译通过;然后挺过了各种测试,没发现任何问题。

这东西差不多相当于给 C 做了个简易协程框架(当时协程概念还没流行起来,不然我就把 yield 也实现进去了),今后遇到任何类似的 “需要并行工作、但又不涉及数据竞争” 的需求,直接写个处理函数然后丢给 thread_call 执行就好。

你看,如果程序都照这样写,是不是就会越写越快?

因为你昨天写的东西,今天可以拿来就用。写的越多,积累越多,实现新功能时需要重新实现的东西就越少,效率自然越高。

但是这个东西让项目经理作了难。

这是因为,如果算 KPI 的话,等于我花一周写了 300 行代码;然后又测了一周…… 两周 300 行代码的产出,这实在太少了。

反观别人,一个用户注册,人家一个字段一个字段一个字节一个字节的用代码检查、复制,轻轻松松搞出来 500 行。很水的几个功能轻松灌水上万行代码,然后部门 KPI 也有了,个人重要性也体现了——而且修不完的 bug:你看,离了我们这个部门,公司真不能过啊!

可我傻乎乎的 300 行代码搞出这么复杂个东西,竟然还测不出 bug…… 项目经理是知道这里面功能多,但上面觉得你忽悠他。300 行代码你还能吹出花来不成?

而且,既然没有 bug,以后人家还需要你这个部门吗?问题都解决了,我们这些人…… 还有继续雇佣的必要吗?

总之,他希望以后再写程序,尽量写长一些…… 而且,为什么要复用呢?其实每一个类似的需求,都是可以给他整个几万行代码出来的嘛。

没错。人家的预期是:这是个挺复杂挺难的任务,你应该加班加点忙上几个星期,提交几千上万行代码,到时部门 KPI 有了个人业绩也好看——将来每个类似任务都应照此办理。

而我呢,轻轻松松 300 行代码,杜绝了类似任务的出现——什么都不用管,加一行 thread_call,全都妥妥贴贴了。

一个任务对应一行,这 KPI 还能看吗?

你看,面向目标的不同,面向 KPI 编码就必然使得实现臃肿、问题频发、每天 996 过劳死…… 但做起来其实轻松愉快,因为你完全可以磨上仨月洋工,然后吹嘘 “多线程有多难”;然后还能让高层不断找你、解决诸如野指针、数据脏读脏写、死锁、内存碎片导致长时间运行后大块内存分配失败等等等等疑难问题——既让你显得重要,又能轻轻松松“骗” 来大量的 KPI,最后还不需要去学鬼画符一样、难的不要不要的泛型技术……

而面向问题编码呢,借助泛型,自动识别、复制函数参数(它们可能来自调用者的栈,随时可能失效),再加上用池来加速资源回收 / 分配效率、提前杜绝内存碎片问题——这完全是个简单轻松解决的小模块。而且只需解决一次,我们自己的 “类协程库” 都出来了,以后写程序会越来越快、越来越好:你甭管我怎么做完的、耗了多少时间,功能点我给你实现了、上线后 bug free,是不是对双方都有利?

但是,后者在这个公司行不通。

代码量少没 KPI 你气不气?

bug 写的少没人找你显得你不重要,倒霉不倒霉?

将来项目失败抓人背锅时,别人说我天天加班 996007 态度端正;而你呢,955 一分钟班不加,这态度是不是很能说明问题?

从上到下都不懂你能怎么的?

别说这家公司的管理者了,他们的技术人员自己都不懂。我两个关系比较好的同事,还真以为我们是公司里干活最少、最不重要的几个呢。

因为别人忙忙碌碌总有干不完的活、修不完的 bug,高层中层领导天天围着转,求爷爷告奶奶但任务就是做不完,重要的不得了。而我们几个公司公认的技术专家呢,每天到时间就走;座位上冷冷清清,从无领导过问;经常上班时间闲极无聊于是借 “学新技术” 的名义逛论坛……

时间久了,他们自己都心虚:为啥别人总是有干不完的活、见不完的领导?为什么我们经常整周整周的没有任务、闲坐着发呆?人家是不是比我们干的多、任务难啊?不对啊,每次分配任务,分给我们的,都是别人接不了、不敢接的啊?

直到有一天,午饭后散步聊天打屁谈到这事,我才觉得不对,提议回去看看工作日志 / 提交记录之类东西。

那天我们大概照例聊到了下午三点吧——没错,因为事少,因为要都要不来工作,一个月至多也就忙一周,955 都大块大块的空闲时间。别说加班了,平常上班我们都经常偷空出去散步。

悠哉游哉回到公司之后,我们就去翻看所有同事的提交记录和 bug 报告数据。这才惊讶的发现,我们比其他同事完成的功能点数量高出 5~10 倍、难度也普遍更高,bug 率却近乎为 0——别人一个功能点能有密密麻麻几十个 bug,而且上线几年 bug 都抓不完;而在我们看来,这些都是压根就不应该发生的低级错误,而且我们提交的代码的确不包含这类错误。

所以,别人一年只做三四个功能点,每个功能点都要出十几、几十个 bug;而我们呢,一年起码几十个功能点,加起来不过 3~5 个 bug(我更是一年只有 1 个 bug,而且 bug 原因还是需求没写清:某个字段让返回字符串,我按照 C 惯例后面加了个‘\0’;对方用的 java,不能识别这个 \ 0)。

问题是,“我们接的任务最多最难”,这事我们项目经理知道,中高层领导不知道。

中高层领导知道什么呢?他们只知道,这个任务总是在别人那里卡住;他们只知道,系统出了问题,该找的人肯定不是我们几个(从不出 bug 自然不需要找)——所以你猜,在他们心里,谁更重要?

于是我决定辞职。

这是我第一次进这种公司,也是最后一次。

因为这种公司完全是 “逆淘汰”。水平越差越吊儿郎当越吃香,水平越高越兢兢业业越被边缘化。

知乎用户 李明 发表

总体来说,和国内比,老美的程序员(白人,非 h1b)都活在天堂里。

在国内的 BAT 的两家都呆过,996 真不是盖的。。。每次想起来都心有余悸,这辈子干过的最明智的事就是从鹅厂辞职来这边读个 master 然后工作。

这个问题上很多答主都在扯淡,那个亚麻的说开会多就会少走弯路?不带这么扯犊子的。国内开一下午会晚上继续写码到凌晨两点是常态。vzch 说美国有工会文化,正确对待的员工方式留下来了,这个只说对了一半。国内是没有工会组织,但加班多归根到底还是因为人力太贱,僧多粥少。每年海量的应届生,而且行业之间的人力资源会传导的。因为 IT 行业较其它行业工资高,一直都有大量的其它行业的通过培训班转到 IT 行业。你不想加班自然有别人想加班。不加班是吧?年底就你考评就最差,自己滚蛋。

加班这个不限于 IT 行业,我老爹在长三角某市压铸行业,他们那个行业周六早上上班是例行的,所有的厂子都这样。以前在国内每次看到他周六早上起来上班都心疼的要死。。。

什么时候,你出去点一个菜最少都要 60 快了,逼得你大部分时候都在家做。出去想洗个脚,一个钟 300 起,逼得你自己在家泡脚。小县城饭店服务员一个月工资也可以买两个 iphone x 了。一个刚从三流二本学校比如南通大学毕业的应届生,也能轻轻松松找到程序员的工作,税前年薪 50W。如果你是中国公民或者绿卡,刚把 linkedin 改了改当天就收到 30 多封猎头的邮件。一言不合就能开了老板,找工作也就几天的事。而且 IT 行业因为人力短缺,大厂们开始从朝鲜、越南招人来国内工作了。

这个时候,就不会有什么 996 了。因为中国已经成了发达国家,各行各业的人力成本都上来了。

再来扯扯美国这边的情况。硅谷也呆过,换了三家公司,现在在南部州养老。美国也有自己的问题。老美(主要是白人)几乎从来不会加班,比如早上九点半来上班,下午五点半准时走。真的准时走,雷打不动,根本不 care 今天活干没干完,对进度有没有影响,没干完明天继续做。下了班客户出了紧急问题连电话都不会接的。也别扯他们干活多认真,看看球赛去 reddit 扯扯淡,有时一天就这么过去了。

公司主要还是压榨老印和老中这些 h1b 员工。因为拿着 h1b 签证,生怕被 lay off,所以一个个都是如履薄冰,加班任劳任怨。老印也没有像有的人说的那么懒。因为他们如果被逼回国那真是从天堂到地狱,所以心里压力比老中还大,加起班也不输老中的。

每次带新项目给我派人,我其实打心眼都不想要老美的,只想要老印和老中。没别的原因,太懒。项目有时候到白热化,不加班是不行的。

当然了,我说的老中老印加班,和国内的 996 真没法比的,这边最忙的时候也就是一周有那么三天搞到了 7 点半,周末在家花了半天时间回了邮件,仅此而已了。

资本家也不是傻子,这些都是知道的,尤其是硅谷那些大厂们,一直都想扩大 h1b 的名额。川普是代表美国本土白人的利益的,上来就搞掉了 h4 ead,收紧 h1b,加大了审核力度。

当然了我不是说白人就不行,国内 IT 行业感觉最大的问题就是缺乏深度,一水的愣头青,说白了就是老专家不多。这边公司平台组的一些白人老头技术专家架构师那真的是厉害的不要不要的,在这个行业摸爬滚打好多年了,都是经历过上古时代写过 cobol 语言的。。。相比国内就很浮躁,30 多不转管理就要被灭的感觉,没办法。
扯了这么多,勿喷。

知乎用户 程墨 Morgan 发表

我在参加工作前看过《人月神话》,思想上也很受推崇敏捷开发的国外前辈影响,加上我工作的大部分公司都是外企,所以,我观念上早就认定这样一个道理:一个程序员如果一周工作时间超过 40 个小时是肯定会降低工作效率的

换句话说,加班肯定会让程序员工作效率降低。

当然,话不能说死,有一种加班实际上有利于效率的,那就是程序员主动加班(我说的是真的主动,而不是签了 “奋进者” 之类协议之后的“主动”),如果程序员真心热爱自己的工作,停不下来,加班把事情昨晚,当然更好。但是,这同样不长久,之后程序员依然需要休息才能恢复过来。

其实,当过程序员的都明白这个道理,**绝大部分加班都是效率低下的表现。**要是效率真的高,还很犯不上加班,那么,为什么程序员还要加班呢?

我再说个大实话吧:绝大部分加班,都是管理者无能或者无耻的表现

管理者如果懂得现代管理,知道让员工发挥主观能动性、让员工热爱这个公司、让员工身心健康对公司对员工都是好事,那就不会强制加班,但是,我国目前大部分管理者无此觉悟。

我国大部分管理者和资本方的意识(或者潜意识)是:我给你工作机会,我培训你工作技能,我给你工作经验,过几年之后谁说的准你还跟不跟我干,赶紧压榨你才是正经的,能多压榨一点是一点,什么科学管理,狗屁,没那时间也没那必要去搞。

从程序员角度出发,这个行业风气如此,你对一个公司不满意可以辞职不干,但是你换一个工作可能还是这样的风气,所以你逃不出这个行业的魔掌。

谁也没办法和风气作对啊

知乎用户 2gua 发表

不知道别人的情况,说说国内的几个典型情况:

  1. 需求完成了一半,项目经理过来说领导 PPT 里的思路又变了,需求要推翻重来——面向领导编程日常一。
  2. 需求完成了一半,项目经理过来说客户方领导换了,需求不做了——面向领导编程日常二。
  3. 产品怪程序员脑子瓦特了,一点点需求做半天;程序员怪产品不懂技术,需求前后调整 7 次。
  4. 公司为省成本,找了几个实习生干活。实习生走了,留了一堆翔一样的代码,还得推倒重来。
  5. 你不愿 996 你就是没有价值观,性质跟抢月饼等同视之。
  6. 你不努力你的活可能很快就被培训班出来的所取代,人家还比你更便宜,应聘的排着队等。
  7. 今年的指标比去年增加了一倍,为了完成指标天天白天开会晚上写代码。
  8. 离职入职公司走马灯似地换人,接手的代码没文档,代码都不知道经手了几茬人,天天不是重构就是重写。

知乎用户 匿名用户 发表

话说回来,谁会真的 996 满负荷拼命呢,还不是上有政策,下有对策,得过且过。

最关键的一点是,不能做一块总是能挤出水的海绵,否则就等着被挤干吧。

这不,世界杯话题聊了两个小时,晚上继续加班。

今天带薪拉屎 了 40 分钟,出去抽了三次烟,每次 15 分钟,聊聊各种话题(不包括上面说的世界杯话题)50 分钟,午睡晚起了 10 分钟,早上打卡后早饭吃了 15 分钟,刷刷手机网页各类信息 1 个多小时,等着编译器转菊花……

我是 996,我骄傲 ✌️。

最后补充一句,一个人加班是自己能力的问题,整个公司(大多数人)加班就是公司的问题。

知乎用户 唯心而已 发表

来传递点负能量,做了 4 年多游戏了

在国内做游戏都是外行指挥内行,做的越快越多改的越多

还不如直接拖到 deadline 之前做完,大家都没时间改,你好我好大家好

在国内,你做的快是工作不饱和,下次分配任务你会被增加工作量,而且你做的快还不能早下班,早下班就是没有集体意识

这种环境下怎么出效率出产品?

还有看楼下说开会的,国内开会现在也开,开会定了之后 leader 说改就改,你还不能有意见,因为人家说是对数据负责,改了之后的工期还要算在你头上,你上哪说理去?

知乎用户 疯狂的 Java 说书酱 发表

提起程序员,第一时间浮现在我们眼前的关键词可能就是工资水平高、技术含量高、工作压力大。

这种生存现状到底是中国程序员的个例还是全世界码农的共同境遇?

美国的大龄程序员会遭遇解雇危机吗?

加州码农是否真的像传说中的那样,拿着全球程序员梦寐以求的 $60w 高薪呢?

看完这篇文章,你会发现,美国程序员的生活可能并不和你想象的完全一样

1

程序员是当下美国最吃香的工作

首先,对于美国华裔来说,程序员是最容易获得 H1B 工作签证的职业,没有之一

根据 My Visa Jobs 的统计数据,2019 年获得 H1B 签证人数最多的职业,前 5 名分别是软件开发师、软件工程师、系统分析师、高级软件工程师和高级系统分析师,第 6 名和第 7 名也是 IT 相关工作,第 8 名才是咨询顾问。

2019 年美国下发给顾问行业的签证人数是 6004 人,而软件开发师则有 34905 人,巨大的差距一目了然。

近年来美国对于 H1B 签证的下发一再收紧,而程序员在签证方面俨然已经遥遥领先其他行业。

图片来源:My Visa Jobs

其次,找工作容易

根据美国就业网站 Career Cast 最新发布的报告,2019 年 IT 行业的缺口仍然很大。在 Career Cast 统计的七大最受雇主欢迎的职业中,软件开发人员排在第 1 位。

报告称,由于移动互联网行业的爆炸式增长,美国公司对于软件开发人员的需求持续增长,到 2024 年,需求增长将达到 31%。

而且,与 Career Cast 列出的其他几个高需求职业(医疗科研人员、建筑师等)相比,软件开发师这个职位对就业者的学历要求比较低,一般来说本科毕业生就可以胜任。

图片来源:Career Cast

最后,程序员在美国也是个人人眼馋的职业。

在 U.S.News 统计的 2019 最佳职业 TOP100 中,软件开发师又双叒叕排在第 1 位(去年也是第 1),

中位数薪资达到了 $101,790,比第二名高出 $17,730,而失业率仅有 1.9%。

图片来源:U.S.News

它同时也是 STEM 领域的最佳工作和科技领域的最佳工作。

综合以上信息来看,在美国当程序员的确是个很好的选择:

签证好拿、工作好找、社会地位还高。

2

美国的程序员爱去哪些城市?

前文已经提到,程序员在美国有着非常多的工作机会。在 Glassdoor 上搜索 “软件工程师”,跳出来的搜索结果有 113074 个相关岗位。

但是,这些就业机会也不是每个城市都均等的

在中国,北上广深等城市发展快,许多大型互联网公司都在这些城市扎根,拥有更多就业机会和发展空间,自然受到更多程序员的青睐。和中国一样,美国城市也分科技水平高、大公司多的城市和相对比较落后的地区。

Rent Berry 总结出几大程序员就业的热门城市,分别是:

华盛顿州 西雅图市

西雅图被称为 “美国未来的科技圣地”,但事实上,西雅图科技领先的趋势已经建立几十年之久了。

这里有 Microsoft,和 Adobe 等实力强、历史悠久的大型企业,程序员在西雅图的公司可以得到更为稳定的发展,同时这个城市的生活成本也在可控范围内,因此成为美国最受程序员欢迎的城市第 1 名。

加利福尼亚州 圣何塞市

近年来,越来越多的美国人开始相信圣何塞会在未来几年内成为旧金山的替代者。

这个城市的发展速度的确很快,在过去 10 年中间,圣何塞的科技工作岗位增加了近 80%,如今这座城市内的科技工作岗位占所有工作岗位的 14.1%,是全国平均水平的五倍。

加利福尼亚州 旧金山市

既然提到了程序员,怎么少得了世界公认的美国科技中心呢?

旧金山有 Facebook,Google,Linkedin 的总部,是任何程序员都梦寐以求的地方,不过近两年它的吸引力在逐渐下降,因为旧金山的房价实在是太高了。

亚利桑那州 凤凰城

乍一看,对于从事高科技职业的程序员来说,选择凤凰城作为自己的归宿好像是挺奇怪的,但如果仔细思考一下,凤凰城其实也是一个对程序员很友好的城市。

它是全美软件工程师收入最高的 25 个城市之一,平均薪资达 $8,7997。虽然这个工资放在硅谷的确没什么吸引力,但你别忘了,凤凰城的消费水平低,它的租金仅为旧金山的 1/3,生活费用比全国平均水平低 2%。

在这里居住,生活压力比生存在湾区可小太多了。

综上所述,我们可以得出结论:

在美国,程序员的确会聚集在硅谷、西雅图等一线城市,但也有不少人会选择凤凰城等二线城市。职业发展并不是美国程序员选择落脚地的全部因素,他们同样看重生活质量。

3

在美国当程序员,挣得多不多?

这恐怕是大家最关心的问题。Quora 上经常能看到类似 “某某地的程序员能挣多少钱?” 或者 “程序员挣得多吗?” 的问题,在人们潜意识的认知里,硅谷顶级软件公司的程序员拿的都是天价工资。

然而事实真的如此吗?

首先,我们先来了解一下美国程序员的工资构成,他们的工资可不只是月薪、年薪这么简单,而是由以下几个部分构成:

基础工资(base);

额外奖励(bonus);

签字奖励(Sign on bonus);

股票(stock);

额外股票奖励(Stock Refresher)。

其中基础工资是按月发,每个月固定,通常由工程师所处的级别决定;额外奖励则是按年发,通常由绩效决定;股票一般是签约的时候定下来的一个数字,分四年发,也是由级别决定;额外股票奖励和额外奖励差不多,但发放的形式是以股票形式给员工,也是由绩效决定;签字奖励则是签约入职的时候直接发放的一笔钱。

我们可以看到,和中国的情况相似,除了绩效之外,程序员的级别也是决定工资多少的重要因素。关于级别,美国的公司分级的方式都不太相同。

图片来源:levels

拿 Facebook 来说,工程师的级别分为 E3-E9,分别对应实习生到资深工程师、技术大牛再到公司合伙人,每一个级别拿到的基础工资、股票和额外奖励都不一样。

一个最初级的入门软件工程师,一年的基础工资、奖金、股票等全部加在一起大概有 $173,662,而一个 E7 级别的软件工程师全部的年薪可以达到 $661,167,差距十分可观。

图片来源:levels

除此以外,美国程序员的薪酬水平还与所在地区有着很大关系。

正如上文所说,在硅谷、华盛顿等高科技产区和一线城市,程序员的工作机会多,收入也相对较高,而在一些二线城市,程序员的薪酬就不会有那么可观了。

美国劳工统计局 2019 年的最新统计数据显示,软件工程师的就业地区中薪酬最高的前三位分别是华盛顿、加州和纽约,平均年薪分别是 $ 131,790、$ 127,950 和 $ 116,830。

图片来源:美国劳工统计局

但是,这些大城市虽然薪酬水平高,但消费水平更高。有趣的是,2016 年加州曾经提出过一个议案:

$250K Per Year Salary Could Qualify For Subsidized Housing Under New Palo Alto Proposal – 为年薪 25 万美元以下家庭提供经济适用房。

由此可见,25 万美元的家庭年收入对于加州人民来说已经濒临贫困线了;可在美国绝大多数地区,家庭年收入根本就达不到 25 万美元。

因此我们又可以得出结论:

在美国,并不是所有程序员都能挣得多;而那些挣得最多的人,生活水平却并不见得是最高的。

4

美国程序员是 996 工作制吗?

在国内,“996ICU” 是程序员界通用的暗号,意思是早上 9 点上班,晚上 9 点下班,一周上 6 天班,生病直接进 ICU。

工作强度高、压力大是程序员工作的常态,如果你在街上看到一个精神萎靡、满头白发的人,他很有可能不是你的爷爷辈,而是某大型互联网公司连续加班一周的 26 岁程序员。

那么,美国的程序员工作强度如何,这个以自由和人权闻名的国家是否也采用 996 工作制呢?

对于这个问题,Quora 上的一些回答给出了很好的答案。

一般情况下,工作时间是 10 :00- 7:00 或 10:30 - 7:30(包括午餐和休息时间)。我上一家公司的工作时间是下午 1 点到晚上 9 点,但这种情况很少见。

在关键时期,人们可能会工作 12 小时,例如从上午 9 点到晚上 9 点。

我工作过的大多数软件公司都有一些灵活的工作时间,不需要员工上下班。

@Christopher Burke

作为一名软件工程师,我并不觉得每周工作 50-60 小时会让我的效率更高。我认为 40 小时就足够了。

在进行软件开发的时候,我需要提出创造性的解决方案,有时在连续工作 6 个多小时之后我就无法产生创造性的想法了。这个时候最好回家,跑步、阅读、睡觉,第二天早上再解决问题。

所以对我来说,每天最多工作 7-8 小时!

@Wesley Vogels

我已经干了 20 多年的程序员,我发现上班时长很大程度上取决于公司。

在有些公司,我每周工作 40 到 50 个小时。而在有些公司,我每周要工作 70 个小时左右。

当某项任务达到关键时刻时,就会出现工作时长的 “激增”,每个人都工作到很晚,周末也持续工作。

但是如果激增持续时间超过两周,我建议你立刻开始寻找另一份工作

@Eric Wadsworth

也就是说,除非有特别紧急的任务要赶,996 什么的在美国基本上是不存在的,

美国程序员令人羡慕嫉妒恨的工作强度基本是这样的:

每周不超过 40 个小时,工作时间比较弹性,很少加班。

5

美国程序员的职业发展如何?

前段时间我国互联网公司大规模裁员大龄程序员的消息让大家人人自危,由于互联网行业更新换代速度快的特性,程序员在 35-40 岁会迎来一个瓶颈期,如果不能持续学习,很容易在年纪大、精力衰退的时候被年轻人取代。

同时有很多人也很好奇:在美国,大龄程序员也会面临被解雇的窘境吗?

事实上,2018 年 IT 界最大规模的裁员就发生在美国——美国最大的通讯运营商、市值 2200 亿美金的 Verizon,遣散了 4.4 万名员工。

所以,不光是中国,职业发展的困境几乎是所有的大龄程序员都必须面对的。即使在一些实力强劲的大公司,被辞退的梦魇也依旧如影随形。

在 Blind 于 2019 年做的关于担忧自己被解雇的调查中,只有 64% 的人认为自己是安全的。

在特斯拉,77% 的技术人员认为自己可能会被解雇,在 ebay,也有 72% 的人存在着这种担忧。

图片来源:Blind

然而,我们也的确看到美国有些 50、60 岁的老人还在互联网公司上班,做的依旧是敲代码的工作,这又是怎么回事呢?

事实上,他们中的很多人并不是被辞退,而是进入了管理层或者其他工作领域

在美国,从事编程工作的人转行机会非常多,对于许多行业,例如企业管理、项目管理、客户支持、销售工程等领域,编程都是一项很有价值的经验。

其次,美国有许多大公司也愿意把为公司做出过贡献的高龄程序员留下。因为他们是公司核心软件的原创作者,同时也由于年龄问题没办法跳槽去更好的企业,这就使原公司能够以更低的工资留住这些技术元老。

当然,美国也有不少程序员出于对这一行的热爱,会选择一直干到老。

图片来源:Quora

Quora 上的高龄程序员是这样说的:

我今年已经 57 岁了。

我写代码的速度不再像以前那么快,但是我写的代码结构更好。

跟我 30 岁的同事相比,我完成一个功能的速度更慢,但我的代码通常更模块化,更容易扩展,它通常能够处理更多边缘情况和错误条件,并且更好地覆盖测试。

作者:京领新国际

原文链接:https://kuaibao.qq.com/s/20190905A0I66D00?refer=cp_1026

疯狂 Java 说书酱福利区,架构师资源私信获取

知乎用户 李小白 发表

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

社会形态的差异

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

比如,

[Google paid female employees less than male colleagues​www.theverge.com

](https://link.zhihu.com/?target=https%3A//www.theverge.com/2017/12/6/16742506/google-sex-discrimination-lawsuit-vague)

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

[Google accused in lawsuit of excluding white and Asian men in hiring to boost diversity​www.usatoday.com

](https://link.zhihu.com/?target=https%3A//www.usatoday.com/story/tech/news/2018/03/01/google-accused-lawsuit-excluding-white-and-asian-men-hiring-boost-diversity/387532002/)

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

美国的企业非常怕事,哪怕他们没错,他们都会花重金摆平这件事情。比如前段时间的 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 是中国企业的强项。为了保持这个优势,唯一的方式就是加班了。

知乎用户 沈世钧 发表

恰恰相反。

国内程序员,单打独斗的能力绝对一流,不敢说远超越国外,但至少不逊色。

但问题是,为什么这些一流的程序员和在一起,同样的产出,却要比别人工作更长时间,付出更多辛劳呢?

我们不禁要问,我们多付出的时间和辛劳都去了哪里呢?

想到这,我要分享一个故事,就是最近,疫情期间,我朋友公司的故事。

朋友做 Java 后端开发,受疫情影响,公司业务大跌。

要说,这种情况下,大家应该无事可做才对,但和朋友聊天,情况恰恰相反,朋友的原话是:

“忙疯了!原来加班到 10 点,现在则是 12 点,活根本干不完!”

听罢,我回了句 “呵呵”,然后冷冷的说:

“瞎忙,行为艺术而已!”

沉默了一会,朋友回复说:

“太对了,就是瞎忙!”

“因为没有业务,怕被裁员,大家就越拼命加班,好显得自己很忙,很重要的样子。”

“其实,公司都没业务了,做的东西不过是闭门造车,根本就是伪需求!”

“但这不重要,要的是态度,是表现!”

朋友的这段话,真真道出了程序员整日忙碌、整日辛苦的天机。而这个天机恰好在疫情期间被戏剧性的放大了,但本质和原来并没有区别。

不是我们的工作需要辛苦,而是我们需要做出辛苦的样子

因此,朋友,如果你是一名程序员,你可曾质疑过自己,我们每日开发的东西,有那些是用户真正的需求?又有那些不过是些 “表演艺术”?

也许,经过思考后,你会发现,我们的忙碌根本经不起审视,它一直很 “荒谬”!

荒谬的领导,荒谬的需求,荒谬的任务,荒谬的 KPI,荒谬的…

最后,导致的是荒谬的忙碌!

知乎用户 偶然讴歌的卢瑟 发表

严格执行劳动法

严格执行加班薪酬补偿制度

聚餐时看到这个问题,恰巧旁边坐了一位在皇家银行做码农的同学,问了一下他加班和工作强度的情况

他的回答是加班不少,但项目管理人员事先要和员工打招呼,并且发比正常时薪高两到三倍的加班费,如果是在周日超时加班,加班费可能高达正常时薪 4 到 5 倍。看在待遇的份上,他本人是很愿意加班的,毕竟下班回家闲着也是闲着,加班有这么多钱拿何乐而不为。

但,即使他想加班,所在岗位也不允许他随意加班,原因就在于高昂的加班费。

每次领超额的加班费,他首先要和项目管理人员签一份合同,他本人同意加班,经理同意发加班费,然后经理要拿着这个合同再去人事部门得到批准,人事和经理两边都过关后这份文件再转到财务部门,这时财务部门才给他发加班费用。

如果一个项目组总是要加班,总是要支付大额的加班费,财务部门就会面临超支的问题,质问项目组负责人在经费和人员安排上是不是不合理。如果项目方表示活太多人手太少,财务部门就要征询人事部门为什么事先不招够有水平的人;反之,如果项目总是出现延误而不得不临时加班,人事和财务要质询项目管理人员的管理能力。

当然,这里面有一个时间差可以利用。项目部门可以和工作人员签合同让他们加班,然后再以人事部门和财务部门不同意为利用不发加班费。我同学表示这种事情也发生过,不过非常少,经常这么干员工们会投诉,管理层会被纪律和 HS(Health and Safety)部门撸掉的。

如果公司什么都不干,劳动法伺候之

不过

不过

不过

企业的应对办法有

1,找临时工,即劳务派遣工,contractor,虽然都坐在同一个办公室内,但这些员工不享受任何福利,没有退休金,没有劳务补偿,想让他们加班多久就干多久。作为平衡,这些人的时薪比正常员工通常高两倍。

2,不按时薪和月薪来,按照项目进度和完成度发薪水。开放远程和在线办公,八个小时工作时间排进十二个小时才能完成的任务量,如果你还是能在八小时内完成,算你是大神你牛 ×;如果不行,自己回家在远程平台上继续干完,不过既然是下班后自己在家干活,就不算是加班。

3,量大而简单重复性的工作交给实习生。实习生不算正式员工,任劳任怨,一般只要给比法定最低薪水高一点点的工资就分满足了。

4,签 zero hour contract,上面第 2 点的加强版,在合同里点明了这份工作要经常超时加班,下班后还要 on call,你愿意签就来干活,不愿意就滚,一个愿打一个愿挨。

在就业压力下,以上 4 点很容易执行,大批老印老中排队干 contractor 同时还自愿把薪水降低到普通员工还低的水平。

知乎用户 灵剑​ 发表

主要是因为在美国违反劳动法代价太大了,扯别的都没啥用…… 大家都必须合法经营的时候,自然是在这个基础上去比拼效率;而大家都可以一定程度违法(比如 996)的时候,996 的天生有优势,那么公司也都会倾向于 996 走起。在国内,目前无论是仲裁还是起诉,都难以对这种利用 KPI 逼迫程序员 “自愿加班” 的做法提出补偿请求,而且即使成功,也只是针对单个员工,并没有集体诉讼的手段,也没有集体诉讼的群众基础。

另一方面,中国程序员群体很年轻,买房、结婚压力很大,本身也有许多人愿意花更多的时间、甚至一定程度上牺牲健康来换更多的钱。这也导致程序员群体本身没有办法团结起来去反对 996——如果严格 40 小时工作制,但是工资减半、年终奖减半,很多程序员也是不乐意的。

其实说到底,为什么美国对于劳动法执行这么严格?的确 8 小时工作制是无产阶级通过艰苦斗争甚至流血牺牲争取来的,但到了今天,坚决维护 8 小时工作制其实更有利于大资本家,因为如果不严格执行,大资本家有舆论监督,而小资本家偷着 996,就很容易追赶上大企业,尤其是在互联网行业;反过来,严格执行 8 小时工作制,大企业就能在同等条件下产生体量优势。所以大企业会反过来推动更严厉的执法,保证小企业不会利用不对称的优势威胁自己的垄断地位。所以你也会看到美国不遗余力地要把劳工权益保护写进自贸协定里。中国反过来,大企业带头加班,这就比较烦人了。

知乎用户 center vim 发表

需求随便提,做完了后发现不符合整体设计,分分钟就可以决定废弃掉,结果是程序员做了一大堆事情,对项目有效的事情就一半,如果程序员此时还不加班,怎么能达到项目的预计进度呢

知乎用户 王海 发表

其实国内常态的加班大多是表演式加班,早上去的晚,午饭后搞一大觉,晚饭后吹会牛逼看看网页,有效工作时间不超过八小时,但看上去加班了…

知乎用户 孟德尔​ 发表

请问,这个问题下的各种管理论,素质论,效率论,领导外行论…… 如何解释日本企业呢?

80 年代,泡沫巅峰时期的日本,东京地价顶美国全国,日本企业买下美国,大企业奖金都是现在的十倍甚至上百倍。彼时 IT 革命才刚开始,互联网霸主连影都没有,美国工业全面破产,美国在日本人眼里就是一个纯粹的农业国。

当时的日本人缺钱吗?日本企业管理落后吗?美国人工作效率高吗?然而美国人还是 6 点不到就下班,日本人还是加班到 9 点大家去小酒馆喝酒最后赶末班车回家。

如果说日本人的拼命换来了当年的繁荣,那么现在的日本经济一落千丈,奖金发不出来,日式管理千夫所指,为什么日本的加班文化仍然跟泡沫时代一样呢?

就算未来中国 IT 企业垄断全球,工作效率比谷歌脸书高一百倍,人人年入一亿美元,你们照样加班到 11 点。

只要中国 IT 企业没死光,这个垃圾企业文化就会一直持续下去。老板觉得应该这样干,员工也觉得自己能承受,哪怕你们所有人集体辞职,社会上也多的是想要顶替你们加班的小朋友。

真正的原因是投错胎了,其他都是借口。

知乎用户 L-Jay 发表

先问是不是,再问为什么。

难道美国的程序员就不加班吗?他们就一天八小时工作,还想来就来,想走就走?非工作时间完全找不到人?还有什么食物饮料都免费提供?

让我来告诉你真实的情况吧,还… 真是这样的。

加班文化应该是中美两地最明显的不同了,形成这种差异的原因不是一两句可以讲清楚的。我在两个国家都工作过,也在不同岗位工作过,所以就尽量从不同角度来简要说一下。

国内程序员加班严重,首先问题不在程序员这个群体。


产品层面拍脑袋决策多

产品层面,拍脑袋决策多,美其名曰:互联网思维、小步快跑、试错思维,其实是没想清楚,反正我就需求一提,技术团队来做,上线后成功了我是产品天才,失败了也没啥坏处,找个借口说什么 “互联网市场变化太快” 也能搪塞过去,或者找个新项目,继续画大饼。

国内的产品经理实在是太多了,很多还是刚毕业的小鲜肉,没有一点经验积累,凭借天马行空的想象力,提一个需求,就能让一帮技术专家为之操劳好几个月去实现,这简直是不可思议的。即使产品经理很厉害,但人数一多,每个人都要业绩,都拼命想点子、提需求,技术团队怎么能招架得住那么多需求呢。于是就会这些现象:

  • 节假日来了,我们上一个活动,或者节日小彩蛋功能。
  • 竞品上了一个 xx 功能,看起来不错,我们也抓紧上一个。
  • 10 个产品经理同时跟你说:这个需求我跟老板对过了,xx 之前必须上线。

产品经理没有想清楚某个功能的价值,或者带来的收益不痛不痒,而技术团队则需要为此付出巨大的心血,也就是加班。当然这也不一定是产品经理的错,国内公司,老板的指令太多了,不说了,你懂的。

在美国这边,产品经理大多是行业经验非常丰富的人,要么是从工程师转过来,要么是从多年的商业领域经历然后读个 MBA 转过来。上线一个功能,经过严谨的理论推演、多轮前期调研、科学的 AB test,从提出 idea 到最终用户看到更新,经常耗时半年或一年。很多不成功的 idea 还没面市,就因为数据不好而 “胎死腹中”。这样一方面提高了产品需求的质量,另一方面也给技术团队足够多的时间来设计和实现一个可持续发展的架构。


技术团队话语权低

管理层在做决策时,往往更重视产品更新迭代,而忽视技术的建设。

比如说技术团队有 100 个小时,老板可能会把 90 小时都投入到实现产品功能,给技术优化、修补技术债务。于是就会出现技术实现非常粗糙的情况,举个栗子,给你一周时间,实现一个 IM 功能,你还会考虑什么模块化、可维护性、性能优化之类的吗?当然是怎么快怎么来,百度一下有没有别人实现过的代码,ctrl+v / ctrl+c,一点运行,诶,跑通了,上线。

所以国内很多程序员看别人的代码,感觉都是一团 shit,完全没法维护,干脆自己重写一个。

技术老大能跑到老板面前说 “我们先把产品需求停一停,让我们的技术团队好好地优化一下基础设施吧。” 吗?只要他不是傻子,都不会这样说。

话语权低还体现在,对产品几乎没有决策权,甚至不能质疑产品决策,提反对意见,总会被产品经理各种理由挡回来,产品经理有一句话终结争论的尚方宝剑:这是老板要做的。

久而久之,技术债务越堆越高,bug 越来越多,程序员不加班,谁加班?

而美国公司的现象是,技术话语权非常高,一个没想清楚的产品需求,能被技术团队直接打回去。同时,技术团队可以自主地花很多时间在技术优化上面。产品不能按时上线?经理说:没关系,延后,按照最优的技术方案来推进。有时候你想赶紧上线,提交一段粗制滥造的代码,会被同事鄙视死,被老板骂死。

每个季度最后一个月,专门抽出精力,来弥补技术债务,产品需求放一边先。

在这样的环境下,短期看起来效率低,但长期是最高效的。国内是 “欲速则不达”,美国是 “慢工出细活”。


技术基础设施差

知乎上有一个比较热门的讨论:腾讯的技术建设是否落后?

这不但是腾讯的问题,实际上绝大部分公司的技术基础设施都非常差。

有多少个公司能养一个专门的 Infra 团队?有多少个技术团队能专门成立一个小团队,进行 Infra 优化?即使有,有多少个公司能保证 Infra 团队的成果能在全公司推行?

我相信能做到这样的公司是凤毛麟角的。

中小公司不必说,在这样高度竞争环境下,哪有财力养一个不能直接带来 KPI 提升的团队,即使有钱,也没时间搞优化。

而大公司呢,即使腾讯这样的体量,有一个 TEG 事业群做基础设施建设。但是现实情况是,依然没有全公司通用的内部工具,各个团队依然在重复造轮子。阿里算是做的很好的,前几年开始推行的大中台战略取得了显著的成果,解放了各个产品部门的生产力。

计算机程序这种东西,一个人写和一群人写,几千个用户使用和几千万用户使用,是完全不同的概念。没有强大的基础设施建设,技术团队越壮大,效率越低,用户数越多,bug 越多。出来混总是要还的,今天没有人关注基础设施,未来就会又无数个程序员为此加班。

而说回美国这边,专门的 Infra 团队几乎是每个公司的标配了。这也是工程师文化的结果,创始人、高管团队一定有很强的技术背景,走过了很多弯路,所以非常重视基础设施建设这种 “重要而不紧急” 的事情。

畸形的职场文化


最后再来说说文化的差异。

美国人非常注重个人和家庭,牺牲自己的时间来给公司加班,这是不可能的。一到下班时间准点走,非上班时间完全不查邮件。很多公司入职培训就专门强调了怎么平衡工作和生活,其实就是说:下班时间就是你的时间,你有权利不处理公司事务。

反观国内,不知道从什么时候起,加班就是约定俗成的。还出现了看似很有道理的人生经验,比如 “年轻人就应该多拼一下”,“加班能学到更多东西,对未来也有好处”。

加班,竟然成了光荣的、可以拿来攀比的现象,比如说加班到凌晨一两点,拍个照,发个朋友圈,收到老板的点赞很开心。而管理者呢,还就吃这一套,谁加班多、会来事儿,考核的时候就更有好处。

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

其实一天有效工作时间还不够 8 小时,但就是 “加班” 了。

综上,大概就是国内加班严重的原因。

我觉得这也是某个时代特有的现象,谁都没有错,谁也没有办法改变这种情况。在国内这样一个高度竞争的环境下,公司为了生存必须跑快点,个人为了发展必须多做事,毕竟你不做就会有千千万万的人来抢。等到中国真的发展到美国这样的发达程度,生存的压力减小了,才有可能谈更好的生活品质。


关于找工作,我拿到过 Google/Facebook 等大大小小公司的众多 offer,如果你想知道怎么在北美求职,欢迎关注我的公众号 “LJ 说”(ID: LjNotes),回复“硅谷” 查看独家秘籍~

知乎用户 Lambo YU 发表

主要原因就是中国管理者的平均水平远不如美国。

包括最近知乎上一系列所谓的 “环保政策导致我爸的工厂倒了所以中国制造业药丸” 到处宣泄戾气的(前)小资们。

管理者永远想的是如何更高效的压榨员工的时间,而不在乎如何提高员工的效率。

讲到如何提高员工对公司的忠诚度,他们的想法就是给你画饼,你现在如何如何努力将来就。。。可以让我买豪车和大别墅啦!

讲真,即使经济增长率下来了,筛选掉这批根本不应该做管理者的 low 货是我们无产阶级之幸。

知乎用户 北南​ 发表

我稍微总结了三点:

1 在工具上舍得投入

虽然我们常说没有银弹,但大量工具和新语言的成功持续引入,还是极大的提升了国外程序员的工作效率。其他答友都有总结,我就不多说了。

我们需要注意的是,国内有些公司成熟以后,甚至还没长大的时候就开始非常排斥新工具新技术。因为学习这些新东西需要时间,技术升级也需要成本,而很多公司对这方面似乎没什么忍受力。

2 工程师文化

国内公司很多都是项目经理和技术总监事无巨细的管理。这一方面让工程师压力很大,另方面也会减弱工程师的创造力。

这种合作方式,让程序员很累,怕做错,而其实经理更累,怕下面不按他说的做,于是就要反复确认细节,双方沟通占用了很多时间。其实有些事,由工程师自主完成,可能效果更好,更省心,也会更有创造性。

3 社会和公司一定程度上的更宽容

国内很多程序员生活在忧虑之中,怕 35 岁被切了,好多人真的是为了自己不被淘汰而写博客,你说你累不累?你看轮子哥人家在知乎就是纯来玩的,这才叫爽。你看国外不少五六十的老程序员还敢跳来跳去,享受玩技术的愉悦感。这其实也不能怪谁,因为国内的职场就给人一种不进则退的压迫感,但国外好多人一辈子就是普通高级程序员,他自己和家人也很满意和开心。

在多数国外的公司,你说你下午要去看自己儿子踢球,你说你家里水管需要维修,甚至你说你就是想在家休息几天,都是很正当的请假理由。很多公司甚至你可以不说理由,就说下午请假,你的经理也不会说个不字。

知乎用户 Cerulean 发表

倒是能亲身说说为什么中国程序员 “工作不轻松[存疑?]“,和加班多,至于美国程序员如何,一会只能用“我的一个朋友” 来说了。

首先中国程序员工作轻松吗?这个话题其实太大了,就算是限定在 BAT 这类头部互联网公司,我感觉里面的员工的感觉其实都是不一样的。我算实习和全职,也算是在中国胸部和头部互联网一轮游了,其实不同公司和不同部门给我的感觉都完全不一样。

举个例子的话,我先写点流水账,谈谈我的经历和感觉。

我 2014 年到 2015 年在知乎实习了一年,我就感觉我的工作非常轻松,很少加班,从老板到 PM 到 mentor 各个说话好听人又 nice,一个 intern 都能参与需求评审开发到测试上线的全部流程,早上十点半晚上六点半,周末还能和其他 intern 或者 mentor 等去纯 K 唱唱日文歌,很舒服。

后来到阿里,画风其实就有点变化了,当时还是 7 月底全组就已经在为 0928 和 1018(如果我没记错的话)这两个双十一关键版本号迭代需求了,大家一般九点半之前就要到,晚上我们组差不多八点陆陆续续大家离开工位,隔壁组有时候九点半十点都是常态。这时候,你通常也不会需要参加需求评审(通常是你的直线领导 P7 带着两个最能打的 P6)到对门去和 PM 和设计对需求,然后你只需要对着阿里内部的 UI 标注工具和需求文档放按钮写动画同时 CRUD 就可以了。

之后的腾讯全职,其实和阿里的画风差不多,我就不记流水账了,只是与阿里不同的是,腾讯一般十点大家陆陆续续到,晚上一般九点或者九点半走,整体工作时间向后平移差不多 1 小时。同时可能部分需求的排期会比阿里紧张一些,不过都 55 开吧。

其实,如果只是做做需求,改改 Bug,一般你 Leader 和你自己估计的工期一般,注意是一般,都是足够的,所以其实多数情况我和同事往往可以提前 1d-2d 提测,等到你对自己负责的部分逐渐上手,这个周期可能会进一步缩短

所以,单从工作内容上讲,根据我的亲身经历,国内,至少是胸部和头部的程序员工作效率并不低,甚至还是相当高的。

那为何每天很晚才下班?主要还是 Peer Pressure,说句实在话,在阿里和腾讯,一般五点半六点半吃完饭,一般是可以玩手机刷知乎刷到七点半左右的,之后,据我的观察(样本可能不够),可能有 1/3 的人在接着划,有 1/3 的人在工作(debug,迭代需求),有 1/3 的人在上自习或者 Make Impact,反正没人回家就是了。

那大家为啥要这么做呢?其实明面儿上资本家也没规定明确的下班时间,也确实有养老部门可能七点就走了。但是每年两次绩效考核是真的呀!或者说,保质保量,按时迭代需求交付软件是程序员的本职工作,如果大家都想涨薪晋升发财,但是坑位就那么多,那咋整呢?那各种牛鬼蛇神的考核就出来了,腾讯叫技术影响力,阿里叫六脉神剑和技术沉淀,头条好像叫 360 环评吧,我忘记了。这些考核半明文半含糊的大概说明了下如何才能升职加薪,例如,你除了 P0,P1 级别的 bug 少,同时还要在内网的社区输出一定数量的技术博客,经验分享,案例分析,在内网的代码库的某个组件或者基础设施被多个业务侧采用,有开源贡献,再例如要求你对公司大盘数据某些关键指标有明确的贡献,再例如要求你价值观正确之类的。

你试想,如果你每天朝九晚六做完需求走人,那技术博客,开源项目,案例分析,价值观这些咋满足呢?其实,如果绩效考核不合格,无事发生,也就算了,要命的是,大部分头部互联网公司,两次绩效考核不合格,是要转岗(通常找不到下家)或者辞退的。

再举两个国内外资的例子,前阵子国内甲骨文裁员,一个被辞退的开发,去了后厂村大厂我女朋友所在的部门干了没一个月就被辞职了,因为他当时的技术水平完全跟不上当时的他们的项目节奏。

再舒服如国内的 m$ra,其实你周末晚上也能看到 2 号楼 12,13,14 层灯火通明,只是他们没有内资互联网那样严厉的考核罢了,但是 Peer Pressure 依然有,A 能发顶会你不能发,心里什么滋味?

那其实逻辑就通了吧,加班多是因为升职加薪有 Peer Pressure,**而如果不想升职加薪,可能会因为绩效考核不合格而被清退。**所以,一般大家没有办法做到像美国部分养老公司(m$,g)那样真的 Work Life Balance。

然后再说回美国,我几个朋友(手动狗头)在 fb 和亚麻,过年过节有时候扯扯淡,说实在的,区别真的不是特别大,这俩也有绩效考核和末尾淘汰,特别是 fb,可能有些时候节奏比国内一些厂还要快,一样的套路,升职加薪要 make impact,make impact 就要不停的在做好本职工作的基础上老三套:搞开源,写博客,多 pr,岂不妙哉?

那怎么办呢?是躺平还是入关还是皈依 bx?

最后是名词解释环节(上一个回答我真的是被杠怕了):

PM:产品经理

mentor:导师

nice:友善

BAT:百度阿里腾讯

intern:实习生

UI:用户界面

CRUD:数据库的增删改查操作

bug:程序逻辑错误

debug:改正程序逻辑错误

Peer Pressure:同僚压力,同行压力

Make Impact:本职工作以外的产出

Work Life Balance:工作 - 生活 平衡

pr:自我营销

bx:勃学

P0:最高优先级

知乎用户 立党 发表

打个比方,知乎把 80% 的工程师的时间,都用在了这个使用率不到 20% 的付费栏目上,还特意在了寸土寸金的底边栏上占了一个图标——

如果知乎的产品经理良心发现,不强行推动这个垃圾 feature 的开发上线和长期维护运营,知乎营收降低 20%,但是工程师能节约 80% 的时间。假设原来知乎工程师人均 996,但是假如把这个非常次要、非常没用、非常花里胡哨、看上去耗费大量人力物力的功能砍掉,知乎估计人均每周工作 4 天就足够了。

而这个功能到底赚不赚钱,到底值不值得知乎长期以来投入这么多工程师的开发和维护,能不能起到支撑知乎估值的作用,知乎的高管们自己心里非常清楚。

本来 marketing 团队做一周的 research 就能得出 “浪费时间 + 烧钱,千万不要做” 的结论,被一个高高在上的高管强行推动做出来,于是耗费了几十个团队从码农到产品经历长达两三年的开发、迭代、维护、删改、撕逼、会议、营销、资源倾斜——最后做出来到底值不值这么多钱,有没有用途,商业模式有没有成功,你们自己最清楚。

本来现代管理的模式中,各个团队各司其职,却偏偏在一些地方,CEO 既是 marketing director,又是 sales director,又是 CFO,又是 COO,又是 pr director,又是 product management director,唯独不是 CTO,不是程序员——那么结果只能是 “程序员天天加班,做出一个又一个没用的、商业模式上失败的项目”

知乎用户 匿名用户 发表

管理文化不一样。
中国官大一级压死人,所以像狗一样言听计从的狗逼多,上面说什么就干什么,不考虑可行性,不会据理力争,然后把 pressure 压给下面,到时候甩锅下面。
美国,你是一个 manager 就要为自己的决策负责,干不成要买单,因为你对你的同事有责任,于是会陷入管理层的 bullshiting,很多事情就不会放下去做,也会丧失一些 idea 实现的机会。所以下面干的轻松。
说白了,中国就是靠着频繁的无用功来以量取胜,奈何我国农民太多,这帮农民失败了就无处可去,他们失败了就是死路一条。所以你是这种人的管理,让他们跪下来叫爸爸都行。
期待中国人口红利消失的那一天,让这些狗逼集中的企业彻底没人来,然后这些落后的企业淘汰完蛋,这些占据了资源的企业才是中国创新上不去的根源,它们不死,中国进步不了。就像当年的国企一样。

知乎用户 Frank 发表

这个我来答吧。本人在美国 IT 公司快十年了,大小公司都待过,也做过经理雇过人,从来没有加班过,除了唯一一次做 release 做到了半夜,当时还是 report 给一个中国老板!不仅不加班,而且我还经常在家工作。平均每天上班时间,扣除通勤,只有 6 个小时,额。。。很多公司还有 unlimited paid-time off 了。。。我每年带薪假至少用 20 天,不亏着,当然也不好意思用太多。这相当于每年工作 11 个月。

上班有时候还能开个小差,吃个 2 小时的 lunch break,出去散散步,买个咖啡,看个医生啥的。

为毛不用加班呢?分析有一下几点,有个人原因,也有企业文化和法律原因。

  • 个人原因,我基本上都能 meet 老板的 expectation,不会有工作做不完的情况,所以从这点来说,我是不需要通过加班来弥补工作效率的。工程师也是个技术活,有人做的快,有人做的慢,我有些同事搞个小事都能做半天,教他也教不会,那他只能偷偷私下加班了。我也不喜欢加班,硅谷加班的公司其实不少,大公司每个组也不一样,有的闲的没事干,有的忙的天天加班。你可以避开哪些要加班 oncall 的公司,比如 amazon 就是比较有名的传呼机公司呵呵。虽说美国不养懒人,但加班也不是美国企业文化,更不是什么行规。如果有公司经常要求我加班,用不了多久我就会闪人,又不是找不到工作。

  • 说到企业文化,美国公司更相信好的文化,积极的鼓励,健康的作息对企业的发展更好,这个是急功近利的国内软件业所不能体会的。很多人觉得写代码就像搬砖,加班多写一行就赚一行,其实这个大错特错了。写程序是有体力的成分但更是个脑力活,很多时候心情不好,身体不适,或睡眠不好的情况下,是写不出什么好程序的,更别提创意了。不好的架构,临时的代码补丁,低效的沟通,没有时间系统的研究问题,在代码里往往需要很多 bug,修改,返工甚至推倒重来。这些最后都是企业的成本。虽说 996 的公司也许工资高些,但是如果是我的话,我宁愿用同样的钱招 2 个不用加班的人来干,这样的产出最健康。美国的很多公司都补贴 gym 的费用,流感疫苗的费用,鼓励员工搞好身体,这样才能更好的被剥削嘛。薅羊毛也不能不停的薅,总得让羊毛长长再薅,这样才薅的科学,薅的符合自然规律。一个个加班加的未老先衰干不动了,双输。

  • 法律风险。为啥美国航空公司盛产空大妈?因为没人能证明空姐必须是年轻漂亮的女性才能胜任(养眼不算 job function)。只雇佣年轻漂亮的属于歧视。话说回来,美国没有父母给带孩子的传统。每个公司都要求 996,那有家有孩子的人咋办?只能坐等被炒鱿鱼或者干脆面试过不了?公司只能雇佣未婚未育的年轻人?这个在法律上无法解释的过去,因为没人能证明程序员的工作必须要年轻人,那么只雇佣年轻人的结果就是年龄歧视,属于法律上的雇佣歧视的 sterotype 一种,公司是可以被告赔款的。避免歧视这个在大公司 HR 培训里面都是会强调的。(其实这一条在硅谷现在不怎么好用了,有些公司明目张胆的要求加班甚至 996,可能是因为码农好找工作所以大家选择多,不怎么计较,如果将来有码农的工会可能就没这么好说话了。对于大龄码农来说,这些要加班的公司性价比极差,工作时间可以多一倍,工资只能多一半,也只有年轻人愿意去了。)

最后,说实话,空大妈没关系,也就不养眼呗,但胖子空大妈最好还是别再招了。。。我能证明胖子空大妈挡着我拖行李。。。。

知乎用户 白条说再来一碗 发表

根据我浅薄的认知,可能是因为许多老板衡量一个员工价值的时候关注的不是工作效率而是加班时间

知乎用户 么西么西 发表

If you check the CV of Chinese managers, especially the founders, you will find the higher their positions are, the fewer project experience they may have, there are exceptions but this is the general case.

So what’s the influence of the non-technical backgrounds of these managers to the software schema designing works of the companies?

The answer is they will subconsciously tend to avoid to be responsible for the technological problems, simply because they may have great probabilities to make mistakes.

And the most straightforward consequence of this inefficient responsibility distribution system, is that the managers (even the product managers) are free to be severely blamed for the mistakes they made, which makes they can hold almost infinite powers to keep engineers fulfilling their less considered, inconstant and even stupid plans, resulting in bunches of useless effort of everybody, and this is the reason why the engineers in China are universally forced to work overtime.

We are currently lack experienced managers, that is the answer.

BTW, has anybody thought about why it’s easier for the ones who have non-technical backgrounds to succeed in China? Unfortunately this would be another censored topic.

知乎用户 坚硬的小石块 发表

呆过几个团队,说点个人感想:

A 刚毕业在一个业务团队,经常性的加班,排查或支持业务概念的 bug,对技术提升没有价值。很多历史遗留的坑,没文档没注释,联调提测上线排错不规范,需求评估不规范。领导也只是得过且过勉强支持业务线,一个字——乱。

B 新组建的基础组件团队,leader 把需求排期的权力收回手中(货真价实的敏捷开发),从零到有建立各个方面的规范制度,也没有什么历史包袱。需求评估和方案讨论的时间占 50% 时间,测试用例 / 自动化部署占 25% 时间,剩余 25% 时间用来开发。个人呆的最爽的一段时间,朝 10 晚 6 还能腾出工作时间琢磨新技术。

C 创业团队,一个人要顶不同领域的岗,服务端基本上业务 + 基础组件 + 运维都得折腾(现在团队建设稍微稳定些还好)。这种情况下纯看个人技术栈的宽度,如果对这些领域都了解,一条线能支持下来,还能正常上下班。如果有一片短板,业务快速落地 + 野蛮扩张后,会蹦出一大堆问题需要优化或修复。

第二个团队风格,算是最接近老外的。leader 技术出身底子扎实,工具选型和方案评估重视落地,团队技术氛围好,需求流程规范准确,各项环节都有充足的自动化工具。

领导占 40%,工具 + 管理流程 + 团队各占 10% 吧,剩余 30% 看个人把。

PS:

比例胡诌的。

知乎用户 徐光启​ 发表

问题可以简化为:为什么美国工作比中国工作轻松、加班少?

先看一张权威统计图

注:一年约 52 周。

西方国家的工作时长每年都在减少,尤其是法德,在 2010 年锐减至每周低于 30 小时(一天不到 6 小时)。2010 年,美国人均工作时长约每周 33 小时(每天低于 7 小时)。中国官方规定 40 小时 / 周,不超过 44 小时 / 周,但没找到权威的实际的统计数据,想必大家都有自己的感受。

答主以为影响工作时长变化的主要因素有这些。

  1. 科技进步:工业自动化、人工智能等都能帮助提高生产效率、解放人力,这个大家都明白。
  2. 管理水平提升:如果说科技是硬实力,管理则是软实力。工具再好,也要看你怎么用。管理理念的发展从科学管理、人际关系、系统理论、权变理论、以人为本等,逐渐结合了量化决策、社会学、心理学等,优化了企业和个人的产出效率。
  3. 家庭需要:现代家庭的女性工作比例逐渐提高,可是孩子在非学校期间需要有人看管。西方的解决方式是,委托给育儿机构,或者早早下班带孩子。但托儿所等机构一直供应不足,父母也只好自己早点下班带。
  4. 工会组织 :虽然这个组织备受诟病,但强大的谈判能力,使得工人的权益不敢被怠慢。尤其在法国,基本都是由工会出头要求减少工作时间,不管是国营还是私营,不答应就罢工,铁路、邮局、银行都能停摆。
  5. 社会共识:自由表达的权利使得西方人的某些理念因受到共鸣而迅速传播,达成某种社会共识,就比如西方现在很流行的返璞归真的理念,要回归家庭、回归自然,当然要减少工作时间。
  6. 教育的发展。当工人受教育的程度越来越高,掌握的知识和科技越多,达成同一目标所需工作时长就越少。

以上这些因素在中国怎么运行的呢?

  1. 科技进步的确提高了生产力,但是在中国,当企业看到一个机器能代替 5 个人的活,会立马裁掉 5 个人,而不受工会和法律的干预,所以,剩下的工人还是该干那么多。
  2. 中国的企业管理理念很大程度上继承了中国 “传统文化”,内耗甚多。中国企业虽模仿西方管理框架,但因社会环境,只得其壳,而非其核。如果说西方企业里权利斗争是阳谋的话,中国的则是 “宫斗”,需要更多的精力去猜测,去琢磨,管理者用于企业利益的心思自然就少了。
  3. 中国双职工家庭很多,但在中国,没人体谅。你觉得自己需要早早下班带孩子,但有些人不需要啊,有些人的爷爷奶奶外公外婆愿意来带啊。你不愿意干,有大把人顶替。
  4. 中国的工会就不说了,过节的时候,领过一桶油。
  5. 社会共识,中国也有,但是被舆论诱导或和谐了。
  6. 中国的教育发展还是不错的,这么多年来,显著提升了人均教育水平。人力资源具备了,但是相应的职位却没被创造出来,导致竞争更加激烈。

相对其他的行业,程序员似乎加班更多,但实际上,这是个错觉。

只是程序员有渠道,有时间去表达自己的诉求,而一线的工人根本就没机会说出来,即使说出来大家也当听不到,什么 996,对很多一线工人来说太平常了。但是,一线工人可没有程序员那么高的待遇。

知乎用户 SigmaCore 发表

亚洲国家,人多资源少,没人能过上真正优雅的生活

要么你拼命,能维持阶层不倒退。要么你被别人踩下去

即使你觉得这样没意思,想安心过简单的生活,不想踩别人,还有人看你位置好,想踩你一脚呢

你跟中国人比谁牛逼,谁更会拼命,谁更拼命谁拿钱更多,这样比比就算了。人家美国欧洲的人,跟你不是一个维度的,谈不上在一个指标上竞争。人家生活质量高,不是因为人家更牛逼更拼命,而是人均资源丰富(美欧澳),靠金融资本生存(欧洲),靠掌控世界资源和能源(美国),靠已有科技优势(美日英法),靠资源出口(美澳)。。。各有各的活法,唯独不靠劳动压榨国民,不需要这么拼命搞

只有靠劳动力的国家,才尊崇努力奋斗,996,养老靠自己,70 岁也要买房,这样

中国要复兴,宣传捋起袖子加油干。美国要复兴,川普号召工人去 996 了么?逗呢。人家要的是制造业回流,加强知识产权保护,要中国金融开放,唯独不逼着自己国民去加班,去延迟退休,去靠自己养老,去买房。。。

依靠劳动力的国家,老龄化就完了。所以中国歧视年纪大的,码农 3040 失业,前台只收年轻小女生,年轻人在北上广奋斗十几年然后被撵出去,等等

除了中国,亚洲的日本新加坡也是如此,新加坡活到老干到老,和天朝有一拼。不过它们发展的早,积累的红利多,福利情况好一点

简单的道理

现在你知道为啥人家要移民了吧。移民之后变 nb 了吗?非也。出了国门,没人在乎你多拼命多牛逼。也不要问为啥在美国朝九晚五就买得起大 house,在中国 996 连首付也攒不起。情况不一样,单纯比谁努力,没有意义

知乎用户 「已注销」 发表

因为你不加班有人愿意加,比你穷比你年轻的人多的是。

你不能一边想要人口红利,一边不想要韭菜一茬一茬的往外冒。这不是违反客观规律,而是违反因果律的。

知乎用户 可乐 发表

我们趋行在人生这个亘古的旅途,在坎坷中奔跑,在挫折里涅槃,忧愁缠满全身,痛苦飘洒一地。我们累,却无从止歇;我们苦,却无法回避。

只要 “加班就等于努力工作” 这个二逼逻辑大行其道,程序员加班多的问题就无解。这逻辑和把学历等同于学位一样可笑。

眼下的现实是,工作效率高总被认为是理所当然的。搞得那些本来不用加班的人,也跟着加班划水,否则就会被认为工作不饱满,而且会被分配更多的任务。

还真是能力越大,责任越大。

而工作效率差就应该加班加点,增加工作时间提高输出是可行性最高的手段,也最简单。

不以结果为导向的考核机制也是病根,出工不出活的人强化了加班的必要性。

身处这样的环境中,程序员可做的事其实不多。

对于大部分人而言,只能顺应环境,而不能逆势而为。

格拉德威尔在《异类》中说,人类有史以来富有的 75 个之中,有 14 个富有的美国人出生在 19 世纪中期的 9 年中。为什么呢?

只要稍加思索,答案便显而易见。从 1860 年到 1880 年,美国经济正步入其历史的转型期。从铁路工业到华尔街金融,旧时代的信条全部打破,新时代的规则正在生成。简单来说,就是美国经济最好的时代。而这 14 个富人正好赶上了这个时代。

回到程序员加班多的话题,除此以上提到的几个原因,程序员加班多的原因可以概括为以下两条:

  • 无能的管理。
  • 管理不起来的无能。

先说第一条,无能的管理。

如果你去看看那些管理者从事软件开发的经历,就不难发现,职位越高的人,做的项目越少,在关键问题上的决断力越差。

以前微软研究院的研究员们,无论如何都比不上谷歌的研究员,后来发现,谷歌的研究员都是自己设计自己写代码,而微软的研究员都有自己的助手,而他们自己是不写代码的。

前段时间很多程序员远程办公,公司管理者整天在干嘛呢?他们在加班加点统计程序员的工作输出。

怎么统计的学问就大了?最开始,管理者要求每个程序员发日报。要知道,程序员的工作弹性是很大的,今天一时兴起写几 k 代码也是常有的事,几天搞不定一个 bug 也不罕见。

还有很多时候,花了一周辛辛苦苦写的代码,不得不全部推倒重来,这里面既有程序员自身的素质问题,也可能是配合组太废物,还可能是管理者的水平有限。

日报能不能体现和督促工作我不知道,但是浪费我写代码的时间是肯定的。毕竟每天都得抓耳挠腮反思自己干了什么。

难道写花了半天时间证明了一种方案的不可行性,然后零产出?

说这些,主要是想表达一个观点,程序员做事和流水线上计件生产还是有很大区别的。

我不知道我一眼就能看出别人攻关了几天的 bug 到底能值多少钱。程序员的工作有一个很大的不确定性,而如何消除这种不确定性,就体现管理者的水平了。

当然,程序员在一定程度上可以减少这种不确定性,但是微乎其微。

这其实就是兵熊熊一个,将熊熊一窝。而将熊带来的致命后果就是打了败仗还累死了兵。

之前有人问,如果给你 100 万名顶尖的程序员,有没有能力在一星期内做出淘宝?或者给你 1000 万名顶尖程序员,能不能在一个月内做出 Windows 操作系统?

我的回答很肯定,都不可能。

人月神话根本就是妄想。协调一大群人干活的难度是几何级增长的,很多时候,在自己几个人的小团队里,都不能充分发挥所有组员的能动性,由此就不难看出管理一个大型团队的难度了。

历史上,只有主导了曼哈顿计划的格罗夫斯和奥本海默,可以说是领导一个巨型团队完成了一项不可能的任务。

这个计划集中了当时西方最优秀的核科学家,动员了 10 万多人参加,历时 3 年,耗资 20 亿美元,动用了各种特权,充分应用了系统工程的思路和方法才得以完成。这里面管理者的角色至关重要。

当时为了建设大型回旋加速器,洛伦兹设计的线圈高达 80 米,需要导电性能很好的铜,但是战争期间所有的铜都用于了军事。结果格罗夫斯直接找到财政部,并最终要到了近 15000 吨白银。要知道,当时财政部的储备都不到 50000 吨。

而一般公司的管理者,根本不可能有格罗夫斯的这般魄力,更没有他那样的权力。

更何况,很多管理者都是半路出家,根本不具备系统工程的管理思维,往往靠着摸索出来的经验去管理团队。大概率讲,根本不能充分发挥团队的真实水平。

再说说管理不起来的无能。

作为管理者,最希望的肯定是手下猛将如云。但是,这一点在很多公司落后的管理和考核机制下是做不到的。

很简单的道理,在招聘市场中,不可能有所谓的性价比。拿着不算高的待遇,肯定也只能找到能力与之匹配的人。

这一点自己深有体会,面试前几个环节总能一路过关斩将,但是到了定级谈薪的时候,用人单位给出的上限根本不足以挽留真正的人才。

这种情况下,用人单位也只能退而求其次,美其名曰招些学习能力强的人进来,然后好好培养。这句话前半句兴许是真的,但是那个然后从来没有发生过。

而在公司的角度,看到的是人力资源,而很少估计人力素质,100 个人的团队,就得输出 100 个人的合理绩效。

带着一群能力一般的人,又要完成一堆复杂的任务,管理者也是瑟瑟发抖。

这里需要强调一下,程序员的工作,有经验和没经验的人,有能力和没能力的人,解决起问题来,真的是天差地别。有时候下班前,看到同事一个晚上攻关的问题还没解决,就会凑上去看两眼,很多时候,几分钟就解决了。

水平一般的团队成员成长需要时间,因此短期来看,对于管理者而言,让团队成员花更多时间在工作上成了必然选择。而团队成员自身也不可避免的陷入了忙到没时间成长的陷阱中。

而当项目遇到一个攻坚问题时,拉多少人,开多少次会,也无能为力。最终要么做点假,要么推倒重来,甚至就干脆放弃了。

管理者心累,被管理的程序员也是身心俱疲,因为他们一直做着和自己能力严重不匹配的事,以及繁杂的没有意义的琐事。

还有一个不可忽视的原因,管理者在公司的地位,很大程度取决于他带领团队的人数。这就会产生不可思议的结果,那就是管理者会倾向于盲目扩大自己的团队,自然就会容忍水平一般的人进入团队,同时不会主动淘汰拖团队后腿的人。

可是团队只要变大,公司对其要求就会增加,而团队扩大是以牺牲平均水准为代价的,这带来的结果就是平均时间投入的增加,也就是加班。

谷歌早期那种杀鸡用牛刀的做法其实是很有借鉴意义的。也就是需要本科生水平的岗位让研究生来做,需要研究生水平的岗位让博士生来做,再不行就直接聘请科学家。

这样带来的坏处肯定是用人成本的增加,但是好处也显而易见,那就是对标竞争对手的产品是由一群更厉害的人做出来的,产品的竞争性更强。

产品的成功,可以让公司有能力吸引更优秀的人才加入,然后进入一个正向循环。这可能是他们的程序员比较轻松的一个原因。

当然,很多公司受限于成本管理,以及对人才性价比的迷之追求,很难真正意义上提升团队的核心竞争力。

很多时候我也会陷入一个很迷茫的境地,一方面,如果公司招人时对人能力要求很高,那么我是很难进入好的公司的。另一方面,我现在面对很多水平较差的新人时,也确实很无语,交流起来很费劲,而他们应该承担的活很多时候都落到了老员工的身上。

最后说说程序员自己的问题。

程序员自身的问题也超级多,以后有机会专门说。这里简单列举一下:

**跟风加班。**刚来的新员工看到老员工加班,也就跟着加班,虽然他们根本没事做。老员工也互相观望,保持你加班我也加班的姿态。这样的后果必然是拉高加班总时间。

**职能不匹配。**自身水平和职级薪酬不匹配,且不能很快抹平这里面的差距。

**工作效率太差。**白天耍手机时间太多,废代码写的太多导致返工,交流能力欠缺,沟通成本太高,这些都会导致自身效率下降,弥补的方式就是加班。

不过多说一句,我现在也搞不清楚,究竟是因为需要装模作样加班而导致工作效率差,还是因为工作效率差而导致需要加班。

**不能有计划的学习新知,提升水平。**很多程序员工作十年,而水平也就是几年的样子,他们只是把几年的工作经验用了十年罢了。

科学技术是第一生产力是有道理的,个人的角度,就是知识水平和做事的方法决定了个人的能力,进而决定个人工作的是否比别人辛苦。

**无法改变的,加班的大势。**毕竟公司层面加班的成本太低,可能就是水电费。

知道了以上这些,你兴许已经知道如何破局了,猿。

看了这么久,点个赞呗!

加关注

@icolakele

知乎用户 vczh 发表

有真正的工会,不仅可以提高待遇,而且那些在大家罢工的时候偷偷干活拿钱的人会被行业封杀,这就是为什么美帝的人的工资普遍高,而且钱普遍不值钱(大家都有钱,就等于都没有钱)。这边的人也不能在出卖自己的劳动力的时候搞价格战,要跪的。我国的码农就不一样了,为了几个钱,可以 996,出价一个比一个低,最后就是不仅要加班,还没有加班费。

虽然大部分软件公司都没怎么被工会搞过,但是这个正确对待员工的习惯,已经保持下来了。

P.S.

因为地球科技落后的缘故,美帝码农比起国内也没有多给多少钱,因为给不起。但是看一下那些修路、修水管、搬砖的这些 “实业劳工”,就知道工会的力量。当然了,付出的代价就是,修路慢、盖房子慢、修水管贵。反正大家一天也不干多少活,你自己家里爆水管也习惯等一个月才能修好,然后每天就吃吃了睡(逃

知乎用户 uncle creepy 发表

1. 全公司统一的基础技术栈且文档非常详细

2. ci,jenkins,unit test 代码覆盖率

3. 完善易用的上线 验证 灰度发布 蓝绿发布 灰度回滚 体系

4. 一个人就可以完成需求评审,开发,单元测试,回归,集成,性能监控,上线发布的成熟工具栈和开发能力

美国至少有三个公司可以做到这个,其中有两个在这方面引领着潮流

而中国,目前看只有半个

知乎用户 Xingnan Zhou 发表

看了很多排名考前的答案,基本都挺全的了,补充一些个人观点。其中国内公司情况根据网上和朋友国内公司工作情况汇总得来,消息如有不属实请指正。

项目管理方式区别

一些国内接触过程序员的朋友以及网上的情况看,国内很多公司是白天开会很久,然后晚上加班赶进度。很多人国内人反应白天开会效率很低下,又不得不去,只好晚上写代码。这里面就造成了两个问题。

一是开会效率,如果开会是好几个小时但是没有实质进展,是不是管理层 / 项目负责人 / 会议发起人就要反思自己的问题,开会没有重点,或者太多无关人员参与。开会应当是促进合作,增加效率而不是成为壁垒。

二是项目进度安排。以谷歌举例,我们是以每个人每周 3 天开发时间来安排项目进度的(这个 3 天叫做 Eng day,1 个 Eng day 代表了一个工程师不开会的情况下一天工作量)。比如一个项目预计 30 天工作量,那么一个工程师就需要 10 周的时间,这时候的 deadline 就是 10 周,而不是 6 周。因为我们已经预估了一个工程师一周 5 天里大概 2 天时间需要用来开会,处理杂事儿。所以就算每天都有 2 小时开会,依然不需要通过加班来弥补进度,因为进度已经安排进去了。

而且这个 10 周是不包括节假日,如果面临假日还要往后延。而且每个季度在做规划的时候自下而上会特别保守估计,比如一个任务写代码大概 1 个 Eng day,算上维护等最后能估算到 3 个 Eng day。这点也是最近才感觉到的。我觉得一个项目大概 1 个月就完成了,最后项目老大生生给规划成了 3 个月。好处是如果上面觉得需要在某个时间点之前完成,我们就可以向上面要更多人。因为如果我们预估 1 个月完成,最后没有完成的损失比多加 1 个人保证 1 个月完成的损失小很多(比如面临签合同,发布会)。

项目开发过程中也肯定会出现这样那样的计划外的事情耽误进展,这种情况通常的做法就是延期。季度中期审核进度的时候上面会询问具体为什么没有达到进度,然后想办法解决。比如有的组(有名的邮件组)的项目因为人员改组,需求改变延期了 1 年多。

自上而下鼓励加班

这是从我朋友面试阿里听到的。面试官是一个 manager,在问道如何看待加班的时候,就明确问了我朋友能不能 996。如果自上而下,从高层就在鼓励漫无目的的加班,自然底下人也只能应对。就算我效率很高,提前完成了,这个 Manager 依然会让你无意义的加班。

另外也是社会风气。比如我的爸妈就说在这边不加班对职业发展不好。很多其他人可能也会把加班和上进心挂钩。不加班等于不想奋斗,没有前途。如果哪家企业凌晨灯还亮着,肯定各大自媒体会炒作,如果准时 5 点下班,估计也没人会理。

企业文化

其实我们也各种反应产出不够,效率低下。而且个人觉得跟之前在创业公司相比,大公司真的慢死了,随便一个功能都要开发半年到一年以上。不过我们的做法通常不会是去强迫加班,而是包括 VP 在内的高层会想办法从工作形式上优化来增加效率。比如优化代码审核流程,优化系统发布流程等。

总结

首先产出是否美国这边更多,没有数据不知道。但是企业文化上就没有加班这个选项。出问题更多的是从上而下优化,而不是盲目的加班。加班更多的是一种对个人的额外奖励,而不是必须。比如我的 manager 有时候为了 team 的发展加班处理事情就可以理解。很多人晚上也会自愿的去写代码,要么是无聊,要么真的想把这个功能做好。但是如果不去加班是完全没有问题,对升职也没有任何影响的。

知乎用户 Shisoft 发表

没有完善的 code review,unit test 和 pre-production 测试和 QA 的体系,codestyle 一塌糊涂让其他人无法接手,另外再被一些二流 PM 整天牵着鼻子走当然事半功倍精力都花在救火上了。

我负责的一个项目之前因为赶时间自动化测试体系还没建立起来就先上线做 private preview 了。被我的 manager 的 manager 知道后狂喷了一顿然后最近一周都在补 VSTS 上面的自动化测试任务…

一般要上 production 的改动在被另一个人 code review 之前是不能合并的,除非是 hot fix 然后负责 review 的又在休假或者在美国倒时差。

对于产品这块项目初期都是 PM 大开脑洞然后 DEV 挑几个看起来比较合理的实现出来。现在需求稳定下来后会在 deadline 之前一个月让 PM 把产品设计完全敲定下来然后接下来一段时间留给 DEV 实现,并且由 DEV 决定是否需要接受 PM 的需求变更。这样保证了 PM 不会轻易通过 DEV 试错并且 DEV 也有足够时间提高产品质量。

知乎用户 「已注销」 发表

至少在我的行业并不是这样的。中美的游戏开发大多都会加班,而且都是疯狂加班。顽皮狗,r 星,就是加班加出九分大作的公司典型。

在美国的话,这和游戏行业的工人议价能力低有关,没有 trade union 影响挺大的。而且做这行的人往往有过于热情的毛病,你不愿意做韭菜后面一批等着代替你呢。

知乎用户 尔东​ 发表

看到这题,我慌了,我也没有过美国工作经验啊,只能上网搜搜搜,看看美国程序员们的工作环境到底是怎么样的。

结果,我嫉妒了。

首先是谷歌总部 Googleplex,里面有参天的大树和成片的草坪,各种 LOGO、指示牌都是放在地上或挂的很低,如果你误入其中,第一感觉可能会是进了一个森林公园。

谷歌在园区内为员工配备了几乎所有生活设施与服务,休息、健身、娱乐、洗衣房、按摩室,还有园艺、瑜伽等兴趣课程。看到这里,你是不是有很大的问号,这样一个适合摸鱼的环境真的能好好工作吗?天真了,小伙伴,参与这些的前提是你得在规定时间内完成工作,否则,哼哼,加班吧少年!

所以说,并不是美国程序员的工作轻松,而是人家表现出来的都是轻松愉悦的一面。要说工作的积极性,其实从世界范围看,中国人工作上得到的标签基本都是努力、勤奋、能吃苦,只要任务、项目没完成,从管理层到基层很多都是工作生活不分家。最常见的情况就是,下班了客户来电话改稿或者催方案都会马上行动起来,节假日领导的工作微信或是加班都是认真对待,不会敷衍或者直接告诉对方等上班再说。

说说我看到的腾讯程序员吧:

首先,大家经常吐槽的格子衫,双肩包是码农标配。发量稀少问题我倒是没发现。可能是常常去公司健身房的原因,锻炼身体,精神好,头发掉得少。说到健身,我好好吹一下公司新建的滨海大厦,听说有游泳池,还可以攀岩,室内跑道,等我去体验过了,我回来写个测评和你们分享下。

想确定一个人是不是程序员,看工位就知道了。一般来说,笔记本有 ThinkPad, macbook pro , 台式电脑就好几块屏幕,有横着着的,竖着的,听说这样写代码方便,统一公司配发,这种配置一看就是码农没得泡。我有时候想象公司啥时候能给我配个三联屏 + 2080ti,休息的时候打游戏岂不是爽飞?

上面都是我自己看到的,知乎上也有我不少程序员同事。各位有兴趣可以自己搜索下。

早上不要打卡,10 点到就行(我们不行,小客服还是要打卡的)

公司早餐免费,中午也是在公司的食堂吃(收费),晚上刷夜宵券。还可以体验到很多游戏资源。加班这个肯定是有的,不过平时的活动也多,每月有几次常态化的团建。总的来说,互联网公司的工作生活节奏都是很快速的。不管是什么岗位,需要自己调整好工作和生活的节奏。

知乎用户 Rand Xie 发表

我觉得要怎么定义加班这个事情. 单纯从工作时间来看, 我很多时候也是一天工作十多个小时, 周末能抽出时间也会工作一会. 我老婆觉得我经常都在加班. 但对我来说, 工作可能是

  • 完成公司正常, 能给我带来提高的任务
  • 完成公司繁琐的部署任务 (这东西对我提高不大, 但也是必须做的, 简称屎)
  • 参加数据竞赛保持对数据的触觉
  • 读文献, 推公式保持智商不下降
  • 学习和贡献开源组件
  • ……

这里面主要的区别在于主动性. 工作是为了自己的兴趣, 还是说公司把屎塞给你吃. 我感觉到的, 在美国当码农的一个好处是有的屎 (大家都不太愿意干的事情) 可以一起分着吃, 或者你自己主动吃了之后能有回报(peer bonus 之类的). 从工作时间来看, 我身边的一些同事包括我自己都不会少于 996 的. 老实说, 真要做出一个顶尖的软件是需要很多工作的. 除了写代码, 还需要不断思考架构, 分析需求, 等等…

知乎用户 方应杭​ 发表

因为美国管理程序员的那群人(项目经理、技术总监等),比中国管理程序员的那群人,水平高很多。

  • 美国程序员管理者讲究 work and life balance,你加班说明你技术差、时间管理能力比罗老师差太远
  • 中国程序员管理者讲究 996 表忠心,你不加班说明你不爱公司,你不爱公司技术再好又有什么用

系统性问题往往要从上层找原因哈。

到底哪个轻松?还真不一定。

  • 在美国是要求你必须在工作时间把事情做好,逼你去使用工具或创造工具来提升效率。
  • 在中国你只要让老板觉得你很努力就行了,技术差一点无所谓。

Update:看,还是有很多人在帮 996 找借口,支持这些管理者。

知乎用户 李沐​ 发表

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

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

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

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

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

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

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

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

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

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

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

===19 年更新 ===

我对答案中对 996 淡淡的赞同表示很惭愧。反观我自己,在身体和家庭允许的一些时间里,可能每周会工作 60、70 小时。但如果每周坚持是不可能的。很是不赞同企业家大肆鼓吹必须 996。

知乎用户 谢流远​ 发表

很大一部分原因是从业者平均年龄。美国的码农平均年龄远远高于中国。

中国的码农群体因为极速扩张,干活的人多数是刚毕业的二十多岁年轻人。而美国的码农群体比较稳定,很多 40 岁左右的人还在一线写码。甚至 60 多岁还在写码的也不少。

20 多岁的人加加班也不会怎么样,尤其是被老板压榨习惯了的研究生,下班在家吃喝玩乐的时候还会有点虚度光阴的负罪感。但是 40 多岁的人有家庭有孩子,身体也不行了。即使想长期加班,大多数人也是做不到的。

实际上美国很多小公司也加班,尤其是 startup。比如 andrew ng 的 startup 招人的时候要求愿意每周工作 70 个小时。还有马斯克的 tesla 和 spacex 都是著名的血汗工厂,996 不是梦。

但是由于从业者平均年龄在那里,当公司员工越来越多的时候,员工平均年龄必然会越来越接近行业平均水平。而年纪大的员工真的加不动班,慢慢就大家都不加班了。

所以中国码农的未来还是乐观的,就靠诸位再熬十年,然后自己去争取了。当然还有一种可能是中国码农数量继续指数增长,十年后诸位媳妇熬成婆,继续带着年轻人加班。。。

知乎用户 刘猫猫 发表

没那么多为什么,就一个原因:中国人多,人力资源供给充分。

知乎用户 匿名用户 发表

程序员,每天上班 8 小时,80% 的日子实际工作只有 3 小时,有时候 1 小时都没有。但是经常加班,是我上班不做吗?不,是公司要求你不能做得太快,也不能做得太慢,也不能不加班。

做得太快,会怀疑你没有认真做,会觉得你做出来的东西有问题,会把别人的任务分给你做,会安排一堆与你无关的事情做。

如果不加班会觉得你工作量不够,依然会安排别人的任务给你,甚至会开会研究为什么你们可以不用加班。。

知乎用户 祥子 发表

看了好几个都说是 PM 和老板瞎几把操作导致程序员天天加班的,我觉得这事可以反过来说,这就是中国劳资市场现状嘛。

要不是我们就是喜欢拼搏奋斗,几乎人人以奋斗加班尿血为荣,就算没活儿干,也要比排位谁下班更晚最后一个走,老板也不敢一个上线周期内瞎几把改八次需求。

如果像你说的美国程序员似的,都只干八小时,你改一次需求,我就晚一个礼拜上线,你让我加班就双倍工资走起,来个几次老板就感受到成本压力了,就要倒逼 PM 慎重定工期。

可惜这玩意是不可能实现的,反对 996 的人占比也就 10% 吧,还大部分都是肉身翻墙或者外企工作的,看着雷声大,其实翻来覆去都是这几万人在网上凑凑热闹。

劳工没这个意愿甚至还有点小骄傲,资本家乐享其成,监督部门默认鼓励,那大家就只能在网上发泄一下情绪,骂骂老板 PM,然后该加班加班,该尿血尿血,在梦里和曹大佐入个关的样子。

知乎用户 陈大侠 发表

曾经有一段时间我们整个团队都在加班,就我不加班,原因是我的开发速度比产品提给我需求的速度还快,于是别人都 9 点下班,就我 6 点半下班,为什么不 6 点下班,因为一下班就走人不好意思,所以多拖半小时。

后来老板看不下去了,问产品:为什么别人都在加班,就 XXX(我) 不加班

产品回答:他功能做的太快,测试都跟不上测

老板:那你多给他提需求,别让他闲着

产品:没法提啊,一个需求要前后端一起完成,他后端做完,前端跟不上也是没用

老板:那前端也让他做

然后我也和其他人一样每天 9 点下班

中国很多老板不榨干员工的价值就浑身不舒服,想方设法让员工享受福报,连马云都这样,何况其他小老板

知乎用户 Xenophon Tony​ 发表

更新:我澄清一下,并不是说国内的 996 是因为国内文化导致竞争环境激烈,而是中国的消费者市场发展了小三十年尚不成熟,消费者在消费习惯没有养成之前,乐于去接受并尝试许多新鲜事物,这鼓励了很多企业在盈利模式和获客方式上进行微创新,并间接传导到了程序员工作量的提升上。

以下是原文


真没觉得美国程序员的工作比中国程序员效率更高。

你要说为什么,只是因为硅谷大公司面向的全球市场产生的近乎垄断的高额利润(Google, fb 等),能让他们以最好的薪酬吸引到一小撮世界上最优秀的人,而这些人的效率可能是普通人的十倍,公司绝大多数重要的工作都是他们完成的,同时再以较好的薪酬吸引到次好的一拨人,高薪养着以保证他们在简单的问题上不会出错。相信很多在湾区工作过的人深有体会,很多人可以花个一年在某个页面上加一个小 feature,至于为什么这么久?因为公司大了,所以 red tape 严重,想做一个新 feature 需要反反复复讨论审核个半天,大家各执一词,等最终讨论出来,ERD 写出来,代码也 push 好了,production rolled out,一年就这么过去了,然后程序员们高高兴兴地拿着这个去 promo。

而硅谷的中厂小厂面对竞争激烈的市场环境仍然是要加班的,不信请参看 Uber 1.0。Uber 加班最严重的时候,是在推进中国业务的 2015 年,后来业务卖了,大家也就清闲了不少。至于现在的 Uber,加班现象也是有的,主要在 Uber Eats,为什么?因为市场没打赢啊,眼看着公司业务没有盈利,而 DoorDash 在快速蚕食市场,下了班还想走?谁不知道加班导致边际效应递减?但面对竞争这些公司有办法么?何不食肉糜?

我知道国内对 infra 普遍不重视,这是导致程序员在部署测试等方面效率不高的原因之一。可问题是国内互联网公司这么多,有一家公司能够在某个领域一招鲜吃遍天了么?当大家都觉得淘宝要垄断市场的时候,拼多多横空出世,本来很多 budget 是要投去建 infra 提高开发者效率去的,现在好了,砍一部分预算,大家快去做新 feature 吧。(我只是举一个可能的场景,我知道阿里的 infra 很好)

在没把高额利润以垄断的方式攫取到手上之前,幻想什么公司文化,公司管理能够本质上地改变公司生产效率,无异于痴人说梦。拿成熟稳定的市场和仍然在不断激烈变革的市场做比较,显然是不公平的。

说点题外话,你问我国内为什么这么卷?总是有这么多搅局者逼着程序员们整天加班?为什么硅谷大公司的产品万年不更新,没有那么多花里胡哨的功能却也能吸引消费者为之买单?说白了还是由于欧美有着更成熟的消费市场,消费者的消费习惯早已在上个世纪养成,容易满足且愿意为简单稳定的功能付费。而中国的情况恰恰相反,从最早满屏小广告的 win 2000 时代,被人诟病颇深的流氓软件,再到三亿人都在污染票圈的拼多多,商家们苦于没有办法从用户身上直接赚到钱,开启了一条又一条骚操作,在业务模式上进行创新。一时间,厂 A 厂 B 厮杀博弈,大叔大妈羊毛薅起。

夜幕下,西二旗的灯光璀璨,程序员们一边红着眼苦哈哈地改着产品经理的需求,一遍刷着知乎读着每天写五行代码去泡一杯咖啡的硅谷程序员,炫耀自己上个月只 commit 了个位数次的代码,同时吐槽为什么中国的程序员效率不高,真是这个时代最美的风景线。

知乎用户 hzldds2020 发表

不一样的体制,不能片面的去看的

知乎用户 一直住顶楼 发表

首先,这个肯定和某个答主说的加班费无关。程序员除非是在特别可悲的公司,基本上收入水平都是 exempt 加班费的(这个词的含义就是说因为你收入到了一定程度,法律允许雇主让你免费加班,当然你有权说不,雇主不能因为这个开除你,但是你不能加班以后再事后要求补偿)。

主要的原因在于几点:

1,美国相对来说程序员的工作稳定性更高一些,或者说岗位稳定性更高一些。所以大多数程序员在同一个职位(哪怕是同一个公司)停留的时间更久。所以同一个程序员一直做同一份的工作,效率肯定更高。

2,在美国,大家不推崇加班文化。国内很多时候喜欢加假班(没事干待的很迟,做给老板看)。美国真的加班的那些往往是真的很有热情的,自发性的很多。

3,国内的技术和管理能力低下。在美国,很多中级技术管理人员也是写程序的(40 万 - 50 万美金这个级别)。国内则是大多数人都急于脱离一线技术。这个造成中国在老年(senior)程序员这个级别和国外的技术差距很大。年轻程序员没有机会向更高级水平的程序员学习的机会,这个也是效率低下的一个原因。从老板的角度,如果不能从质上解决问题,就从量上解决呗。

知乎用户 子非鱼 发表

这么说吧。

国产 app 的更新频率已经到了用户都骂娘的速度了,,更别说动手敲的程序猿了。

知乎用户 苏维 发表

因为在中国你没办法阻止一些猪队友犯贱主动倒贴拿低工资跪着求职还主动加班。只要有一个这样的猪队友,老板就有理由压低你 offer 的价格,有理由给不主动加班的你年终打 c。

因为中国这几年每年都要 700-800 万应届毕业生,而这几年的大热门是 it 方向,人多就容易出猪队友。

// Append_2018-05-24

“谁都得活着。”

非常讨厌这样的论调,真的。不禁想起之前华为裁员后的一个真实案例。

有人背着两套房贷,被辞了。辞职后的生活当然非常的艰苦,别的公司开不出华为的高薪,每个月光是还房贷就竭尽全力了。

对了,人家还上有老下有小,妻子全职带孩子。

这人值得同情吗?不值得,谁让你贷款买两套房的,否则新工作两三万的月薪也足够一家人在深圳过上仍有结余的生活,而如果回老家三四线城市,随便找个万把块的工作则可以过得更加轻松。

“谁都得活着。”

但是有些人眼里,不去追求金钱收入,不去一线城市,就不算活着。

所谓一饮一啄,莫非前定。

之前也对携程幼儿园事件的受害儿童家长发表过负面看法。注意措辞是 “受害儿童” 家长而不是“受害家长”,因为那批家长在那个事件里完全是属于有责任的一方。

在那个问题下面痛批那部分家长每天只顾着工作而失职于为人父母,得到的回应也类似这个。

“谁都得活着。”

是啊,只有赚更多的钱过更 “好” 的生活才是“活着”,其他的都不算活着。呵呵。

有些人,从来没想过自己的人生有那么一丝可能性不平凡,而另一些人,则从来没想过自己的条件只能过上平凡保守的生活,去死命追求不平凡。

前者仍可在遗憾中过完简单快乐的一辈子,而后者往往在半途招致自我毁灭。

知乎用户 一二三冲鸭 发表

这是一份从某头部互联网公司流传出来的优雅划水指南,全文 3 分钟,看完这份指南,就算是 996、007,你也会感觉生活是如此的美好。马爸爸太不容易了,他的用心良苦,就是让我们知道 996 是福报。

09:00—09:30 在公司吃早饭,看看邮件,顺便看大公司群里的信息,了解各大业务线进展。

09:30—10:00 厕所蹲坑,刷刷手机,千万不要在家里蹲坑,在公司蹲坑也是工作的一部分,号称 “带薪拉屎”。你在家蹲坑会有收入吗?还浪费手纸和水。

10:00—11:00 各种早会,开完部门会,开项目会;开完项目会,开需求讨论会;还有项目沟通会会。反正就是各种会,瞎扯淡,听领导吹吹牛逼,打打鸡血,公司越大,早会越多。

11:00—12:00 理解需求,开始干活,写几行代码,包括著名的 “Hello world。”

12:00—13:30 午饭、睡午觉、同事间吹水。

13:30—15:00 各种产品、运营沟通会,了解需求。

15:00—18:00 写写代码,修复测试提交的 bug,调整 UI 等工作。

18:00—19:00 晚饭。

19:00—19:30 晚饭后和同事散步、抽烟、吹水

19:30—20:30 和同事讨论工作及技术细节,写写代码、文档。

20:30—20:45 约同事抽抽烟,吹水

20:45—21:00 写工作日报、回邮件,刷手机静待下班。结束一天的工作。

还不算接接电话、处理私人事情的时间。如果炒币炒股,还要经常掏出手机看下走势,看下各种炒股群的最新信息,一个小时又过去了。

在 996 成为常态的职场下,如何优雅的划水是一项基本技能。

这样的工作你说辛苦吗?

别以为你的 leader 不知道你在划水,他是不想说破而已,因为他有可能也在划水。

在成年人的社会里,背地里最遭人排挤痛恨的也许不是做错事的那个人,而是站出来揭发并破坏规则的人。

说笑归说笑,但是工作还是要真人对待。

薛兆丰老师说过:“我们每个人,都在为自己的简历打工。”

更新一波。

上个月参加了一个项目的月度会。算是彻底领悟到了为什么中国的程序员加班多的原因了。

一切都是领导的问题。

如果你是乙方,导致你加班的原因,99% 是甲方领导的问题。

如果你是做自己公司的项目,导致你加班的原因,99% 是你的领导或者是领导的领导的问题。

那个项目算作是大的项目了,几千万,整个项目组 60 人,包括开发人员,实施人员,甲方关键用户。

那个项目是在国外某个知名 ERP 软件上进行二次开发。

甲方一直在改变需求,一个简单的功能不停的改变,在月度会上,甲方领导还理直气壮的说,这就是我们集团的特色,没办法改变的。同时还想把所有的功能都做到系统中,就像大杂烩一样,什么都包含,巴不得把公司的所有线下业务都搬到线上来。

同时还要求必须按照之前定的里程碑节点执行。这样的结果,只能苦了我们的程序员兄弟。

加班,加班,还是加班。

在中国,乙方就是弱势方,只能不停的妥协。但是你也知道,一个功能一旦按照之前谈的需求开发好了,在做改变,那就相当于推倒重来,什么设计、测试、开发的,都要重来一遍。

后来我给乙方支了一招,只要超过 2 天的需求变更,都要经过需求变更委员会审批,需求变更委员会由甲方的副总裁担任。

你还别说,这一招还真的有用,有个功能点,变更了 2 次,甲方的业务领导直接就被他们的副总裁 K 了,扣了一个月的绩效,从此以后他们的需求变更就开始谨慎起来,讨论需求也会考虑得更加全面。

知乎用户 捞鱼虫 发表

我觉得不只是 it 行业,新能源汽车行业也是同样。

一方面老板并不清楚底下人在做什么,需要多少时间,怎么提高效率,单纯的觉得加班就可以把工作做好,别人开发车要 3 年,我就要 2 年或者 1 年半,你看我多牛逼,怎么做才能做到?让工程师加班,每周工作 80 个小时不就压缩了一半时间么。

另一方面是 it 和汽车最近几年给出的薪资是相对较高的,当然 it 更高些,老板给你这么多钱,自然觉得你就是他的工具,压榨干了才合算,你说你不加班,不好意思,除非你是大牛,否则就滚蛋,我去找愿意加班的,那些人排着队等在门口。

社会主义国家社会起来比资本家更资本,这真的是颠覆了我 20 年前小学初中学的那些政治课上的内容。所以如果你身在这样的公司,加班是一定的,加班时是不是拼命干活是可以自己选的,如果身体吃不消,还不愿意放弃这份工作,在加班时适当放空一下,留得青山在不怕没柴烧,不能把身体搞坏了。

知乎用户 小创 发表

我就想喷一下为强制 996 辩护的这些回答。

这些论调里面都有一种误解,好像所有人活着唯一的目的都是要获取职业的成功一样,都必须要 “学习”、“成长” 一样。然而有的人选择 work life balance ,是因为在他们看来,活着不仅仅有工作、有职业而已。还有很多其他的可能性,比如家庭和朋友,比如兴趣和风景。人应该有选择自己生活方式的自由,而不是都必须要追求“成功”,“发财”,变成“厉害的人”。

换言之,996 应该是一种选择,而不应该是一个公司强加的制度。

有些人被剥夺了选择的自由,之后得到一点点好处,就开始为这种剥削辩护,典型的斯德哥尔摩综合症。

知乎用户 BIG HO 发表

我一直不理解,为什么百度地图要开发推送新闻的功能?我下载地图就是为了导航,为什么产品觉得我会点开来自地图的新闻推送?

这样的奇葩功能国内的软件大概都有,一个软件想要把所有的流量都吸引到自己身上来,但是却逐渐忘记自己本来是干什么的。

所以程序员有限的时间精力从本该利人利己地推进技术发展(搞好用的开源,搞牛逼的创新),做好产品功能,被压榨去做无脑的功能。

知乎用户 CSDN 学院​ 发表

中国程序员 VS 美国程序员

本篇回答内容来自 CSDN 博主 helloxielan

心态差距

近年来由于互联网的迅速发展,全国各地,IT 人才的需求量都出现了飞跃式的增长,程序员的薪资也明显高于其他行业。

但在国内,真正因为热爱编程而从事这份工作的人其实并不多,很多人学习程序想得都是这个行业火,赚钱快,入行门槛低。什么技术火就学什么,然后进入一个大公司,做几个成功的项目,积累工作经验,几年以后自己当个小管理,拿着十几万,或几十万的工资,再无追求的过着小日子就好。

甚至到了 30 岁,如果没能进入管理层,大多数人都会考虑转行,或仅靠自身的知识累积开始创业。

美国程序员大多数都是因为热爱编程行业而从事这份工作的,他们会专注某一个领域几十年。50 岁以上的程序员还会安心待在同一个岗位写代码,专研技术。他们想法很简单, 对于编程这种事情更多的是那种单纯似的热爱。

影响因素:国外的程序员,专心写程序并专研,他的级别和工资就会年年往上涨,和做管理的人员没太大区别。国内的程序员这方面就杯具了,写程序的工资基本低于管理者,迫于现实的生活压力,不得不往赚钱更多的方向走。

沟通能力

和美国程序员交流的时候,你能从他的切入点和具体思路很清晰的理解他的问题,在阐述问题的时候背景信息也给得相当全面,所以理解他们的问题比较简单容易。

中国程序员阐述问题时逻辑思维不清晰,背景知识没给全,讲了很多,但大家都 get 不到他要表达的重点,有些人一味的自顾自说,完全不去思考和理解别人给他提的建议。

影响因素:编程所用的英语,比较是美国人的母语;另外就是思维方式的不同。

解决问题能力

如果给我们中国程序员,规定好的方案,他们普遍完成的非常好。但如果没有具体方案, 完全是一个开放性课题,很多时候程序员会完全无法下手。

美国程序员这方面能力比较好, 他们的探索研究能力非常强, 经过一定时间的研究后, 能提出一套非常具体有效的方案然后一步一步去解决问题。

在一定程度上,这种差距就如同现今机器学习和真正智能的差距。机器学习可以解决很多特定领域的问题,模型可以优化得越来越好,但优化的尽头也不是真正的智能。

影响因素:两国教育方式的不同,一个善于解决问题, 另一个善于发现探索问题。

技术实力

工作初期两国程序员差距不大,5 年是个分水岭,这之后开始出现变化了,在中国多数人工作个 5-6 年就开始琢磨转管理。虽然这 5-6 年我们代码上的时间,积累的经验可以说很多时候是高于美国程序员的。但在某一项技术上我们有多少人专研超过 10 年,所以在国内出现了程序员吃青春饭这种理论。

而美国程序员 10 年以上经验的人有的是。 例如,一个工作经验是 30 年, 从 dos 时代就开发 debugger 一直干到现在, 一个 24 年工作经验外加 5 年的博士研究经验, 还有两个从毕业到现在一直从事 CLR diagnostic api 的开发到现在基本都干了十几年了。

在国内真的很难想象有这种团队。 记得 stackover 上统计过, 程序员的黄金年龄应该在 40 岁左右, 但我们国内 40 岁的时候有几个还愿意写程序呢。cocoachina 上,一篇写了 40 年程序的人发表的文章,竟久居排行榜前列不下!

职业诉求

中国的程序员更需要关注物质回报,因为我们的文化强调尽早买房买车。欧美人在这方面要轻松自由得多,有大把的时间去尝试创造,但其实大部分人是不创造的,只是概率比中国大而已。

中国人妄自菲薄没有 “创新” 能力,是没有意识到自己到了创造力高峰的时候却被现实牵绊,我们用自己的青春和人家的大半生去比较,当然妄自菲薄了,人家可以投入的时间就比你多得多。中国程序员职业黄金时期所要面对的干扰非常大,首先是要让自己融入英语的技术圈子,其次是要应付一个不争气没追求强加个人的世俗文化。

当然小编并不是在长他人志气,灭本国威风,只是想小小提醒作为程序员的你,一定不要以学编程、拿高薪作为自己唯一的人生目标。就好像创业路上的你,无论在什么时候,我们都要不断提升自己的专业度和竞争力,永远保持一颗热爱自己事业的工匠之心,坚定的走下去。互联网行业千变万化,要不断的学习,更新知识系统,才能永远不被这个社会所淘汰。

知乎用户 Wenkan Photo 发表

有靠谱的管理层和辅助团队比如产品,设计。交给程序员手上的项目思路是清晰的,需求是明确的。不是为了 kpi 而没事找事,也不是跟别人比同样的东西谁抄得快。既没有稀里糊涂上的项目,也没有 deadline 之前改需求。这样一来当然进度安排就合理了。

进度合理了之后,就可以用稳定可预测的方法来计算每个程序员的工作量。不管是 8 小时还是弹性工作制,一个正常人一天能集中精神写代码的时间也就那么两三个小时。所以任务都是以天为单位发放的。团队有多少人干多大事,以结果为导向不搞浮夸。所以不会浪费时间在那里加班磨洋工。

实事求是这个话,在中国只是挂在党校的牌子上,却是没人能贯彻到实践里的。

至于工会,对高科技行业没什么作用。工会都是给体力劳动者准备的,他们很容易就被更便宜的人取代,所以需要抱团取暖。但程序员不是这样,入门级以上的市场里基本还是供不应求,钱少了人家不来,福利不好人家不来,项目没意思人家还是不来…… 根本没什么抱团议价,光是单个程序员自己的议价能力就已经逆天了,跳槽的时候谁手里不是捏着好几个 offer 互相 compete?HR 也没辙,知道你有别家在面试还会主动帮你推迟 offer 决定时间……

知乎用户 自由飞 发表

同学,你至少犯了这几个错误:

1、美国程序员≠google 程序员≠fb 程序员。

美国程序员的产出却非常牛逼(如 google、fb 等)

就像段子里经常说的:外国≠美国≠欧洲。

当然,你可以说 google 的程序员产出很牛逼,来继续这个问题。那么你的第二个错误就是:

2、高质量的代码≠公司的成功

程序员的问题,在于 “手里有个锤子,看什么都像钉子”:手里有技术,就觉得所有的成功靠技术。真的是这样吗?

google 确实有点牛,但 Facebook 呢?它用的技术有多牛?做出这样一个网站要多高的 “产出”?^_^,你把代码当成流水线上的零部件,谁产出多谁赢么?

以我粗浅的商业经验来看,哪怕是一般人眼中望而生畏的 “高科技” 公司,技术对于公司的成功也远没有我们想象的那么大!道理很简单,对普通人而言,你很高科技;但对你的竞争对手而言,你一般也就高那么一点点。这一点点的差距,总是可以用其他东西抹平的:比如包装、营销、价格…… 甚至其他不光彩的手段,不然为什么百度打跑了 google 呢?

上面说的都是些小问题,这个问题以及下面大部分回答最核心的错误:

3、加班和效率无关

哈哈,你被洗脑了哟,同学!

你以为你加班,是因为你效率低么?除非你们公司是这样的:效率低的才加班,效率高的就可以不加班甚至提前下班——这样的公司有多少?

加班最根本的原因,只有一个:

你不加班,有人加班

这个道理简单得我都不想说,说起来有点侮辱智商的赶脚。

当然,你可能会说,为什么美国人就可以不加班?有法律的原因,也有工会的原因,或者其他啥啥啥的原因,但归根结底:大多数美国人不愿意加班。加班干嘛呢?有这点钱够生活就行了!我需要时间和我 family 一起去 holiday…… 美国的资本家找不到愿意加班的人,咋办?莫非还能这样?

![](data:image/svg+xml;utf8,)

当然,美国人不加班,中国人愿意加班,所以欧美搞外包把公司迁到中国——这又是另外一个问题了,也再次证明我的说法:

加班最根本的原因,只有一个:
你不加班,有人加班

所以说一下哪些嚷嚷着 “加班会降低效率” 的同学,以为这样就可以让资本家认识到…… 别 YY 了。who care?反正过了 35 岁就把你开掉,有的是年轻人愿意拼可以拼!

4、压力和老板无关

和第 3 条的理由一样,你的压力,也来自于你的竞争者。

搞清楚谁是你的竞争者,非常重要。

作为一个打工的,本质上你就是在出卖劳动力。所以,是谁在抢你的生意?

很无奈,但这就是现实。大家可能不爱听,但事实如此冰冷,飞哥也没有办法。

你可能想破脑袋就是不明白:那为什么美国人就可以……

因为人家有积累啊。

如果我爸妈已经给我留下了二十套房子,我天天收租子就可以过得很滋润。我特么也不会加班,我也不会有啥压力,是不是?!

今天的美国人,说白了,不干活国家养吃低保也能活得挺自在,加个毛线班!

这话小粉红又不乐意了,呵呵,但是,这就是差距。你不正视差距,永远没有办法缩短这个差距的。与其天天不忿撕逼,我个人觉得不如埋头做事——尤其实在当下这种困难的时局里。

我们的上一辈人,其实已经用他们的血泪,给我们一些积累,所以才会有这样的问题:

[很多公司的 90 后为什么离职频率那么高?​www.zhihu.com

](https://www.zhihu.com/question/332897003/answer/1184643145)

找问题的时候顺手答了一题:

[孩子喜欢理论物理,可妻子希望他做程序员怎么办?​www.zhihu.com

](https://www.zhihu.com/question/323427228/answer/1187030060)

所以,我们能做的,也只有尽力为下一代人多一些积累而已。


已收藏到:

[野生程序员​www.zhihu.com

](https://www.zhihu.com/collection/133037249)

欢迎关注,收藏,o(* ̄︶ ̄*)o

另外推广一个这个,^_^:

[叶飞:老码农和你聊编程,周三晚 7 点​zhuanlan.zhihu.com

](https://zhuanlan.zhihu.com/p/119300879)

知乎用户 林剑锋 发表

国内加班靠强制,美国加班靠洗脑

这是来自苹果的广告。

“Make me rich or die trying”

天天说这句话的人,我们称之为 Zuckerberg Wannabe(想成为小扎的人)

“9 to 5 is for the weak"

只有弱者才朝九晚五

90 Hours A Week And Loving It”

曾经是苹果 Mac 组 Tshirt 上面的话。

雅虎前美女 CEO 说自己一周工作 130 小时,时间安排精确到要计划合适上厕所。

[Working yourself to death isn’t worth it, and Silicon Valley is starting to realize that​www.businessinsider.com

](https://link.zhihu.com/?target=http%3A//www.businessinsider.com/why-silicon-valley-glorifies-culture-of-overwork-2017-6)

这篇文章讨论了硅谷恐怖的加班文化(相对于美国其他行业)

In Silicon Valley, Working 9 to 5 Is for Losers

https://www.nytimes.com/2017/08/31/opinion/sunday/silicon-valley-work-life-balance-.html​www.nytimes.com

这篇文章解释了为什么硅谷的人加班起来这么疯狂。

我只在北京和硅谷上过班,都只在创业公司工作过。说实话对于工作时长没有感觉到不同,即便是现在我也是天天 7 点回家后继续写代码,有时候写到 11 点 12 点都很正常。主要是因为我在家也没有什么其他的事情干,而且公司可以干的事情太多了。虽然是一家小破公司,但是公司里的人都很努力,下班后首发邮件写 review 也很多人,可能这就是属于没有科学管理的公司吧。

加班和程序员职业一点关系都没有,基本上对社会上所有职业都是如此。你很难得找到有一个职业中国比美国加班少。说句实在话,整个社会都这样,你还能怎么办。

你说的那些 NB 的公司,都是属创造性的公司,像 google fb,以及这些公司做出来的一些伟大的产品,很多都是创造性的东西,不是中国程序员狂加班就能搞出来的,它更多是需要开放的环境和整体的社会创造力的提升。相反,在一些不需要创造性的领域,说实话,加班就是增加生产效率。不信你看看生产同一项产品,为什么美国公司就是没有中国公司生产的多。

知乎用户 老王和老张 发表

想到了这个视频

旧金山 Airbnb 总部程序员妹纸的一天

美国程序员与中国程序员的真实写照

附赠网友评论

@三秋之王

希望她多出点 Bug,还是她不会的那种

@尘埃安然

别人家的公司和别人家的程序员

@王小利

这尼玛 10 分钟到公司,我倒是也想啊,我们公司附近的房租比我工资都高

@七月桃安

中国程序员十点下班都算早的

@不加班的码农

凌晨 1 点下班,出租车司机劝我转行

@ZERO

看来爱彼迎只有厨师在上班吧,妹子整天都在吃

@柳叶丝绵

没有她上厕所的视频吗,是不是被小编减掉了

@布朗熊

洗澡的视频怎么不见呢,小编,老实交代

其实从妹子的工作效率来看,肯定是高学历精英 。

能应聘进入全球 500 强,就一定程度上说明了妹子的实力。无论是技能或者是做事效率都得到了公司的认可。况且大型公司提供这样的福利条件本身就是正常的,你进阿里巴巴看看,马云爸爸还能帮你当证婚人呢。

外企非常讲究细节,每个工作岗位都分工明确且做事千锤百炼。小到你代码中的一个多余的括号,都需要有规范,做人做事不用给别人留着擦屁股的事情,多做一点,多想一点,提升工作效率,帮自己省事也能帮领导省事。


我是小 v

最爱写文章的运营部大妹子

微公号:vNext 编程 有很多针对于 Java 系统学习的福利资料,有需要的关注哦

知乎用户 刘晓强 发表

转载一些新闻片段:

几十年来,华尔街的公司和初级员工有一个心照不宣的约定:年轻的分析师同意每天工作 15 小时,放弃一切正常的生活,以换取高薪工作和不菲的收入。

**  但事情可能会发生变化。去年十月,高盛告诉投行部门的初级分析师,周六不要加班,并要求所有的分析师每周平均工作时间不超过 70 至 75 小时。几周前,美银美林建议员工每月至少周末休息四天。两周前,瑞信也告诉分析师,周六不要在办公室加班。**

…………

上行下效,在美国的职场,特别是上层职场,盛行的是一种几乎不睡觉的敢死队式风气。华尔街的人早就声言:每天只有三四个小时睡觉时间,根本没工夫回家,就睡在办公桌底下。更多的时间等于更多的工作、更大的附加值,这几乎成了共识。大家比的,是谁最早到办公室,谁最晚走,谁永远钉在那里、随时准备在星期六上午 11 点进行面对面的工作会晤。美国进步中心最近的统计显示,每周工作超过 50 个小时的专业人士比例,从上世纪七十年代以来持续上升。

在德国,老板要把下班时间从 5 点半延长到 6 点,公司的工作委员会马上就发话:晚半个小时下班,有些职工回家吃完晚饭赶不上音乐会了。工作委员会可以很容易否决 CEO 的决定。而工作委员会都是职工选举出来的。而在美国,你口口声声什么 “工作与家庭平衡” 的人,就会被视为职场异类而遭到排斥,甚至丢工作。大家都那么献身,为什么你要抱怨,就你有家庭?甚至连办公室的同事也不会同情你。

…………

嗯。。我一直都不太理解,为什么这个世界上有一个 “薛额定的猫” 的美国。

在美国人自己拍的纪录片之中,美国的一个盛行加班文化,压力巨大无比的国家。无数大企业半夜 12 点,都要求员工随时在线,等候老板的 “关照”。一歌颂起美国人的职业精神,就是工作道深夜什么的。

但在另外一帮人的嘴巴里,美国人成了一个永远不加班的国家??

说美国好的时候,就说美国人薪酬高?不加班,老板多么宽仁,多么体贴。

但在中国员工,要求自己的福利,工资要想美国人看齐的时候,那个美国就摇身一变,变成了一个天天要加班,压力巨大的国家??

某些人要埋汰中国的时候,就说美国人的福利多好,多好。。。

工人要提高福利,减少劳动时间的时候,又转过头说,你们看美国如何如何。。。

很多人,能不能统一一下???

真的很想知道,美国的真实情况到底是啥样呢!!

能不能统一一下台词???

………… 既然有垃圾要求,我就帖几个新闻。

BI 中文站 7 月 4 日 报道

毫无疑问,做一个软件开发者是一个不错的职业,尤其是在科技之都硅谷。

科技初创公司的员工们往往备受宠爱,享受着各种诱人的福利,从高昂的薪水、奖金和股权到免费的餐饮、按摩、公司内部的健康俱乐部和国际旅游,不一而足。

但是,所有这些宠爱都是有代价的。一些软件工程师在问答网站 Quora 上吐槽了自己的生活。

下面看看他们是如何谈论硅谷工程师这份很有前途的职业的。

1 谷歌(微博)的一名网站稳定工程师每天上午九点钟开始上班,每天下午七点钟离开公司,回家后再加班到晚上十点钟。他需要随时保持警惕,因为他必须在 5 分钟内对出现问题的网页做出回应。“每天下午七点钟带着背包和充满电的微博电脑回家。如果我在路上接到了网页出故障的消息,我必须立即靠边停车,在 5 分钟内登录系统开始排除故障。如果我是通过电子邮箱接到的故障警告信息,那么我可以等到回家后再处理。”

2. 一名在一家芯片公司上班的软件工程师称,他每天上午九点钟开始上班,通常会忙到半夜才回家。“你看看时间,又快到午夜时分了。该回家了,快到半夜了。在开车回家的时候,我就想我幸好住在离公司不远的地方。等到上床睡觉的时候,已经过了午夜时分了。沉沉睡去,一夜无梦。闹钟在早上六点半钟响起。”

5. 除了超长时间的工作和上下班塞车,其他程序员还谈到了其他一些烦心的事。一名程序员抱怨称,在硅谷工作最令人郁闷的地方就是 “你拿着令人艳羡的高薪,却仍然买不起地段稍好一些的房子。”

10. 最后,对于很多硅谷程序员来说,繁忙的节奏、冗长的工作时间和持续的压力往往会让他们感到虚脱。有人这样描述自己的生活:“起初,我以为虚脱就像跑完马拉松后那样疲惫。你睡个三天时间,就又恢复了。但是,实际情况并非如此。我确实很累。但是,当我连续四个月每周工作 60 个小时,期间还到中国出差三次,我基本上就累得对工作提不起任何兴趣了。我不敢相信我对自己热爱的事业竟然会产生这样的感受。”

…………

「1、苹果员工:长时间加班压力很大,但工资够高」

有员工总结说,在苹果工作就像在一个高压的压力锅内,需要承受巨大的压力,而且交流也是自上而下的——偏执的管理、不尊重、持续的紧张以及长时间加班,这大概就是公司的文化写照。

单方面的自上而下的文化决定着:任何企图改变、影响公司以及讨论如何改进工作的行为都不被允许。你需要做的就是拼命的工作、不抱怨,因为还有不下 10 人在垂涎着你的位置,这方面你的主管不会忘记。

值得欣慰的是,在报酬上,苹果不会亏待你。据 @http://on.cc 東網报道,

苹果公司的实习生时薪是 38 美元(约 253.7 人民币),平均月薪达 6700 美元(约 4.47 万元人民币);
当每周工作超过 60 小时,其后的时薪更会以双倍计算(网上也有流传的 9000 多美元版本,但是据了解,是算上了很多加班补助和福利之后)。

等等,这还不够!除了这些,苹果公司还会给员工提供 4 个人一间房的住宿,如果你觉得私人空间不够,想租房,你还可以和公司申请每月 1000 美元的租金津贴。

还有,苹果公司因为面向全球进行人才选拔,挣钱是一方面,你还可以同其他不同文化背景的人交流,这种精神财富相当难得。

但是苹果公司也有许多要求,首先是要求员工要对公司的工作内容守口如瓶,不但不能向任何人透露工作内容外,还不能和不同的部门透露,也不得私自走进其他部门的办公室。

据苹果员工布兰德说:他曾问过一位有幸参与 2010 年初代 iPad 开发的员工,对方说自己花了一至两年时间研究一个 9.7 英寸屏幕,但对其功用毫无头绪,直至 iPad 上台一刻,才恍然大悟。

「2、微软员工:我加班是因为我愿意」

(本部分内容引自知乎作者 “张力柯”,有删减,特别感谢)

国外加班吗?Answer is YES。我数不清有多少天在微软 redmond campus 熬到晚上 11 点。但是,几乎没有熬通宵的经历,熬通宵带来的不光是健康伤害,而且实际上浪费了白天时间。

manager 一直给我强调的:重要的不是你做得多快,重要的是你对自己工作能力和工作量有合理的估计!也就是,给你一个任务,你要知道如果你用正常工作时间大概会花多久,而不是打保票下决心说要攻克难题要不吃不喝不眠不休——no!只有正确的时间估计,才能让团队的进度合理,manager 也才能和上面去 argue 去帮助上面做决策。

另外和国内差别很大的一点,国外的加班,都是自愿,都是我知道我要解决什么问题,我也明白解决了这个问题之后后面的工作会很轻松,所以我心甘情愿我愿意,如果我真解决一个技术难题,等到的是升职或奖金。国内的加班,是不确定性,是上面非要说某某问题很严重,你也不知道为什么会这么严重,然后你熬更守夜搞定这个问题,没过两天上面又说又出现严重问题。。。如此反复,你永远不知道你到底解决了什么,也没发现你天天加班到底帮你减轻了什么负担,似乎反而越加班越忙越多问题。。。然后。。。要么猝死,要么跳楼。。。

「3、谷歌员工:加班 11 小时,但我依然最爱我的雇主

谷歌能够连续 6 年蝉联《福布斯最佳雇主排行榜》榜首,绝非只是 “工资给的高” 那么简单。钱买不到员工的开心,也买不来层出不穷的创新,更何况谷歌的签约年薪还并非硅谷里最高的一个(坊间数据显示 Facebook 和 Twitter 都略高一点)。而且,谷歌的平均工作时间也不像很多人以为的 “完美 8 小时工作制”。根据 Quora(美国的知乎)的回答,一般工程师的平均工时为每天 9-10 个小时,如果资历深、管理责任大,还可能会“加班” 到 11 + 个小时。

可即使是这样,谷歌还是成为了员工最喜欢的雇主。原因何在?原因在于那 9-10 小时的工作时间还包括了 20% 的自由工作时间(做自己喜欢做的创意)、午餐休息时间,甚至健身房活动时间等。用谷歌的话来说,员工轻松无压力的工作环境才能最有效率,20% 的自由工作时间才更有机会创造出如 Gmail、GoogleNow 甚至是 AdSense 这样的产品(这些可都是谷歌目前重量级摇钱树服务)。

「4、亚马逊:公司主动缩短工时,然而并没有人去休息

亚马逊是美国科技行业内出了名的压力大、工时长,“堪比中国华为” 的一家公司。不仅《纽约时报》连续两篇长文点名批评,Quora 上多位内部人士也如是回答——《纽约时报》宣称的每周 80-100 小时的工作时间虽然有些夸张,但确实发生过。基于不同的工作小组,这种情况发生的频率也不尽相同。可以说,亚马逊奉行的是加强版的中国式 “996”。

今年 8 月,亚马逊想要做出改变,它准备将某些特定团队每周的工作时间降至 30 小时,员工只能拿到平时 75% 的工资,福利并不会缩水。

然而并没有什么人愿意这么做。因为亚马逊是考核淘汰率相对较高的硅谷公司,表面缩减工时并没有太大意义,你不在工位上的时候,活也一直在等着你,压力也一直都在。

不过话又说回来了,既然那么苦那么累,员工为何还留在亚马逊呢?亚马逊又是怎么成为硅谷最伟大公司之一的呢?正因为亚马逊的领导方向清晰并始终保持技术的领先,员工虽然压力巨大,但成就感也强;虽然工时长,但学到的经验也多。

曾经在亚马逊设在卢森堡的欧洲总部工作知乎网友 “火车 Stranger”,说,“亚马逊是我工作过的最好的公司”。

在亚马逊,伴随加班的,是办公室外美如画的风景。

当然,起薪高也是一大主因。

专门追踪企业薪酬的指标网站 “薪酬网” 日前公布了全球科技业入行薪水前 10 强,新进员工待遇最优的企业就是亚马逊:

该公司入门级职务平均 1 年的薪水就达 10.9 万美元(约 73.8 万人民币。平均下来,在中国,就是月薪 6 万块!)
另外,光是分红奖金也有 2.2 万美元,等于 1 年的薪酬高达 13.1 万美元(约合 88.7 万人民币。平均下来,在中国,就是月薪 7.3 万块!)

彭博亿万富豪指数显示,其创办人贝佐斯如今也坐拥逾 617 亿美元财富,成为全球第四大有钱人。

…………

知乎用户 Cat Chen​ 发表

美国程序员跟中国程序员比,效率确实不一样,可以分不同的方面做比较。

首先是主观能动性的差别很大。同样是大公司里的程序员,尤其是毕业五年之内的初级程序员,美国公司里的都是想干活的,没有活干会主动找活干,所以只要给他们指方向就可以了。在中国公司里,很多人都是踢一下就动一下的,「你上个星期答应说这个星期能完成的事情做了多少啦?」答案经常是因为这样那样的原因还没开始做。很多时候同样技术难度的事情在中国需要更多人做,不仅仅是技术和经验上有差别,还因为在中国有些人必须盯着才能出活,这样效率自然就低,同时团队里还要专门浪费一些人力去盯其它人干活。

其次是增长意识(growth mindset)的区别,这是万恶的资本主义最大的优势。什么是 growth mindset?用简单的话来说就是「相信明天会更好」,从画饼的角度来说就是「相信明天的饼可以做得更大」。这其实非常重要,因为如果你不相信饼可以做得更大,你的精力就会放在如何在已有的饼上跟别人竞争分最更大的一块,但如果你相信饼本身能够变得越来越大,你自然会把精力放在把饼做大上面,因为只要饼做大了你自己能分到的肯定不会少。

在《Zero to One》里面有一个理论,把乐观 / 悲观和确定性 / 不确定性组成一个 2*2 的矩阵。确定性乐观就是认为未来会更好,而且对未来如何好有远见,大家想要实现这样的愿景。这是美国二战后蓬勃发展的状态,大家都在想象未来是怎样的。不确定性乐观就是认为未来会更好,但不知道到底什么会更好,大家就买指数基金吧,无论什么行业涨什么行业跌,大盘总是会慢慢涨的,这是 Peter Thiel 批判的美国现状。Peter Thiel 认为中国是确定性悲观,欧洲是不确定性悲观。但我觉得中国文化一直以来都是不确定性悲观的,就是认定悲剧明天一定会发生,但不确定悲剧会如何发生。举个例子,中国人都会想办法存钱,因为不知道明天可能得个什么大病,社会保障系统靠不住,所以只能自己靠自己。至于明天到底是病死,还是食物中毒死,还是车祸死,中国人是心中没数的,但总之就觉得这个社会毫无安全感,必须囤着资源以防万一。这就跟美国人买指数基金的思维方式非常不一样。

这种思维方式的区别,使得美国人更愿意相信饼明天会更大,使得中国人更想要趁饼还在的时候尽力抢更大的一块。这最终导致不同地方的人做事的效率不一样。

当然这只是宏观的层面,具体到每一个人每一家公司都不一样。无论在哪个国家,公司越大,一线员工越不觉得公司的饼明天做大跟自己有什么关系,越想要在今天抢一块大的。公司越小,越不值得花力气去抢今天的饼,还不如努力把明天的饼做大。但就相似体量的公司来说,在中国大家对未来的悲观会驱使人去瓜分利益而不是做事情。

虽然这种思维方式跟文化有关系,但跟社会保障体系也有关系,所以中国人到美国后有可能变得具有 growth mindset,但不是所有中国人都会变。举个例子,我刚刚加入 Facebook 时我的中国人总监对我说,他在读博时跟别人开过公司,最后他提前退出了所以公司卖掉时没有赚到很多钱,后来在 Google 做过最终来了 Facebook,Facebook 成功后股票就变得很值钱,所以他觉得在湾区赚个一百万(美元)不是难事,错过了一个机会也总有下一个机会。同时他还说,我们现在加入 Facebook 就不应该追求在 Facebook 发大财,把事情做好得到别人的欣赏后,自然会有人拉你去加入下一家 Facebook。这就是 growth mindset,相信明天会更好。

最后就是人和软硬件价格的差异。一件事情要提高生产力,可以把钱花在人身上,也可以把钱花在软硬件上,例如买更多的机器,配备更好的软件和服务。因为在美国人比较贵,所以钱花在软硬件上更划算。因为软硬件价格是全球化的,拿到中国以后就变成人更便宜了,所以会出现为了省钱而让人多干活的事情。

知乎用户 Gregory 发表

中国人的集体观念里那种勤劳奋斗的思想异化成了不计成本的瞎拼,俗称奋斗逼。
科学的观念始终还是太遥远,这种观念上的差距十分可怕,所以我们所谓的互联网各类模式创新和亏本砸钱一直就是笑话。

知乎用户 周喆吾 - Max​ 发表

揭开皇帝的新衣:中国程序员做的业务确实多一些,工作时间长,不写 unit test,不仔细 code review 的情况下,每天能 check in 的代码量一定是 FLG 程序员的几倍。完成的功能模块数量也是多一些。

知乎用户 千锋教育​ 发表

问题首先不在程序员这个群体,相比来说美国的各行产业都更加成熟一些,技术工种和别的工种的工资差异也不是那么大,在美国正式的工作加班就需要支付加班费,一般情况下不提倡通过加班来完成任务。

知乎用户 温朝 发表

这问题下的各路高赞回答真是让人一言难尽,扯什么管理制度工作方法之类玄谈。把视角放大一点,看看中美两国的劳工状况不就清楚了。为什么美国搬砖工人收入比中国工人高?为什么美国麦当劳服务员收入比中国服务员高?为什么美国快递小哥收入比中国快递小哥收入高?为什么美国护士比中国护士收入高?原因非常简单嘛,因为美国是发达国家,还是个超级大国而中国只是个发展中国家。整体上更富裕的发达国家工人待遇比发展中国家高不是天经地义的么?

很多人否认单纯加班堆人力的意义,我觉得未必。对于高度创新的事业来说,可能确实需要宽松的环境来激发灵感,但是世界上大部分工作其实就是依葫芦画瓢流水线拧螺丝而已。不论是北上广看起来高大上的写字楼白领还是世界创新中心的硅谷码农们,都是如此。既然都是拧螺丝,那么加班加点干就是能堆出工作量,就是能比朝九晚五出活儿。换个方向想一下,如果所谓美国科学合理的管理制度下更能出成绩,怎么国内公司没人效仿?各路欧美通信设备大厂怎么都被华为搞的不要不要的。或者说,有多少人敢说比任正非马云更懂企业管理?

知乎用户 Jack - 悦铭 发表

仅根据个人经历谈谈国内码农的日子~可能可以反映出一部分国内互联网公司的现状~

国内一些小公司或者挂着大招牌的小作坊,程序员已经被放到食物链底端,他们的上一端是设计、是运营、是产品、是渠道等等,但凡有一环中和你对接的人为了 kpi、为了总结写得好看而盲目迭代产品,给你带来的就是无休止的加班、填不完的坑以及突如其来的叫你搞搞技术突破。在发生这种事情的时候,如果你的上级、你的技术主管有脾气,强势些,站出来指出这种现象并且推动改进,那还好,还能指望天变晴。但事实是,这类小作坊大都是业务驱动型、运营驱动型等而不是技术驱动型,在整个工作流中,技术人员的话语权并不高,你的主管也很明白这个道理,于是这种情况就得不到改善,你的加班最终是在为别人的 kpi 负责。

可能有人会问,难道只能靠上级推动,我自己不能做些什么?

当然可以,有两个选择。

一是强迫自己适应,接受你的产品、运营就是可以为了 kpi 等而为所欲为(不专业的产品、运营等只是一部分,绝不是全部)但你却叫不出声的事实,让自己的棱角慢慢磨平,变得耐 cao(耐 cao 就是我们常说的抗压),久而久之你不仅不会觉得难受还能和不专业的他们成为好朋友。

二是强迫自己求变,无论怎么样的加班怎么样的洗礼都不能磨灭你当初选择 CS 的梦想,即使在加班到 10 点、11 点,回到家,你依然捧起动物书能学进去,那么逃离这种不专业的工作氛围只是时间问题。

知乎用户 温酒 发表

100 多年前,美国人作为资本主义先锋,打响了历史上工人阶级翻身的著名一枪:

他们为了八小时工作制流了一大管子血。

那个时候你在哪里?

你流血了吗?

没有?

没有付出凭什么想要回报?

还不快回去上工!

知乎用户 黄亮 anthony​ 发表

工作效率区别非常大, 肯定不是每一个人, 但平均效率肯定超过我们.

原因见其它答案, 我说一点其它的.

解决问题之前, 明确它是不是一个问题, 是什么样的问题, 比解决问题的效率更重要.

举两个例子, 一是之前一份外包工作, 要求三个月解决 6000 + 的 bug. 这里面很大的技巧是, 适当安排与测试的沟通, 大部分慢 / 不流畅 / 功能不正常都可以谈掉, 估计有 1000 个左右这种问题. 另外有 1/3 问题其实是简单翻译问题, 写个脚本对着正确的翻译替换就可以了. 1 小时可以解决 100 个. 所以定义好要做什么, 工作量其实已经减少了一半了.

另外一个就是基础设施, 国内大部分公司还是用 QQ/TIM / 微信 / espace 这类即时聊天 + 邮件沟通. 代码也少有自动测试环境. 甚至人手一台虚拟机都做不到. 更不要说代码自动检查 / review 工具. 这些都是减人均效率的地方. 另外一些大厂喜欢重流程, 加检查点, 不喜欢虚拟环境, 也就是用人代替机器, 工作量自然就多了. 某大厂, 提一行代码, 需要一天时间. 这会导致一个恶性循环, 工作量大导致加班; 加班导致工程师更粗放, 短视; 工程师导致更多问题导致需要更多的检查和问题, 进而更严重的加班.

小公司会导向另一个极端, 能干的工程师被不断增加任务, 越能干越做不完工作, 最后离职. 长期如些, 直到公司里完全没有适合的工程师, 项目以极慢的进度挑战非常快的迭代, 最后只会导致推翻重来.

美国软件公司的压力也很大, deadline 也很紧, 但是他们能认识到工作的深度而不是量决定产品成败. 软件是一个知识密集 + 劳动密集型产品, 人月神话无效的本质在于劳动力不能补充知识的不足.

中国软件公司大部分时间需要解决生存的问题, 哪怕质量差也要有, 所以需要大量在劳动力成本. 所有劳动力中, 加班成本最低. 那些提高效率做正确事情的人, 在实际质量要求不高的情况下, 成本反而过高, 所以得不到合适的报酬.

知乎用户 Ezawa Tami 发表

很简单,美国互联网公司对用户的需求和对信息流的分析和一般国内的互联网公司不是一个级别的,所以程序员的产出效率非常高,每一行代码都能赚到钱。

不说别的,就说字节那个纯靠算法推送信息流的方式,写再多的代码也起不到推送 “用户想看的高质量内容” 的作用。算法最大的问题,就是算法不是人。只要我拿到你的推荐标准,我就可以工业生产出一大批垃圾内容,获得无意义的观看数量,得到你广告费的同时帮你减少 DAU 和 MAU。这反映到程序员身上就是加了那么长时间的班,却做了负功。

劝国内各行各业的公司多关注用户的有效需求,先学会迎合需求,再去引导需求。没有苹果的本事,就别学苹果在用户身上加需求。苹果对供应链的把控和对需求的调查就够国内厂商学个十年的。

知乎用户 刘金城 发表

这个可以回答点,主要是国内很多主要的原因是 “需求不明确”,“项目计划混乱”。。很多产品经理连基本的产品需求都没搞清楚就在那里瞎整,觉得程序改改代码三两下的事情,还有就是一些项目经理自己都是加班加出来的,就觉得这种事小意思,喊大伙加一下班就好了。。。真正前期项目分析和规划安排得好的有几家?

知乎用户 刘振 发表

新西兰和澳洲这边,不考虑英语的话,同样的技术水平,工资是国内 1.5-2 倍,工作时间是国内的三分之一多点。国内一个月上线的东西,这里可以拖个三五个月吧。如果考虑英语就不好说了,如果几乎完全不能说,那就找不到工作,能说一点工资可能也就是国内的一半不到,可以简单交流的话,运气好可以和国内一样,工作交流无障碍的话,才能拿到我说的这种情况。

知乎用户 桑文锋 发表

没做过美国的程序员,不太了解,只做过中国的。看一些美国的创业团队故事,应该也是挺拼的。只是他们可能在生活上更加多样化一些,会注重一些生活品质方面的平衡。国内客观来说,还处于一个大变革时代,机会多,竞争也激烈,在这个时候自然压力就会更大。轻松不轻松,加班不加班,这都是表象,重要的是,你是否在进步成长。如果成长很多,加班不加班就不是一个关键问题。但如果没有成长,又忙又加班,那工资高也可以。如果成长和待遇都不行,还得反思一下自己的能力,是不是能够找到更好的工作?但一般来说,关注轻松和加班情况的程序员,在心态上就需要做调整了,因为不管你入职到哪家公司,你的经理都不会太喜欢。

知乎用户 Kittyhawk 发表

目前还没有在国内工作过,在美国做程序员这几年基本没怎么加过班,但是最近有个项目让我们组加班了,从这次经历确确实实能感觉到,一个经验丰富的产品经理能让程序员轻松不少,反之,一个比较嫩的产品经理可能会导致程序员忙到飞起。

这个项目跟之前做过的另一个项目特别像,都是帮助我们的大客户转移一些数据。区别是之前的项目有一个经验丰富的产品经理把关。这两个项目都和一般的项目不大一样,产品经理会从客户那边直接了解需求,然后制定方针。程序员主要写一些业务代码

先说第一个没有让我们加班的项目吧,产品经理在公司呆了五年,也算元老了。他不仅做事有条理,而且话术高超,说得话一般人都能听得进去。他根据客户的需求制定了一系列我们需要完成的任务,并且把这些任务都先给我过目以此了解在技术上实现难度以及稳定性。我们内部和产品经理反复沟通后大概把这些任务由简单到困难分成了四个部分,然后产品经理直接跟客户沟通说我们需要做这四个任务,每个任务会制定一个完成时间,并且把我们不能做到的或者可能产生的差错都夸张地跟客户沟通清楚,管理好他们的预期。由于这个部分是从简单到容易的(客户们并不知道),所以我们在前三个任务都完成地非常顺利,在这个过程中充分赢得了他们的信任。到了最后一个任务,也就是最容易丢失数据的地方,产品经理先是把可能发生的最糟糕的情况跟客户说了,然后传达客户让他们知道如果这个情况发生那锅由客户背。有了客户背锅的承诺后,我们觉得这个项目稳了。即使是这样,产品经理还是不放心,把最后这个部分又划分成了三个小的任务,还是从简单到困难排列,依次完成。前两个小任务完成后客户已经完全信任我们,基本我们说啥是啥,即使可能最后一个任务没有做得完美,客户最后也没有吭一声。

再来说说最近加班的这个项目。同样的是转移数据,但是数据的内容不同,客户也不是以前那个客户,所以不可照搬上次的经验。这次的产品经理还是太嫩了,不够了解整个流程,也没有和客户沟通清楚期望以及可能发生的情况,直接让客户觉得这件事实现难度不大,整个过程不会有任何问题。于是项目启动,脚本跑起来,跑完后产品经理和客户说我们顺利完成。结果第二天直接几十个 customer issues 涌过来。看到这些问题后产品经理有点懵逼,没有自己去了解是什么问题,直接叫我们程序员去修,最后反反复复加了好几天班,客户,产品经理,以及程序员都不开心。然而其实很多时候只要提前管理好客户的期望,想办法告诉他们有些看起来不对劲的地方其实并没有大的影响,就能省下全部人很多的时间。

所以说,国内可能很多产品经理(或者处在这样一个角色的人)太嫩了,向上向下都很难管理好期望,导致加班严重。

知乎用户 「已注销」 发表

可能中国很多程序员读过 PhD;反应一开从早八点到晚十点习惯了

所以没有觉得自己有在加班

知乎用户 外星人源码商城 发表

因为中国的商业模式和创意是最不值钱的! 创业者有一个很好的点子,然后投钱 组公司招程序员,开发出来了! 一上线小范围火爆了一把! 但是第二天就有一个功能一摸一样的 app 上线了,那这个创业者怎么办???

我没法阻住你抄我的,但是我可以每天都搞新功能,然后每次都落后我一步! 于是各种稀奇古怪的伪需求上纲上线!!! 开发团队必须争分夺秒 不然被对手提前了,这个公司就完了 自己的饭碗也保不住了!

例如马化腾说的:我们开发微信的时候有三个团队竞争,谁做的好就用谁的

知乎用户 踯躅的卧槽马 发表

又看到一波人再扯什么企业文化,法律制度,科学管理,好像不扯这些不能体现出自己思考的深刻。好在我也工作快 20 年了,这些装 * 的东西也见过不少了。把自己在一篇回答下的评论搬过来吧,口语化的东西,没有什么深刻的道理,高大上的概念。只是觉得知乎一些人没工作几年,凭着自己短暂的几年认识,就下论断未免太片面,随性了。

=====

说句不好听的,那是因为当前美国行业状况,没有什么值得码农去拼命的了。我以前那个美国公司,2000 年股票泡沫的时候,全公司的码农都拿睡袋睡在办公室。产品做出来就能 IPO,IPO 了就能发财,大家都明白股市这么火爆,多少年才碰到这么一次。隔壁公司的 Tom 已经买跑车了,你拼不拼?不拼就滚蛋,别挡着别人的财路。

国内整体行业环境还是处于拼命工作,就能让自己收入档次上一个台阶的地步。所以大家拼命加班。要是像美国 2000 那次一样,拼命就能发财,加班会很狠。什么企业文化,什么技术水平,什么法律保障,都是扯淡。老美的清教徒文化,不仅仅不排斥努力工作,还把这个作为优良品质。但是老美是资本主义,一切向钱看,努力加班又挣不到更合理的回报,我这么拼命干嘛?至于技术水平这些,就更是搞笑了。美国这垃圾代码的低水平码农多的是,我没见他们就加班了,反倒是高水平的程序员更能接受加班。至于法律规定,难道现在工会的大妈 2000 年的时候都还年轻,更富有激情?

知乎用户 韩东燃​ 发表

我没见过美国哪份工作比中国累,比中国加班多,跟程序员没有什么必然关系。

当然了,如果你的国家拥有世界上最强大的军队和金融霸权,你也可以享受这样的待遇。

知乎用户 猪骑士 发表

原来我对编程语言的热度写了一篇回答

[为什么铺天盖地都是 Python 的广告?​www.zhihu.com

](https://www.zhihu.com/question/383494692/answer/1156391230)

大体是讲编程语言不重要,而计算机基础知识更重要等等。结果一群 JVM 调参师喷我‘钻研不深,半瓶子咣当‘,我想这就是原因吧。

编程就是一个层层抽象的过程,别人把写好了底层 OS,底层 RPC 框架,部署系统和编程语言,Code Review 等的实现,作为一个实现 Feature 的开发者,我就不需要去担心这些事情,而照着 API docs 直接去开发就行了。

作为一个 10 人的小团队,我们管理着全球 20 个不同区的一级服务,所有的开发和维护都由我们实现。从硬件开始,所有的需求都是自动化的代码表达,我们写的代码自动申请算力,自动更新申请到的虚拟机,自动给这些虚拟机权限,设置 Load Balancing,规划代码的部署路线,在每个生产区域设置测试,自动设置 API 等等。从 0 到 1 全部都是自动化的,光我们写的应付这些不同功能软件包就有 100 多个,使用了 5 种不同的语言。

如果我们天天纠结什么 JVM 调参,然后在自己造轮子,那恐怕 100 个人都不够。

国内的公司太不注重基础建设,天天都打了鸡血一样的写需求,完全没发现 80% 的时间都是在写一些重复的东西。真正的基础建设的团队又没有人重视,或者在公司里来一个代码库管理的软件和防火墙来防止员工在家工作,完全没有理解到软件工程的精华。

从管理到技术人员的认知都有差距,那只能用时间和更多的人来补了。

知乎用户 演无三点 发表

个人经验——大部分人对美国程序员工作轻松这个认知,基本上都是自己的幻想

不要以为你到美国,就可以和本地人一样不用加班。美国人没有身份限制,被裁打不了回家里蹲着,实在不行还可以利用法律武器打官司。中国人印度人都被 h1b 捆着,老板一拿丢工作要挟一下,大部分人秒怂。但老中普遍没有老印能吹牛,也没有老印那么精明只挑出彩的活干。最后弄下来,白人不加班天天清闲,老印领了大部分功劳还升了职,老中撅着屁股干脏活累活最后年终评级得了个合格

不要以为你到了美国,就能进到不加班的公司里面不加班的组。就连以 work life balance 著称的 google,也有 Android 这种每周强制加班一天的部门。别的就更别提了,美国这边公司因为法律的关系不敢明着要求你加班,但实际上有各种办法让你不得不加班(比如鼓励同级别竞争),而且一加起来比国内 996 更狠。我认识的几个国内阿里直接跳来这边 facebook 的,一两年后全都受不了了,要么已经回国,要么正在计划回国,可想而知

不要以为你到美国 996 和国内 996 一样,可以划水耗时间耗到下班走人。在这边大家为了尽可能按时下班,工作时间都是开足马力连轴转,一旦加班,就意味着你可能忙得连上厕所的时间都没有。国内除了可以借吃饭时间划水外,还有固定午休时间,每天 996 的实际工作时间可能也就 8 小时。美国 8 小时就是实打实的 8 小时,别说午休时间了,午饭时间都不一定给你。中午 12 点开会开到下午 2 点,绝对不是偶然事件,每周给你来个一次两次都很正常,如果你是 tech lead,很可能这就是你每天的状态。另外美国这边经常要跨时区工作,如果你运气好点,和差 3 小时时区的人合作,那你顶多每天 6 点上班或者 9 点下班。如果你运气不好,要跟印度那边合作,而且你老板还是印度人,那你就等着每天晚上 10 点开例会,后半夜被人 ping 起来看 code review 吧

不要以为美国这边每天大家看起来朝九晚五,就是真的朝九晚五。要不你哪天回家后吃完饭打开电脑,看看是不是有那么几个同事一直在线?看看他们是不是在一个你从来没听说过的 repo 里面疯狂发 pull request?然后你发现他们额外做的这些东西,每天的例会从来都不提,直到最后上线了你才知道有这么个项目存在?要是你哪天再故意早来一点、晚走一点,你是不是发现有些人告诉你他每天 9 点来 5 点走,其实他每天可能 7 点就来了,或者有些人说 10 点来 6 点走,结果你发现他只是背着包出去健个身吃个饭又回来了,然后一直呆到 10 点?现在是不是明白了,为什么自己每天产出也不少,安排的活全都按时交差,代码 bug 很少且没有出过生产事故,时不时自己还搞点小贡献,和同事老板关系也不错,结果眼瞅着入职了两三年,升职的事被一拖再拖,年终评价每次都是刚刚达标甚至不达标?

客观来说,美国确实存在不少工作轻松且不用加班的公司或者部门。我自己就经历过两个不同的组,都是那种每天朝 10 晚 5,且工作内容都很熟悉没有多大压力的地方,在其中一个组我还升了职。只不过,这两个组其中一个,在我加入在一年后换了老板,然后开始了常年加班;另一个组,在我加入一年半以后,从别的部门调来了新的总监,大手一挥直接给我们几个技术组各砍掉了一半人。自此以后,我基本上就对 “美国程序员工作轻松” 这个说法嗤之以鼻了

知乎用户 朵朵他爸 发表

请告诉我,在美国做什么工作,比在中国做同样工作要繁重,加班多?

包括政府工作人员。。。

中国能够在 30 年时间里追赶上世界的进度,靠的难道是工作更轻松,加班更少?

知乎用户 pansz​ 发表

因为美国有三亿人,中国有十四亿人。两个国家的面积居然还差不多,把山区一些不宜居住的地方除外的话,美国可用国土面积还更大。想一下美国的人口密度比中国低多少?

美国你让人加班,人家就跑别公司了让你公司招不到人。中国你不加班有人排着队抢你的岗位。

当然了,随着生育率越来越低,就业环境对打工者来说是会越来越好的。

指望整个社会,法律法规,以及企业对人才尊重?首先,人口得足够少才行

其它绝大多数答主给的理由,都无法解释日本为什么加班如此疯狂。例如有没有工人斗争,管理水平高低等等。

日本就是个加班狂国家,小日本的国土面积尤其是可用面积有多小大家都很清楚。然而日本的人口跟美国一个数量级!思考一下日本的人口密度,再想想为什么日本企业敢让人从早加班加到晚。

知乎用户 RoseofVersailles 发表

这事其实一点都不复杂,而且和程不程序员,哪个行业关系都不大。

其实你多接触几个美国本地的人就知道了。祖传的思维模式不同。

你让美国人努力工作,在美国人心里什么是努力工作?早九晚五,中午半小时吃个 work lunch,我没怎么偷懒,这就是努力工作的极限了。至于下班之后,人家和公司的关系就撇得一干二净,下班之后给我发邮件?你在开玩笑吗?

至于每年二三十天年假,那是必须要一天不落,全都请完的,能请假为什么不请?至于度假的时候,公司有活?别来找我。

如果有美国人特别努力,每天主动加班,想多赚点钱,在众人眼里就是精神病,不会享受生活。

美国人心里,不努力工作是什么样的?坐吃山空,明明能找到工作,嫌累不干,这才是不努力工作。

明确这一点,你再算一下,比如说美国有 3 亿个工作岗位,有 2.9 亿的人都像上面说的这样的人生态度,即使有 0.1 亿人耍小聪明,每天加班加点,其他 2.9 亿就是雷打不动,整体来看,不加班就永远是主流思维模式。这 2.9 亿人就永远不会因为不加班被开除。

而中国人是什么思维?

公司是我家,大家好才是真的好。

什么?隔壁小张加班到 9 点,提前完成了业绩?那可不行,领导的好印象都让他拿去了,我得加班到 10 点。不加班?不加班公司不淘汰我淘汰谁?我可得使点小聪明,多加班表现表现。

假设中国有 8 亿工作岗位,但是工作人力却有 10 亿人,那么有 9 亿都是像上面说的工作态度,那剩下的 1 亿人肯定就丢了自己的工作,喝西北风了。整体来看,加班就永远是主流思维模式。

而且一旦形成了这个加班可以占便宜的思维模式,就很难改过来。你会惊奇的发现,中国人,不管在美国工作,在澳洲工作,在欧洲工作,都是当地最努力的一拨人。而且还不限于工作,而是学习成绩,儿女的学习成绩,儿女未来的工作,所有的一切都要努力再努力,一定和别人要分出个高下才可以。


而且有很多人觉得整个东亚和中国大陆一样,其实不然。日本平成一代的年轻人已经是出了名的废,对工作的态度和认真度,与日本昭和时代的人截然相反。不是有个词叫佛系吗?我看这个词描述日本平成一代的年轻人再合适不过了。日本企业加班已经是老黄历了,现在越大的财团企业,加班越少。虽然加班还是存在的,但是和中国大陆现在根本不在一个量级。

至于韩国,我认识一个首尔国立博士毕业,在三星做材料研发的韩国人,人家在三星就从来不知道加班为何物。

即使是我们中国的香港特别行政区,很多企业也要劝死劝活的让员工把年假请完,不请完就会被政府找麻烦,N 倍加班费奉上。

知乎用户 青橙 发表

这张图是我几年来的修炼成果。我给自己写了一个很棒的日志预分析工具。被测试妹子追着要。

详细技术细节陆续会在博客上更新。《一种日志解析工具组的软件工程设计》https://blog.csdn.net/popebl/article/details/105849584


以只是证明我不是一个光说不练的人。这部分谈谈相关理论。在经济学基础理论里面,有个概念叫做最大生产可能曲线。具体内容不展开,只要知道最大生产可能曲线边界越大越好。

传统行业,提升最大生产曲线,主要依赖于生产工具的投资。在生产工具固定的情况下,增加人力投入会面对边际成本升高,边际利润下降的问题。

读者这里应该关注到了生产工具了。软件行业最大的特点是,劳动者可以为自己生产工具!就如我最前面提到的那个预分析日志的工具。

这意味着一个惊人的事实,软件工程师的最大生产可能曲线是自举的!

乔布斯在遗落的采访里提到 “在传统行业,杰出员工和普通员工最大的生产效率比例是 2 倍。 在软件行业里,这个值可达 10000 倍!所以软件这个行业让乔布斯着迷。”


所以,我这么回答题主:原因在于企业主对行业的认知程度差异。在西方国家,能有乔布斯这样的 CEO。而在另外一个国家,企业的领导还用传统行业的思维领导软件工程师。


权利申明:保留所有权利,转载引用等行为,需获得作者授权。

知乎用户 郑传军 发表

因为最牛的那些人都在美国啊,他们可能写一个计算公式,中国码农一辈子都写不出来。原来以为我们这么拼命的干活,水平差距也会缩小,结果了解越多发现未来差距其实只会越来越明显。

知乎用户 修飒 发表

中国人力成本低。

知乎用户 壮士请收下我的赞 发表

看着这些程序员的回答,纠细节纠了半天都纠不到点子上,真是着急,一句话就讲明白了:

供需关系。

美国程序员行业平均年薪是全美的 150% 左右,

远低于中国程序员和全中国全职工作者的年薪差距。

因此在美国程序员只是一个比较吃香的岗位(毕竟薪水还是高于平均水准),

但远没有到中国恨不得一半男性毕业生都想要去干的程度。

老板自然也没有底气把他们的时间成本看的一文不值,去剥削他们 996 做一些异想天开的策划。

知乎用户 jusalun 发表

因为中国人多啊

知乎用户 匿名用户 发表

算是抖个机灵吧,不知道为什么,看到这个问题,我立马想到了美国高校学生在专业学习过程中训练的强度和中国高校学生的巨大差异。

知乎用户 李飞腾 发表

可能是网速快,apt-get pip 不需要等太久。

知乎用户 妖伊社 发表

美国程序员是人,中国程序员是资源。

美国人力资源稀缺,中国最不缺的就是人。

美国有工会、商会、企业自律协会;

中国只有组长、部长、老板和神奇的法院。

美国重视高科技是为了强国;

中国高新产业是因为某些地域资源稀缺,

提高 GDP 的手段罢了。

美国人比较娇气,老板稍微欺负一下就跑了;

中国人比较隐忍,老板天天坑人大家也不走。

还有一群精神老板,比如你的同事、同行,会帮老板说话、指责你(有些是为了拍马屁)

知乎用户 无线充电宝 发表

不认为效率差别大,论工作量我认为美国程序员更低。我认为问题的根源是美国(和欧洲)就是比中国发达,具有创新的先发优势,掌握了市场的上游,然后躺着赚钱。资本家吃肉,员工跟着喝汤,国家发达,全民跟着喝汤,祖宗发达,后辈跟着喝汤。就是这么一个简单逻辑。而且也不只是程序员如此,餐馆服务员,公交车司机,超市收银员,等等,各行各业都如此。

我第一份工作(实习)在德国亚马逊,地点在德国一个很小的城市。每天工作节奏大概是,早上 9 点半到 10 点陆陆续续有人来上班,大部分人 10 点钟之前到办公室,下午 5 点钟陆陆续续有人离开,6 点钟以后办公室基本没人了。每周五大家离开会早一些。下班以后基本上联系不上任何人了,也没有人加班。我自认为自己工作效率不算高,以至于刚开始实习的时候常常心里怀着愧疚,觉得对不起老板给的那么多钱。实际上亚马逊作为一家美国公司,以及知名的所谓北美血汗工厂,他们的工作强度相比较德国本土企业或者其他在德美国公司已经比较高了。后来在美国实习以及全职工作。同事们上下班时间跟德国亚马逊差不多,但是下班以后自愿加班的同事比较多。有时候晚上或者周末还经常有人发邮件,问问题之类的。

我曾经跟德国实习的 mentor 讨论过中国程序员 996 的问题。他告诉我,德国在战后实际上也经历了类似于 996 的情况。那一批人在那 10 年间超量工作,完成了德国经济的复兴,创造了所谓的莱茵河奇迹。他们这一辈人虽然不用 996 也完全没法接受 996,但是他很能理解当初那批老一辈德国人的处境。

所以不管我们这一代人是主动还是被动选择了 996,希望我们这一代人整体的(自愿或被迫的)努力能让我们的后辈有资格像今天的美国程序员一样过上工作轻松加班少且收入高的生活。

知乎用户 Keith Hu 发表

一部分情况,对于部分或全部基础 coding 已经外包给 “外国的码农”
转 2013 年的一篇新闻:美国天才程序员全靠雇中国程序员工作引热议
  天才电脑程序员也许你会想到乔布斯、比尔盖茨等这些 IT 精英,那是因为他们对电脑、对互联网事业的才能和贡献,而我们今天要说的这个美国天才程序员鲍勃,电子商务发展的今天,他的天才之处在于用自己五分之一的工资来雇佣中国程序员替自己工作编程,利用中国廉价劳动力,自己每天做办公室玩游戏,这样赚钱的方法真是代码天才啊。
  查出真相
  公司明星程序员 竟将工作外包给沈阳公司
  一家美国重要的基础设施建筑公司发现他们的一位明星程序员居然是把自己的工作外包给了一家中国沈阳的软件公司。他做了甩手掌柜以后,悠闲地在工作时间冲浪网购,还被公司认为是最高效的程序员之一,是 C, C++、Perl、Java、Ruby, PHP 和 Python 方面的专家。
  这家公司使用电信运营商 Verizon 提供的虚拟专用网络,这样员工就可以在家里工作。内部审计发现,公司明星程序员 Bob 的登陆日志显示他固定的从中国沈阳访问公司主服务器。因为中国黑客威胁论一度盛行,公司大为紧张,但调查排除了恶意程序或黑客入侵的可能性。
  发现了 VPN 登录异常后,该公司就联系了电信供应商 Verizon 的安全部门寻求帮助。安全部门刚开始怀疑是有恶意软件,但登录记录显示,这个来自中国沈阳的访问历史为 6 个月,几乎每天都会登录,登录时间偶尔会从上班持续到下班。
  调查的关键在于找到被利用的内部程序员。这个程序员最终被找到,为了隐私起见,程序员的真实姓名未被公布,报道中使用了化名 “鲍勃”。一直以来,鲍勃都是公司的明星程序员,被认为精通 C、C++、Perl、Java、Ruby、PHP 和 Python。
  在同事们眼中,鲍勃是老员工,性格居家、安静、温和,外貌普通,属于你在电梯里遇到都不会看第二眼的人。然而就是他,做出了一件令公司上下大跌眼镜的事:鲍勃雇佣了中国沈阳的一家软件公司帮助他完成日常工作,调查人员在他的工作站中发现了他与那家软件公司交易的数百张发票。鲍勃的工资高达 6 位数,而他付给外包公司的佣金只是其工资的 1/5。
  有证据显示,鲍勃曾在美国多家公司任职,使用的都是同样的伎俩:将工作外包给中国公司,他不但每天都能清闲地上网,还轻松赚到大笔金钱。目前,鲍勃已被解雇。虽然他的代码整洁、质量良好、提交及时,是公司里的最佳程序员。
  他这样上班
  上网、购物、看视频、发微博……
  既然鲍勃已经把工作外包给了中国程序员,那么他上班的时候又在做些什么呢?调查人员检查了他的浏览记录后发现,鲍勃的典型 “工作日” 是这样度过的:
  早上 9 点:抵达办公室,登陆 Reddit 网站玩上几小时,同时看一些网络视频
  11 点 30 分:吃午饭
  下午 1 点:逛易趣网
  下午 2 点:更新脸谱网站信息,登录 LinkedIn 网站
  下午 4 点半:将工作进展更新电邮发给管理部门
  下午 5 点:下班回家

知乎用户 Ivony​ 发表

讲点别的……

一个大家都不愿意承认的事实可能是:因为他们效率更高……

效率高,所以更轻松,更少加班。

我们不妨思考一个问题:已知,西方国家的程序员普遍比中国的程序员工作时间更短,又有,西方国家开发的软件的技术含量和水准高于或者与我国水准持平。

那么你只能得到一个结论就是:西方国家的程序员效率比我国高

具体的原因下面很多答案都有分析,我写了一大堆又都删掉了,感觉这个行业的问题不是三言两语能够讲清楚的。

======================================================

评论中挑选几个比较有价值的反驳讨论一下:

目前来说最有力的反驳是说我这个是倒果为因。也就是说是因为加班导致的中国程序员(看起来)效率更低,而不是因为效率低而加班。

没错,事实上很长一段时间里面我也是这样认为的。但是这无法解释一个问题,资本总是逐利的,如果不加班的效率更好,为什么大家都普遍选择延长工作时间?

其次,即便这样来考虑,尽管加班降低了工作效率,但是因为工作时间的延长弥补了效率的损失并且整体效率要优于不加班的情况,所以资本家选择加班。这看起来非常有道理对吧,但是仍然不能解释,为什么中国的程序员没有创造更多价值出来

工会,社会保障,这些东西的确在其中起到了很大的作用,但我想谈谈另一个问题。程序员这个职业的异化。

个人以为,我们不会认为随便一个人经过几年的理论培训就能成为一个音乐家,也不会认为一个人经过几年的随便培训就能画出和梵高或是莫奈一样的传世名作。我想,同样不会认为一个人只要不断地努力就一定能在数学或是其他科研上取得瞩目的成就,尽管要获得成就努力是必不可少的。

但是我们瞄一眼知乎上的广告,似乎随随便便一个人,今天还在搬砖,经过几年的培训,马上就能上岗写程序了。

说一些真事儿吧。

某资深程序员,每次上线都要加班,因为为了客户体验,上线总是在凌晨和深夜进行。而这位仁兄每次加班的原因是什么呢?是要到服务器上执行某几条指令来调整设置什么的。

这种事情我是不明白的,如果每次上线只是需要执行这么几条指令,为什么不写个脚本让运维人员甚至是自动化部署程序自动运行一下就可以了……

这种加班有意义吗?有价值吗?

个人以为,如果一个人不明白自动化的意义,热衷于重复和稳定的工作,那他并不适合做程序员。而中国(或许也包括印度)的这种程序员占比之多甚至影响了整个行业的工作方式。

知乎用户 hitsmaxft 发表

因为产品经理太多了,多一个人就多一个应付写周报用的无用需求

最简单好用的 VPS,没有之一,注册立得 100 美金
comments powered by Disqus

See Also

996 最终会如何收场?

知乎用户 钟瀚 发表 国内的大小资本家敢搞并且能被纵容着搞 996,主要原因还是这一部分资本是靠外向型经济的外循环来续命的,996 的诸多恶果对于他们而言没有切肤之痛。 靠外循环续命,就意味着国界之内消费下降失业上升的 “死亡螺旋” 根本不 …

求求老板们要点脸,别学阿里华为了

昨天最新的新闻,蚂蚁准备在科创板+港股一起上市的消息,刷爆了我的朋友圈。 昨天,人人都是柠檬精。 蚂蚁的同学们虽然疯狂地在谦虚,并且表示也没多少。 但是能看出他们止不住的开心,毕竟这个加班强度确实猛,熬了这么多年终于有个靠谱的盼头了,这都是 …