5 crazy things about working for Tiktok(why we quit our PM and engineering jobs)

SoftwareTeacher
《编程之美》作者
博客专家认证
2022-02-26 08:59:11

最近,一位曾在一家在美中企(TikTok)工作了一年多的华裔(之前任职于 Snapchat 和 Facebook),在 YouTube 上发布了一个视频“5 crazy things about working for Tiktok(why we quit our PM and engineering jobs)”,从五个方面总结了他从中国企业里学到的经验。

YouTube 地址:https://www.youtube.com/watch?v=RNUrZFkHXlo

他的观点在 Twitter 上吸引了大批对中美或中国科技感兴趣的人,网友认为该帖子很准确地描述了中美工程文化差异,我们将这些观点翻译了出来:

第一点:很多西方企业都会写单元测试,每个人都知道这是非常基本的事情。但这里的中国工程师们不需要编写单元测试!每项代码提交都指望 QA 部门的手动测试,团队在提交之前手动测试每个 code commit 提交。
你可能认为这完全是疯了,为什么不写单元测试?利用 QA 进行测试,实际上是希望工程师们关注于功能,并快速启动,写测试就完全交给了 QA。
而且让人震惊的另一件事情是,代码合并请求也不需要批准。在一个十万人的企业里(这不是一个小型初创企业),没有单元测试也没有代码审查,仅依赖于 QA,但这却是“有效”的方式!也没有发生过重大宕机事件。

中国企业的产品团队往往人员更多,也更倾向于依靠运营团队推动业务增长;这一点与美国被动加数据驱动的增长思路不太一样。我注意到中美科技企业之间的主要差异,是中国企业对人力的依赖性更高,这个优势也是中国企业得以迅速占领新市场的核心原因。

第二点:在中国企业,很少见到一对一式的会议,因为扩展性太差了。各个团队内部很少进一步细分,所以需要跟更多同事开展交互。经常见到那种典型的、自上而下的会议,一开就是 90 多分钟,期间 60 多人同时参会。大多数情况下,都是 1 个人在前面讲、剩下的人在翻看会议资料。很少有欧美公司里常见的那种畅谈会或者讨论会。

第三点:为了防止猎头挖人,这里并不公布明确的组织结构体系。组织结构高度扁平,某些工程经理需要接手 200 多份绩效评估报告(未经划分!),有些报告提交者甚至不知道自己的顶头上司长什么样子。

第四点:从流程与执行上来说,中国企业里的屁事不多,大家都在低头忙工作,很少会去传闲话或者搞道德评判。另一方面,中国企业在流程设计上还不够成熟。文档与改进团队的同事们无论做得多好,但很难得到激励。也没人审查工程师们的代码。

第五点:从工作与生活的平衡上来说,美国团队不需要 996,但要求必须适应中国时区。这真挺难的,也是造成人员流失的主要原因,我接触过的所有 PM 都在工作一年后离职了。
中国的 STEM(科学、技术、工程与数学)专业博士是美国的四倍,但技术岗位反而比美国更少,所以这里的竞争烈度要高于美国,大家把这种状况称为“内卷”。中国的同事们很怕自己失去技术优势并被社会的发展甩在身后,所以他们才能迸发出巨大的工作能量。

你怎么看? 你的公司有这些问题么?

...全文
9809 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
NYTWTYN 2022-03-07
  • 打赏
  • 举报
回复

公司高管都忙着用项目捞钱,都在赶时间绩效,一般没人关注你的底层逻辑是否正常,时间就是金钱,你多测试一会,都是觉得你浪费公司金钱,然后一直卷啊卷啊卷的,各种加班,各种批判。所以,测试与质量很重要,但干得再多也没有人重视。
都是那句,只要不出事故,谁会浪费时间金钱去管?这是大多企业的共有属性与准测。

SoftwareTeacher 2022-04-09
  • 举报
回复
@NYTWTYN 高质量, 用户体验在整个公司中的优先级是多少呢?
NYTWTYN 2022-04-12
  • 举报
回复
@SoftwareTeacher 成本-》时间-》质量,只要不出重大质量问题,在满足成本与时间的前提下,公司通常选择公关途径解决。
  • 打赏
  • 举报
回复 1

很简单,当你刚刚开发完,正准备写单元测试,结果跟你说需求变更,这怎么写。

SoftwareTeacher 2022-03-03
  • 举报
回复
@遇事不决-可问春风 如果单元测试是很底层的,那和业务需求无关。 如果是和业务强相关的,那就让提需求的人来写测试用例, 你再根据测试用例来写单元测试?
一半是鱼 2022-03-02
  • 打赏
  • 举报
回复

也不一定是问题,要看我们实际情况。写单元测试代码就一定快乐吗?

码仔ROC 2022-03-01
  • 打赏
  • 举报
回复 8

系统快上线了,需求还没彻底定下来。

奶白的雪子 2022-03-02
  • 举报
回复 1
@码仔ROC 正在面临这种问题
weike_1005 2022-03-01
  • 打赏
  • 举报
回复

我再补一刀,有多少做代码质量扫描的。

十字街东契奇 2022-03-01
  • 举报
回复 2
@weike_1005 每次sonar跑一下就一堆问题 太可怕了 索性就把sonar禁了
野生哆啦B梦 2022-03-01
  • 举报
回复
@weike_1005 PRQA扫描一扫就是1天,约束超多,云桌面爆炸,心态爆炸,扫到最后,锤子🔨
当作看不见 2022-03-01
  • 举报
回复
@十字街东契奇 只要看不到,问题就不存在
1条回复
程序英雄 2022-03-01
  • 打赏
  • 举报
回复 4

这是在嘲笑postman不够优秀,还是swagger不能测试。干嘛写哪些没用东西

SoftwareTeacher 2022-03-01
  • 举报
回复
@程序英雄 postman 也可以自动化
DreamHs-love-Wm 2022-03-01
  • 打赏
  • 举报
回复

不都提倡敏捷开发吗

zhangji12138 2022-03-01
  • 打赏
  • 举报
回复

代码都写不完 哪有时间写单元测试呀

qq_42975548 2022-03-01
  • 打赏
  • 举报
回复

确实很真实,我们就没有单元测试

太白见山 2022-03-01
  • 打赏
  • 举报
回复 2

畸形发展下的产物

红残泣梦 2022-03-01
  • 打赏
  • 举报
回复 1

这单元测试有些公司还是会要求的,不过一旦业务多起来就随意写不写了

加拉萨假期 2022-03-01
  • 打赏
  • 举报
回复 2

时间不够,没空写,业务代码都赶不急,还谈测试代码呢。。。

徐一贺_York 2022-02-28
  • 打赏
  • 举报
回复 6

中国的需求朝令夕改很正常,而且老板要求降低成本,提高产量。所以单元测试都是程序员自己测试一下就行。一旦发现BUG,不是严重的马上修复就一下进行。

raulghost 2022-02-28
  • 打赏
  • 举报
回复 8

因为国内总改需求,改动的成本大头是开发承担的。所以我为啥要写单元测试?写完了需求改了,我还得改单元测试。

  • 打赏
  • 举报
回复 12

国内人多,功能先跑起来,验收拿钱,后面维护的事堆人力就是,况且这项目就一定是拿来用的?不能是拿来投标的么,天真了

璀璨夜空 2022-02-28
  • 打赏
  • 举报
回复 4

太浮躁,只看重快速产出,速度第一,质量是次要的。大环境都是如此,除了涉及到国家安全的行业。

zhangjie617 2022-02-28
  • 打赏
  • 举报
回复 2

中国程序员培养模式不一样,学会语言直接上去干功能,谁管质量流程效率,东西做出来直接用,出了问题再说。极限编程?测试驱动开发?什么玩意没听说过

cm2004 2022-02-28
  • 打赏
  • 举报
回复 5

业务都写不完 你给我说单测?

yshq949 2023-03-29
  • 举报
回复
@cm2004 shabby玩意儿
里镇 2022-02-28
  • 打赏
  • 举报
回复 1

文档与改进团队的同事们无论做得多好,但很难得到激励

兼职负责过标准文档的人看到这里真的会谢

化疼·马 2022-02-28
  • 打赏
  • 举报
回复 5

贴着排期完成的任务,哪有时间写单元测试

zhangjie617 2022-02-28
  • 举报
回复
@化疼·马 你不是没时间写单元测试,你是没时间学习和思考
冷色magic 2022-02-28
  • 举报
回复 1
@zhangjie617 一般的业务层写单测纯属浪费时间,复杂的底层框架才用的着吧
SoftwareTeacher 2022-02-28
  • 举报
回复
@冷色magic 也要好好分析业务需求,从用户的角度来全面考虑各种场景。
加载更多回复(3)

13,607

社区成员

发帖
与我相关
我的任务
社区描述
每天值得读,持续创作+学习。
人工智能程序人生内容运营 企业社区 湖南省·长沙市
社区管理员
  • 极客日报
  • 我是阿萌
  • CSDN官方博客
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧