很多人对外企的程序员是否需要加班存有疑惑,有的人可能认为外企工作时间比较灵活,不会要求强制加班,其实这种观念在一定程度上是正确的,但也因人而异,下面结合我自己的亲身经历谈一谈关于外企加班的问题:

我在 Facebook 就职期间,没有打卡,也没有要求工作时间,类似传说中的 flexible working schedule。其实情况是项目进度很紧,公司和组的 goal 制定得非常 aggressive,导致工程师们的工作时间普遍都在 8 小时/天以上。是不是加班到半夜因人而异;有少数人是早上很早来,然后5-7 点就离开公司的。其他大部分就是睡到自然醒(比如我),在公司吃一个中饭,然后一直干到晚上的。有时会有一些时间干到 12 点过后。

还有一些原因是里面的工程师很多都是 new grad(刚毕业不久),所以到了公司还是用宿舍里的作息习惯 — 晚上干到很晚,然后早上起得也很晚。(这样并不是很好)

最后是一些特殊时期,我们要赶一些项目的 deadline,这时项目时间异常紧张,经常会搞到半夜。另外还有 lock down 时期,比如和 Google+ 对打,比如我后来在的 messenger team 和 whatsapp 对打的时候,team lead 主动鼓励加班到半夜。9 点准时有食物送到我们 team 的桌附近,附加 Facebook 专门加开一路班车在凌晨 12 点的时候在我们楼下停着。

至今还记得,12 点后出来,整个停车坪都是黑的,内场很多地方在用水清洗路面。湾区冬天的晚上温度会降到 0 度左右,这时我经常快步钻进我的车(有时忘记停哪儿了。。),冻得直哆嗦。我把引擎打着座椅加热开启。凌晨之后的 highway 101 一般非常通畅,觉得那时开车就是一种享受,另外空气常年通透,PM2.5 在 20 以下,看着天上的繁星闪闪觉得一切都很好。5 分钟的高速后,我从 Rengstorff Ave 的路口开出,开一段 local 道路便回到了 apartment 里的车位上。

我停好车,挂到P档拉上手刹,关了引擎。周围寂静得像马一样。我迟迟不愿下车,在车上会呆坐一会,想很多很多事情。2 分钟或者 5 分钟或者 10 分钟过后,我终于拉开车门,走回房间。顿时,觉得在异国他乡什么都不错,就是偶尔袭来的刺骨的孤独和疲惫感觉要把人给撕碎了。

另外看到有网友提问,在这种业务需求紧张的模式下,Facebook 一些开源技术方案是如何产出的,是非业务团队专门做的么?

我想说的是即使业务需求紧张,也一样把代码好好写好,另外有牛逼的 tech lead 和严格的 code review,总的质量也不是很差。国内有一点很不好:经常没有 code review;而且技术人员观念不好,把要写的代码当差事,只要能完成能用就好。所以就越来越操。

(Code reivew 一直是硅谷一线互联网公司的质量控制法宝,从 Apple 到 Google,从 Facebook 到现在的 Airbnb 和 Uber。可悲的是,国内的人都太聪明,觉得这东西没用繁琐,而且减慢开发速度。有时,我们就是太过聪明。)

Facebook 一些赶出来的代码开始的质量也不是那么好。然后里面的一些 tech lead 在后面几版迭代的时候经常会不断强调工程质量。另外整个工程师文化里以开源共享-对技术社区有影响为荣,绩效评估里也会考虑开源的贡献,所以一些好的 library 或者框架都尽量想着开源出去。甚至重点的一些开放项目会在 F8 上进行发布。这种开源的决定又从反面来促进了我们工程师把代码在开源前努力改到最好。

还有一些客观无奈:说实话,之前做 messenger platform 的时候,觉得里面的代码很混乱,这开放出去岂不是贻笑大方。谁知道在最后两周,他们组疯狂优化和加注释,最后开放出去的那天代码感觉面子上还是能看过去的。再加上有 Facebook 一块牌子在,你放的一坨屎过去,很多所谓的“技术高手”都会帮忙把 Facebook 的开源新技术吹到天上去。

余下全文(1/3)

本文最初发表在zhuanlan.zhihu.com,文章内容属作者个人观点,不代表本站立场。

分享这篇文章:

请关注我们:

发表评论

电子邮件地址不会被公开。 必填项已用*标注