ITPUB

中美程序员不完全对比,差距到底在哪儿?

原文链接:https://www.zhihu.com/question/497793332

匿名用户

我是在美国工作过两年,回国经历了逆文化冲击,现在勉强算是适应了国内互联网公司的节奏,随便聊聊两者之间的差异。

1、年龄

美国公司:

  • 同事里 20 多到 70 多岁的都有,众数是三四十的中年人,大部分工作目标都是为了早日退休,攒够钱就随时办退休 party。也有些纯粹因为热爱工作、热爱写代码选择不退休的。
  • 我们组的核心成员之一,是位 72 岁的老头,他每天 4 点多起床到公司写一会儿代码,等天全亮就戴上头盔去骑山地车锻炼,9 点多回公司继续工作。对这老头印象深刻,是因为他逻辑清晰、思路锐利,他是 code review 小组的成员,经常在邮件里破口大骂其他人写的代码写得有多烂,被投诉,只好在邮件里道歉,过几天继续骂,在我工作的两年里一直循环。
  • 我的另一位资深同事,是位 68 岁的架构师,热爱工作,每天都乐呵呵的,对我这种新毕业生也很友好,有人问他什么时候退休,他回答说他死的那天。

我国公司:

  • 回国之后我现在工作的公司,员工平均年龄在 30 岁以下。年纪大的都去哪里了呢?极少数在管理层。

2、加班

美国公司:

  • 从没加过班,晚上发版除外(会默认第二天调休)。
  • 经常正开着会,时间到了 5 点半,产品打断领导说到点了他要回去喂狗(他是一个 50 岁的不婚族,养了一院子狗),然后就散会下班了。
  • 加班需要申请,有次我申请工作日晚上加班,没批准只好回家了。因为加班费会比较高,需要从项目预算走,领导控制预算不给批。
  • 偶尔周末去办公室取东西,几层停车场只有两三辆车。

我国公司:

  • 996 是常事了。

3、代码质量

美国公司:

  • 项目在前期花的时间是最多的,比如说需求分析、架构讨论、技术讨论。
  • 写代码会考虑得比较长远,比较有时间去考虑开发原则、维护成本,领导也会乐意去安排版本来解决技术债务。

我国公司:

  • 国内互联网节奏会要快得多,讲究小步快跑。

4、工作氛围

美国公司:

  • 老美的公司确实比较尊重员工,在员工关怀上做得比较好。我可以感受到,和领导职位不同,但是我们人格是平等的,彼此尊重。
  • 记得有一次发版前几天,组里程序员说他压力太大,领导给他假期让他放松调整,版本被延迟上线。
  • 美国有 family first 的文化。有个老印同事,家里老人身体不好,公司同意他回印度工作照顾家人,远程跨国工作。经常有同事因为要看孩子比赛请假。领导自己也会偶尔周五请假,因为要去和女儿一起参加学校的公益活动。
  • 对差异性接受度也比较高。同事有变性人、残疾人,大家相处得都很好。

我国公司:

  • 领导高高在上(我遇到的),官威很大。
  • 开个线上事故复盘会,做 root cause 分析,就像要把人钉在耻辱柱一样。

5、工作之外

美国公司:

  • 很注重对健康的投资。至少 1/3 同事有每天早上去健身房的习惯。公司很多球场,晚上下班能看到很多同事在楼下踢足球、打排球。健身不只是为了锻炼,还是很多同事的爱好。看起来平平无奇的程序员,可能都是隐藏的运动高手,多年马拉松选手、山地车骑手遍地都是,还有不少极限运动爱好者。
  • 喜欢看牙医。喜欢看各种体育比赛。喜欢旅游,基本上每年至少一次家庭旅游,游轮是热门项目。
  • 一部分同事热衷慈善回馈社会,小到捐血捐钱做公益,大到组织慈善拍卖会。
  • 据我观察都没啥夜生活,下了班就开车直接回家两点一线,偶尔聚餐也是和同事朋友。可能是我自己的感觉,人和人之间的链接比较淡薄,所以华人码农也会经常吐槽空虚无聊。
  • 已婚同事的其他时间和我国的一样,花在养孩子和投资上。

我国公司:

  • 办公室的好多同事,不敢看体检报告。都是 20 多岁的年轻人,检查出来啥的都有,胆囊炎、结石、痛风。。。前几天还有一个要好的同事请假去做痔疮手术的(捂脸),据他说是因为久坐,加班经常吃小龙虾。
  • 相比之下离职率高太多了,每个月都有几个认识的同事离职,跳槽的、转行的、回老家躺平的。

    除了领导们,几乎每个人看起来都很焦虑,都想着退路,想着搞点什么副业。

夏天

程序员只有在中国才会被称为“码农”吧。
国外程序员= HAHAHAHAHAHA~~~
国内码农= 996/007 + 30岁危机(青春饭)+ 内卷 + 脱发秃头 + 颈椎病/腰椎病 + ····
当程序员最香的地方还是美国:美国程序员的平均工资比同属发达地区的伦敦、新加坡、多伦多的同行要高出一倍左右。

blindpirate

我毕业后在某大厂工作了两年,某创业公司工作了一年,然后在一家外国公司远程工作了四年至今,接触过的码农凑个八国联军问题不大,来随便说讲几个我经历过的故事。
1、关于加班
关于加班这件事,我看到最大的区别是“共识”。国内企业从上到下的共识是,加班就和吃饭喝水一样正常。
我当时所在的部门,开发和产品经理大概是1比1的比例,每个月产品经理都会提出很多需求。写过代码的同学都知道,实际上对于开发工时的预估十有八九是偏少的,再加上各种突发情况,每天加班也就不奇怪了。
国外无论CEO还是小喽啰的共识都是:决不能加班!工作完不成?往后推!什么也拦不住我们下班回家的脚步!
我已经不止一次被人指出晚上下班之后还在线回复消息(虽然可能只是在等游戏loading的时候顺便回复了一句),他们心中就是“下班了回个毛的消息,给老子滚去休息!”
有时同事在我下班时间给我发消息还会特意强调,他不期望得到我的立即回复。同时各种工具也一遍遍的强调对方处于下班时间:

Image

▴Slack下班时间关掉notification

Image

▴Slack的at警告

Image

▴Google日历的月亮图标
有一次我搞砸了一些东西要周末加班,主管特意给我发消息说,周末加班是可以调休的。日历上专门有一个分类叫做"overtime compensation"。当我慢慢接受这种共识之后,有一次因为时间不凑巧,有个美国小哥需要在他的晚上10点开会,我也会提醒TA,我们是有调休补偿的。
2、关于个人生活
国内企业是不允许请太多假的,而我现在的公司里,我看到了一些颠覆我认知的操作。
有个小哥夏天请了两个月假出去玩,然后回来在群里发图(我听他说要消失两个月之后是震惊的,还能这样操作?)
有个老哥不知道什么原因,每周只上四天班(至于工资怎么算我不知道)。
隔壁组的另外一个50岁的老哥每周上三天班(我几个月前跟他聊天才知道)。
有个德国小哥生了第三个娃之后休了几个月的假,据他说他可以和老婆一起分享十四个月的产假/陪产假,德国政府出钱。
我的感觉是,国外码农普遍比较……放纵?比较在乎个人生活,国内我是没见过这些操作……

Image