Don't American programmers work overtime? They work eight hours a day, come and go when they want? Can't find anyone during non-working hours? What other food and drink are provided for free?


125b161e251745138a614bbf04bcce86.png

Let me tell you the truth, and... it really is. The overtime culture should be the most obvious difference between China and the United States. The reason for this difference cannot be explained clearly in one or two sentences. Domestic programmers work overtime seriously, and the problem is not in this group of programmers.

6bda0f3ecd60407b98cce6dbde1f30e6.png

I've worked in both countries and in different positions, so I'll try to briefly talk about it from different perspectives.


There are many decisions at the product level


At the product level, there are many decisions made by slapping the head, euphemistically called: Internet thinking, small steps, trial and error thinking, but in fact, I didn’t think it clearly, anyway, I need to mention it, and the technical team will do it.


After the launch, I am a product genius, and there is no harm in failure. I can find an excuse to say that "the Internet market is changing too fast", or I can find a new project and continue to make a big cake.


There are too many product managers in China. Many of them are just fresh graduates without any accumulation of experience. With their wild imagination, they can ask a group of technical experts to work hard for several months to realize it. This is simply incredible.


Even if the product manager is very powerful, but when there are too many people, everyone has to achieve performance, and they are desperately thinking of ideas and raising demands. How can the technical team withstand so many demands.

7d0cd795a0064e41a9ecb761ed4bfae7.png

So these things happen:

  • The holidays are coming, our last event, or the holiday egg function.

  • The competing product has a xx function, which looks good, and we will hurry up to the next one.

  • 10 product managers told you at the same time: I have discussed this requirement with my boss, and it must be online before xx.


The product manager did not think clearly about the value of a certain function, or the benefits brought by it were not painful, and the technical team needed to pay a lot of effort for this, that is, work overtime.


Of course, this is not necessarily the fault of the product manager. In domestic companies, the boss has too many instructions. Don't say it, you understand.


On the US side, product managers are mostly people with very rich industry experience, either from engineers or from years of business experience and then an MBA.


To launch a function, after rigorous theoretical deduction, multiple rounds of preliminary research, and scientific AB Test, it often takes half a year or a year from the idea to the end user seeing the update.


很多不成功的 idea 还没面市,就因为数据不好而“胎死腹中”。这样一方面提高了产品需求的质量,另一方面也给技术团队足够多的时间来设计和实现一个可持续发展的架构。


技术团队话语权低


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


比如说技术团队有 100 个小时,老板可能会把 90 小时都投入到实现产品功能,给技术优化、修补技术债务。


于是就会出现技术实现非常粗糙的情况,举个例子,给你一周时间,实现一个 IM 功能,你还会考虑什么模块化、可维护性、性能优化之类的吗?


当然是怎么快怎么来,百度一下有没有别人实现过的代码,Ctrl+V / Ctrl+C,一点运行,诶,跑通了,上线。


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

d0d75362891446308c4ce636c87163d2.png

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


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


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

020120a12cbf4319b69c6f7d043c3450.png

而美国公司的现象是,技术话语权非常高,一个没想清楚的产品需求,能被技术团队直接打回去。


同时,技术团队可以自主地花很多时间在技术优化上面。产品不能按时上线?经理说:没关系,延后,按照最优的技术方案来推进。


有时候你想赶紧上线,提交一段粗制滥造的代码,会被同事鄙视死,被老板骂死。


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


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


技术基础设施差


知乎上有一个比较热门的讨论:腾讯的技术建设是否落后?这不但是腾讯的问题,实际上绝大部分公司的技术基础设施都非常差。


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


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


而大公司呢,即使腾讯这样的体量,有一个 TEG 事业群做基础设施建设。但是现实情况是,依然没有全公司通用的内部工具,各个团队依然在重复造轮子。


阿里算是做的很好的,前几年开始推行的大中台战略取得了显著的成果,解放了各个产品部门的生产力。


计算机程序这种东西,一个人写和一群人写,几千个用户使用和几千万用户使用,是完全不同的概念。


没有强大的基础设施建设,技术团队越壮大,效率越低,用户数越多,Bug 越多。


出来混总是要还的,今天没有人关注基础设施,未来就会有无数个程序员为此加班。

8ace5197b13747a7998ba0b1e6c3a956.png

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


畸形的职场文化


最后再来说说文化的差异。美国人非常注重个人和家庭,牺牲自己的时间来给公司加班,这是不可能的。


一到下班时间准点走,非上班时间完全不查邮件。很多公司入职培训就专门强调了怎么平衡工作和生活,其实就是说:下班时间就是你的时间,你有权利不处理公司事务。


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


加班,竟然成了光荣的、可以拿来攀比的现象,比如说加班到凌晨一两点,拍个照,发个朋友圈,收到老板的点赞很开心。


而管理者呢,还就吃这一套,谁加班多、会来事儿,考核的时候就更有好处。

d535c4a3a11b4068a32b819f2426e382.png

在这种加班氛围下,甚至还出现了“伪加班”。早上十点到公司,上个厕所、看会儿新闻、刷刷朋友圈,就到十一点半了,什么工作也没做,然后准备吃午饭。


After dinner, I went for a walk, took a nap, and went to work at 2 o'clock. I wrote some codes and swiped Zhihu for a while. The afternoon passed again. Many companies have free dinners. Write code and grind to 10.


Oh yeah, it's another fulfilling day, send a circle of friends to let the boss know. In fact, the effective working time in a day is not enough for 8 hours, but it is "overtime".

b54da50300ff4458a92749e44d202b95.png

To sum up, it is probably the reason for the serious overtime work in China. I think this is also a phenomenon unique to a certain era. No one is wrong, and no one can change this situation.


In such a highly competitive environment in China, companies must run fast in order to survive, and individuals must do more in order to develop.


When China really develops to the level of development like the United States, and the pressure of survival is reduced, can we be qualified to talk about a better quality of life.


Author: LJ says

Introduction: Google Code Farmer | Former Goose Factory PM | CMUer, floating in Silicon Valley, sharing products, technology, Internet, learning and growth with you.

Editor: Tao Jialong, Sun Shujuan

Source: Reprinted from WeChat public account: LJ said (ID: LjNotes)



bb0cf877fdf841c8bc8ab34c8aaa5fc4.png



Recommended reading:


How did I get an offer from a well-known unicorn company as a small company?




How far can you learn Java to get your first job?




  

9812973a097c419cba938a557438f54b.png



f4bf186d49294783b5bdafd4337b1dde.pngIf you like this article, please click "Watching"