中国众多的出海企业正在国外快速占领市场。比如在 2021 年 TikTok 就成为了全球访问量最大的互联网网站,超越原来的领头羊、美国 Alphabet 旗下的谷歌。

中国人创造的互联网平台,超越向来雄霸全球的美国平台,这是一个很具实质和象征意义的发展。

同时,随着中国科技企业的影响力日益提升,很多人对中国企业的工作文化充满了好奇,想了解到底是什么造就了这种成功。

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

1.png

YouTube 地址:
https://www.youtube.com/watch?v=RNUrZFkHXlo
登录后复制

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

从人力 QA 说开去

可以说近年来中美在科技和互联网创新领域已经并驾齐驱,中国出海企业能顺利抢占到市场,起码能说明在竞争中具有一定的优势。

然而我们也可以进一步从 Lucas 的描述中看到中美软件开发流程上的一些差异。比如美国公司在软件开发中会非常注重技术文档和使用文档的细致规范,注重代码提交和审核流程,也特别注重单元测试,不是依靠人力,而是依靠开发过程来保证最后的质量。

互联网企业的崛起改变了许多软件设计、开发和发布的模式。

以单元测试来讲,在传统开发流程中,一般来说,QA (Quality assurance) 负责对程序进行黑盒测试,调用接口时传确定的参数,再校验接口响应值符合某种预期。而单元测试是一种白盒测试,要求测试人员了解被测程序的构造,从而构造测试用例校验程序各个分支逻辑。

显然,后者更具有挑战性,不可能像黑盒测试那样能依靠堆积人力的方式快速地完成工作,所以单元测试会导致交付变慢。为了加快发布周期,我们在实践中的分工也逐渐有了改变,开发人员专注于功能创建,而业务领导者则专注于交付,开发人员的测试工作就被忽略了。

开发和 QA 测试是一个长期受关注的经典话题。不同公司有不同的办法,在这一点上,中美软件开发团队的差异较大。Google 算是其中一个典型,其测试总监 James Whittaker 于 2011 年曾表示 Google 没有一个“庞大”的测试部门,相反,部分测试工作委派给了开发人员。在“Google 是如何进行测试”的文章中,James 写道:

在 Google,测试人员主要是“确保开发人员有自动框架和相关流程”进行测试即可。解决开发人员依赖他人的问题的关键思路是,不在团队中配备数量众多的测试人员。十多年前,Google 开发和测试的配比是 10:1,其后甚至喊出了“去 QA”的口号。在文章“ QA 部门消亡日”中,Google 专家甚至认为单元测试是 QA 杀手:

Google 认为,当将测试职责转移到开发人员身上时,开发人员将会写出更干净的代码,构建出缺陷更少、质量更高的软件。这一切都取决于公司如何组织,以便在不降低质量的情况下降低成本。

到了 2017 年,Google 宣布取消举办了十年的测试技术会议 GTAC,Google 的理由是“相比自动化测试技术,他们更关心工程效能的提升”。工程效能在实践中的落地通常就体现在“开发人员完成开发工作的基础上,还需要承担测试、上线和运维的全部工作”,为开发人员的“一条龙”工作提供所有必要的全链路工具链支持。

但 Google 之前提倡的这一套完全依靠开发保证质量的方法,似乎和 Lucas 提到的“依赖 QA”正好相反。

国内互联网企业近年来快速崛起,2018 年初 Mary Meeker 的年度互联网报告里面,Top 20 市值 / 估值的互联网公司中国占了一半。国内互联网企业强调在业务模式上的创新,在软件开发流程上,和传统软件相比开始有了一些变化。比如迭代速度比不出问题更重要,如果出了问题,能尽快定位,快速修补,减少影响;用户反馈比按期交付更重要,用最快的迭代速度开发,再收集用户的反馈,来确定这个产品的功能要不要或怎么改;舍弃比较可能导致延期交付的“测试”环节…

只是我们也很难说清楚,这种技术优势是一种进步,还是需要大家逐渐去改变的地方。也许能结合欧美软件行业中先进的管理方法和技巧,充分发挥中国开发人员的优势和特长,才能更好地提高整体软件开发水平。

点赞(81)

评论列表共有 0 条评论

立即
投稿
返回
顶部