刚翻知乎,发现有人邀请我回答“为什么中国的996干不过美国的955?”这个问题。今天周日,正好有点空闲,来写篇文章回答一下这个问题。

从软件产品的产值、品牌的影响力来看,无论是应用软件还是基础软件,中美差距相当之大。而据统计,中国软件工程师数量大约有700万,美国软件工程师大约440万,因此中国软件工程师的人效是远低于美国软件工程师的。但中国程序员加班普遍严重,而美国加班、超负荷工作的也有,但不是普遍现象,自然得到的结论就是中国996干不过美国955。

我自己作为软件工程师在美国芝加哥Motorola, 3Com等公司工作了10年,08年又回到北京创业至今,过去的一年多,在北京和美国硅谷两边跑,因此对中美的软件行业都比较了解。我来从自己的视角回答一下这个问题。

产品高度专注

美国众多的软件公司都只有相对单一的产品,拿我熟悉的基础软件来说,MongoDB是一家市值230亿美元的公司,除了产品文档型数据库MongoDB之外,没见过其他产品,Confluent是一家市值78亿美元的公司,除了它的消息队列软件Kafka之外,没见过其他产品。Elastic是一家市值75亿美元的公司,除了它的产品Elastic Search之外,没有其他产品。我们就更不用提Salesforce, Snowflake这些更牛的SaaS公司了。

美国无数的中小软件公司更是专注,所有你想象到的场景,都有公司专注在做。比如我自己在美国办公室经常用的Calendly服务,只是简单的提供一个日程服务,让对方挑选一个合适的会议时间,我美国办公室用的报销系统Tallie,也是一家创业公司做的。

反观中国,一家公司稍微赚点钱,就什么都想做,给客户的产品总是大而全,没有不做的功能。就连创业公司也是一样,脚都没站稳,功能一项一项的加,产品线不停的扩。由于国产替代等原因,过去几年数据库产品在中国如雨后春笋般出现,全国有名号的数据库产品至少200款。即使是996,这些公司人力和财力的投入,与Oracle, SQL Server, MongoDB这些产品相比,仍只能是一个零头,谈何能打败这些全球巨头呢?我们TDengine所在的时序数据库(Time Series Database,TSDB)领域,这么细分的赛道,中国市场上都有至少10款产品,连靠Hadoop起家的星环,上市后也推出时序数据库产品,就更不用说那些互联网大厂了,但真正投入在这个产品上的人力和财力,与我们TDengine团队相比,相差甚远。

不专注的公司,最后做出的产品往往是看似什么功能都有,却经不起用,到处有问题,最后只能凑合使用,导致推广难,交付成本高,而且卖不起价钱,更难阻挡一波又一波的竞争对手入场。不仅新创公司如此,连老牌的2B软件公司用友,做财务系统已有30年的历史了,过去两年我都撞到过很多次BUG。也许,从这里就能看到为什么SAP能在全球大卖,而用友只能局限于中国市场。

2017年我开发时序数据库TDengine之初,仔细思考过“专注”这个问题,下定决心只做时序数据库,但为了产品差异化,围绕时序数据库,还附加了缓存、流计算、数据订阅等功能,而且仅仅专注在物联网、工业互联网领域。过去的六年多,总有投资人、朋友、同事问我,为什么不扩产品线,为什么不做可视化、不做MQTT,我总是只笑笑,因为我相信长期专注一件事情产生的价值。我宁愿要一个细分市场的30%的份额,而不是一个大市场的1%都不到的份额。我们团队做TDengine已6年多,从最初的5个人到现在的80多人,产品功能几乎没有变过,但仍然能撞到各种问题,但我相信,只要持续投入,即使不996,即使人笨一点,产品也一定会更好,最后一定能成为时序数据库的事实标准。如果最后TDengine失败了,一定是我忘记了初心,“野心”变大了,什么都想做导致的。

如果仔细分析,你就会发现,一个公司什么都做,是缺少判断力、懒于思考、不敢下注的表现。怕错过一个机会,因此什么都上。最后在单一功能或单一产品上,即使是整个公司996都投入不够。在网络时代,信息更加透明,对于软件产品,而且有大量开源软件的情况下,无论是在中国还是美国,任何一个细分市场,都只有前三名才能生存。而这前三名,一定是依赖产品的性能、功能、稳定性或易用性,而不是依赖“茅台”胜出的。

技能高度专注


除公司产品之外,个人技能的专注在中美差距也是很大。在美国,一般的开发工程师与中国的工程师相比,真就是不思进取,不仅不996,也很少有主动学习的。我曾共事过的美国同事,以及我现在打交道的很多美国朋友,年龄大都超过50,一辈子都是只做一件事情,就是写程序,从没想过换行,也从没想过自己去创业或成为统领八方的高管,即使有些做了director或是VP,做些管理工作,仍然能随时写程序。

这些美国程序员,由于10年甚至20年在一个细小领域的长期积累,虽然他们工作时间上是955,但在他做的那一小块工作里,是绝对专业,是特有效率的,而且一些技术的硬骨头还只有他们能啃下来,与一些新手相比,他们不996,也是十倍程序员,是最有价值的程序员。

而在中国,35岁程序员是个永恒的话题。从学校毕业,写了10年程序,就觉得没法再继续写下去。无论自己还是周边的朋友、同事,认为还继续写程序,做些具体的事情,就是职业生涯的失败,无法做到管理层,就要改行。但35岁的程序员,正处于人生技术的巅峰,不仅有了经验,精力还十分旺盛,学习能力也没衰退,就放弃了,不仅是个人的损失,也是中国软件行业的损失。

我自己也是一个典型。毕业离开学校后,我只做C语言开发,而且只在UNIX系统上做。到目前为止,我几乎不碰其他编程语言,也几乎不碰IDE类的研发工具,而是vim, cscope, gcc, gdb, valgrind几个研发工具用了快30年。任何时候,只要给我一个unix的terminal,不用翻任何参考资料,不用Google,我就能马上写、debug程序。如果抹掉我的真实背景,去面试任何一个C语言开发岗位,我相信没有哪家公司不会录用我。这就是我2016年底,决定开发TDengine的时候,选择C做开发语言的原因;是我一个人,在49岁的年龄,两个月就能写下近1.8万行C代码,开发出TDengine的原型的根本原因;也是我从不惧怕来自对手的产品竞争的原因,因为只要产品有不足,我陶建辉一定能把它解决。

对个人而言,长期的专注产生的价值远超过追逐时髦的收获。只有成为一个细分领域的绝对专家的时候,你的身价才有市场溢价的可能。但要做到专注,不受外界的诱惑,也是十分不易,专注后要成为专家更是不易。考试80分容易,从80分到90分,要多付出一倍的努力,从90到100分,可能要多付出好几倍的努力。但世界只会记住第一名,三名后就完全没有了溢价的空间。

对于TDengine团队,我倡导的是追求卓越,任何一项工作,无论是代码、还是文档、技术博客,都要达到全球同行的水平,而且要超越他们。我最不想听到的是,与对手相比,我们相差不大。

产品走进全球市场


产品专注后,卖给客户的不会是一个整体解决方案,因此客单价就会不大,销售业绩就难上去。如果仍然要做大的话,那市场就要足够的大,必须走进全球市场。

在产品的全球市场定位上,中美之间的差别又是天壤之别。美国任何一家公司的软件或互联网服务,一出来想到的就是服务全球客户。而中国的软件,99%是服务中国的客户,还有更多的想的是国产替代的生意。不仅产品上没有实力走向全球,产品开发之初就没想过去做全球市场,这就直接让从事软件开发的程序员们失去了一个提升实力的“全球战场”。

语言障碍应该是一大原因,但不是根本原因,而是大家有个普遍错误的认知,认为中国市场足够大,根本不用去做全球市场。从statista.com的数据来看,2023年全球软件市场是6590亿美元,中国软件市场大约350亿美元,美国是3380亿美元,中国是美国的大约10.3%,全球的大约5.3%。因此中国软件市场在全球市场的占比,相对中国GDP在全球的地位、相对个人消费市场在全球的地位,是完全不相称的。过去的一年多,我经常在美国和欧洲参加软件相关的各种会议和展览,除美国之外,总碰到来自德国、以色列、比利时等一些国家的软件公司,他们母语也不是英语,但无论大小,都在积极的探索全球市场。中国公司主动抛弃海外巨大的市场,是不明智的。

当然,中国软件进入全球市场,相对于工业品、个人消费品而言,相当不易。因为软件的标准性差,要求倾听来自全球各地用户的需要,要求的售后支持和服务也很多,而且由于地缘政治的原因,美国这个占全球50%的软件市场当下确实很难接受来自中国的软件产品。

在我看来,中国软件最易进入全球市场的应该是开源的基础软件。因为基础软件产品相对标准,各种对比相对客观。比如我们做的时序数据库TDengine, 支持的是标准的SQL,提供标准的JDBC和ODBC驱动,而且根据全球公认的TSBS测试基准,无论是写入速度、查询速度,还是数据压缩率、资源消耗等,在IoT场景以及IT运维场景下,都比全球市场最流行的InfluxDB以及TimeScaleDB 好一倍到几十倍。这些对比测试数据拿出来,没人能反驳。而且TDengine的云服务的易用性也远超对手,因此TDengine在美国已经获得了一些商业化客户。

过去的一年多,我花了很多时间在美国推广,一步一步,终于有不少人知道TDengine,但离有影响力、有相当的市场占有率的目标而言,还有相当的差距。我还需要持续的努力和投入,才有取胜的可能。但我相信,这是一个正确的决策。如果TDengine不能在全球市场有一席之地,靠单一的时序数据库产品,不可能成为一家伟大的软件公司。

个人的全球视野

对于程序员个人而言,全球视野以及在全球同行的影响力也是极为重要的。中国的程序员普遍的比美国程序员好学、努力,但在全球的影响力就是不在一个层级。

有两大原因,一是技不如人。中国程序员大部分是看中文的资料、教材、论坛、技术博客。而在IT领域,美国毫无疑问是领先的,中国只是追随者。任何新的技术翻译成中文,甚至变为教材之后,已经不是最前沿的技术了。因此中国程序员的技能相对美国的程序员,总是慢上半年到一年。作为后来者,你开发的产品的创新性就是不够,自然没什么人理你,你的价值也大为缩水。

另一个原因就是在全球舞台,发声太少。中国程序员群体庞大,并不乏技术高手,不乏爱写技术博客的人,但写出的内容基本都是中文,GitHub上有好几个火的项目,所有信息都是中文,这样中国之外的程序员都不会关注。过去的一年多,我参加了很多欧美的IT会议、展览,很少见到来自中国的程序员。几大主流的IT交流平台,比如hacker news, reddit等,包括LinkedIn, youtube上,发声的中国程序员寥寥无几,自然没有影响力。

要解决这个问题,要能与全球同行交流,得到认可,程序员在技术上就是要养成看英文、写英文的习惯。很遗憾的是,连西安交大这样985的学校都对毕业生的英文不做任何要求。中国高校的一些计算机老师都热衷于写自己的中文教材,而不是直接拿全球最流行的英文教材授课,中国的出版社大多积极的翻译海外流行的英文技术书籍,而不爱邀请国内的程序员写英文版书籍,全球发行。这种大环境下,需要程序员自己严格要求自己,看英文、写英文,只要坚持几年,就不会有任何问题。

为推广TDengine,过去的一年多,我写了大约十篇英文的技术、产品相关的博客,我的同事也写了不少,在LinkedIn和其他社交媒体上分享后,TDengine 独特的“一个数据采集点一张表”“超级表”“等概念总能获得来自全球同行的一些评论和赞赏,TDengine的超强性能也获得认可,因此我们得以认识了来自美国、德国、英国、比利时、印度等国家的很多同行。但数量还远远不够,博客质量也没达到全球热传的水平,这是我们TDengine在海外的推广比较缓慢的根本原因。如果有人爱写英文博客,热爱技术,欢迎加入到TDengine团队,我们急需这样的人才。

结语


产品只有专注、全球化,才有可能进入全球前三名,才有可能在一个细分领域有溢价的空间。个人只有技术专注、面向全球且乐意世界范围发声,才可能在全球同行中有影响力,个人的价值才有可能得到充分的体现。否则无论是公司,还是个人,你都只能在产业链的末端。人家955,我们996,仍然干不过。

中国有全球最大的程序员群体,而且大部分爱学、努力,只要大家意识到专注、全球视野的重要性,而且行动起来,中国程序员的人效、产出一定会高于美国程序员,中国一定会产生出占领全球市场的软件产品。

陶建辉

2023年10月29日写于加州湾区