为什么感觉美国的程序员工作比国内的加班少、轻松很多?

知乎日报 知乎用户 214℃ 评论

为什么感觉美国的程序员工作比国内的加班少、轻松很多?

图片:《社交网络》

知乎用户

说说我的感受,我在血汗工厂,大亚麻。整个大部门有 80 号码工。想知道大家工作有多轻松……我先上图为敬。

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

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

接着说对 SDE full stack 的要求。你以为我们有前端,有测试,有运维?想多了,新开的 service,如果涉及前端页面。是要自己写的……没错,别管你是前端工程师还是后端工程师还是算法工程师,首先你得是个工程师,工程师就没有解决不了的问题……我们做前端时也要开很多会啊,跟业务方 show 进展和 Demo 时,业务方可以提意见,一旦提了意见是要 sign off 的。不是随意说说那么简单。这样有个好处,很多东西定下来了就不随意改变。提需求的人是面临很大的成本,你老提了需求又改,又 sign off,不出两月大家就觉得你这人不靠谱,会给你很差的 feedback。

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

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

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

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

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

转载请注明:微图摘 » 为什么感觉美国的程序员工作比国内的加班少、轻松很多?

喜欢 (0)or分享 (0)
发表我的评论