几天前,我在朋友圈分享了一则新的动态:融云前 CTO 杨攀正式加入涛思数据,出任副总裁,负责开发者关系与技术生态事业部。杨攀之前是融云联合创始人,担任融云 CTO 多年,而且是 TGO 鲲鹏会北京分会会长,因此他的加入还引起了很多人包括媒体的关注。周末有点闲,想与大家分享一下我的想法,为什么我把开发者关系看得如此重要。
涛思数据作为一家做开源的底层时序数据库(Time-Series Database,TSDB)公司,与众多的其他中间件、数据库、基础软件公司一样,我们的产品 TDengine 不直接卖给最终用户,而是与独立软件提供商、系统集成商合作,被集成到应用系统里,而被最终用户使用,因此 TDengine 更多是直接面向软件开发者(To Developer,简称 2D)的产品。
那什么样的基础软件更有可能获得成功呢?根据涛思数据这几年的经验,还有我自己对市场(特别是最近两个月对美国市场)的了解与洞察,基础软件获得成功的唯一法宝就是“让开发者成功”。大部分公司都在讲“让客户成功”,但对于基础软件来说,开发者是否选择使用或购买专业服务,几乎起决定性的作用。只有让开发者成功,你开发的软件才会被市场接纳并喜爱,才能实现“让客户成功”。
那怎么让开发者成功呢?有几个方面。
1、让开发者用起来放心,不用担心产品中的各种坑和后门,不用担心被厂商绑架
做到这一点,最好的方法就是开源。当下,开源早已成为潮流,特别是基础软件,如果不开源,还想让开发者喜欢,那是一件困难的事情。但世界上开源软件很多,开发者并不会因为你的代码开源就选择使用,在 GitHub 上开源的项目超过 1,000 万,绝大部分是无人问津的,像 TDengine 这样获得 17.7K star 的项目,GitHub 上只有不到 1,000 个。像时序数据库这种产品,光国内就有几个团队选择了开源,但你几乎没听说过。因此,开源只是必要条件,并非充分条件。
2、让开发者用起来安心,不用担心出问题没人管
只要是软件就会有 BUG ,因此所有的商业软件都有售后服务,但开源软件与非开源的相比,优势在于有庞大的社区,用户量很大。例如,TDengine 的安装实例数已经超过 10 万,500 人的微信群就有接近 20 个。这么多用户会形成一个大的社区,用户间会互相帮助,特别是对于一些初级用户而言,常见的问题在各种论坛、微信群里都能找到答案,不用过多担心厂商的支持是否给力。但即使社区互助很有用,厂商在培训、技术支持上还是要投入大量的人力,并倾听开发者的抱怨和诉求,包括对性能和新功能的建议。如果厂商在这方面没有巨大的投入,开发者看不到这些投入,他们是没法安心使用的。
3、让开发者用起来顺心,不用花费过多的力气去学习、去开发
懒是人的天性,也是开发者的天性,大家都想少写代码,甚至不写代码,就能把应用搞定。这个时候,一个工具的生态就极为重要。如果仅仅提供简单的 API ,开发者还要写大量代码才能用起来,这个工具的推广就会相当困难。2021 年底,TDengine Database 推出 Schemaless 写入,只需将 URL 指向 TDengine 集群,不用任何代码,就能将写到 InfluxDB 或 OpenTSDB 的数据直接写入 TDengine ,这样从 OpenTSDB 或 InfluxDB 迁移到 TDengine 就极为方便,这就是让开发者顺心。在一些场景,时序数据库相比于通用数据库更好用,除读写性能、存储效率高之外,更重要的是其还提供了很多特殊的查询计算函数,这样一来,开发者就不用自己写代码实现了。TDengine 一方面要对接很多数据采集器,另一方面要对接各种可视化、BI 工具和应用系统。如果我们与众多的第三方厂商合作起来,让两方面完全无缝对接,那么对于开发者而言,无疑是极其顺心的事情。
4、最后一条,也是最重要的一条,那就是让开发者开心,让开发者开发的应用大获成功
除实现该有的功能之外,应用开发是否成功,取决于应用是否大幅节省了研发人力成本,是否节省了系统的运营成本,是否按时甚至提前投入市场。开发者只要做到了其中一条,都是非常值得自豪的,一定会受到公司的嘉奖。在 TDengine 的众多案例中,特别是加入了灯塔计划的项目,我们安排专人培训、做技术支持,做各种系统优化,目的都是极力帮助开发者实现这个目标。比如在跨越速运的项目中,服务器由 21 台降为 3 台,数据压缩率由 10X 提高到 98X ,有了这些量化的指标,开发组在给领导汇报时,一定十分自豪,还有在理想汽车以及其他多个场景里,都是如此。
要做到上面几点,作为厂商,我们就需要有专门的团队来为开发者服务。在美国,负责这些事情的部门是 Developer Relationship (开发者关系),这个部门的人主要是 Developer Advocate 或 Evangelist 。他们需要做各种线上、线下活动,对开发者进行培训,与开发者互动,提供技术支持,倾听开发者的各种声音,获取对产品的反馈。与传统 2B 软件的售前、交付、售后不一样,Developer Advocate 更多的是完全面向开发者,与开发者做朋友,都是发自内心的希望开发者将自己的产品用起来,而且用的安心、放心、顺心、开心。除大家熟悉的开源软件公司(比如 MongoDB、Confluent 和 Elastic 等)之外,AWS、Microsoft 和 Google 等也都有很不错的开发者关系部门,在 LinkedIn 搜索 Developer Advocate 这个职位,会发现很多公司都在招聘。
对于基础软件公司而言,这个部门与传统的销售部门、市场部门是齐头并进的。对于开源软件公司而言,更是如此。开源软件公司的用户群就像一个金字塔,最顶上的是付费客户,他们不仅认可开源的产品,还乐意为专业的服务和产品付费;其下一层是相当数量的灯塔用户,不仅乐意尝鲜用新的产品,还乐意在技术社区分享它、宣传它;最下面一层是海量的开源免费用户,他们不那么活跃,但他们在使用产品,也在不断的反馈各种问题和建议,对产品的发展起很大的推动作用。这个部门的目标就是要把最下一层的免费用户数做大,同时将一部分用户转化为灯塔用户,更进一步,将其转化为付费用户。目前,TDengine 的总安装实例数已经超过 10 万,如果能达到 50 万甚至 100 万以上,那将是涛思数据的成功之日,因此这个部门极其的重要。
TDengine 从 2019 年 7 月开源以来,主要是我自己在做布道师的工作。对于开源社区,过去的一年仅仅安排了一位专职人员在负责,这是远远不够的。因此从 2021 年 5 月起,我就一直在计划成立这个部门,物色合适的负责人。不仅要把开发者关系抓起来,而且希望把技术生态的合作也抓起来。这个人选相当不好找,因为他需要很强的技术背景,能够听懂开发人员的语言,能够回答技术问题,也需要有相当强的交流沟通能力,还需要相当高的产品能力,能获得开发人员的信任,是一个复合型的人才。我前后聊了至少 20 位,但一直没有合适的。
很幸运,前不久,我遇到杨攀,一拍即合。杨攀作为融云的 CTO ,有很强的技术背景,而且融云的产品是 SDK ,也是中间件性质,需要与开发者打交道,需要建立开发者生态,因此杨攀做的一部分工作与 Developer Advocate 相当类似。而且杨攀还是 TGO 鲲鹏会北京分会会长,在技术圈子里有相当不错的影响力,有相当优秀的交流能力和活动能力,是典型的复合人才,多面手,是这个部门负责人的最佳人选。
对于杨攀而言,在融云工作多年后,需要换一种新的环境,以唤醒更多的激情。在一个新的平台上,他可以将自己在技术领域的沉淀,以及磨练多年的产品能力和市场能力更加充分地展现出来,以实现更大的价值。物联网大数据处理的市场空间足够的大,身处其中的涛思数据正处于发展的上升期,只要没有大的失误,成为一家市场价值 100 亿美元的公司不是遥远的事情,因此我与他几乎是一拍即合,杨攀毅然决定加入涛思数据。
杨攀的加入,将在很大程度上解决 TDengine Database 开源社区技术培训与支持、技术生态建设力度不足的问题,将让 TDengine 的推广上升一个新的台阶。他的加入,我只能用“如虎添翼”来形容。如果你热爱开源软件,有很强的技术背景,爱写程序,爱互动,有一定的产品思维和市场思维,那么欢迎加入杨攀负责的部门。
开发者关系这个职位在中国还是一个新鲜事物,现在还主要是几家云厂商以及部分外企有这个职位。但随着中国基础软件、中间件软件公司的增加,这个职位的需求量将会越来越大。希望越来越多的技术人员能转向这个职位。只有让开发者成功,基础软件才可能成功,才可能让最终的客户成功,也才可能获得商业成功。
陶建辉
2022 年 2 月 13 日