和一帮不爱跳槽的老兄弟,服务百万开发者的 15 年 |专访 DCloud 崔红保
作为 DCloud CTO ,崔红保和他的团队服务着国内 500 万的前端开发者,维护着 uni-app、HBuilderX、5+ Runtime、uniCloud 等众多流行工具、框架及相关社区的正常运转。
尤其是 uni-app,在飞速更新的前端框架中,与 Flutter、React Native 共同成为跨平台前端开发的几类主要选择。
但外界却很少听闻他们的更多消息,最明确的感知,也不过是论坛中一个又一个的“bug 已修复”,和层出不穷的工具和插件。
你必须远离望京 SOHO ,绕开中关村产业园,驱车来到中央财经大学北侧,才能见到崔红保和他的研发团队。他们的办公室不大,但足以容纳五十几位工程师,还摆着一个酒吧台,仿佛在昭告着这支团队的脾气秉性:随性、耿直,“能喝你就多喝点”。
在各大厂痴迷于“打造生态、维护社区”的当下,崔红保和 DCloud 可以说干着整个前端圈最引人瞩目的活儿,只是却实在有些低调,让人颇觉离奇。
这种“离奇”还不是个例。他们曾整整 All-In 流应用两年,无奈退出后却依然在开发者服务领域干的风生水起,很少有企业具备这样的弹性和抗风险能力;在 DCloud,团队管理只能用“佛系”来形容,但其始终维持着一支平均入职 5 年以上的核心团队,部分老员工入职超过 10 年,人才流失率极低……
带着对以上“特异现象”的困惑,我们拜访了崔红保,希望能得到一些不一样的故事或答案。以下为采访实录。
也曾走过“歪路”
保守些说,至少在 5 年前,国内很少有人重视开发者服务。而您却很看重,甚至将开发者服务称为“初心”,为什么?
崔红保:
其实也没什么特别戏剧性的原因。我们从 2005 年左右就在做手机端的开发者服务,至今已有 15 年。那时,在移动端,大家用的还是 windows mobile、塞班操作系统,我们的规范主要提供给渠道开发者,面向政府、企业开发移动政务、移动办公项目。
后来我们在做的事,可以归纳为“帮助前端开发者拓宽自己的职业边界”,比如提供从 IDE 到云服务的系列工具,帮助前端工程师增速提效;比如提供跨端开发框架,提供 uniCloud 帮助前端工程师接触后端业务开发,等等。
往大了说,我们做的事情,加速了企业的业务创新,避免平台分裂导致的重复业务开发,节省了社会资源,或许还推动了生产力进步(笑);往小了说,这是我挺认可的一个事儿,价值观很正,做业务无关的底层框架技术,没有什么投机取巧。而且我不需要拜访客户,多省事。
以前大家不做开发者服务,部分原因可能是觉得“钱景”不好,您怎么看?这 15 年干下来,您有碰到过哪些比较大的挫折吗?
崔红保:
这个事情不好一概而论,开发者服务的商业化严重依赖用户规模,早期实现盈利确实比较困难。但如果你产品做得足够好,那也不会太缺钱。至少在这些年,我们团队一直很受投资人青睐。如果开发者规模像我们一样,达到百万量级,做商业化自然就比较轻松了。
说起较大挫折的话,记忆最深的还是当年的“All in 流应用”。
流应用确实是个好东西,应该算是国内小程序的最早原型,我们 2015 年就在 360 手机助手正式上线,而微信小程序在 2017 年才发布。当时之所以“All in”,主要是觉得这是大势所趋。传统 APP 需要用户下载、安装,这两步完成后才能使用。你别看只有两步,可用户流失率却高达 60%。尤其是在安卓系统上,权限设置真的很麻烦。我们当时宣传的口号就是:让应用像流媒体一样,流式下载,边下边用,5 秒之内进入应用首页。
但当时的一个问题是,虽然理念先进,技术也很好,但我们的流应用规范推广很困难。后来微信和支付宝都开始入场,自立规范去做,逐渐演变成了现在大家所熟知的「小程序」,也促成了我们的退出。那两年,我们全部的精力都在流应用上,导致开发者服务有所停滞,这是一个比较大的损失。
有些可惜,听起来像是你们发现了一个很好的创业 idea ,但死于同大厂的竞争?尘埃落定后,您有无经验总结,可以分享给广大创业者?
崔红保:
创业者发现一个很好的 idea,但顶不住大厂“正规军”的进攻,被灭掉,这样的情况确实存在,好办法真的不多,但我们这个可能还不太一样。
流应用当时面临的首要问题是我们自身生态还不够大,装机量不够,实际上和微信、支付宝并不存在谁灭谁的问题。就像支付宝的小程序如今也是和微信共存的,分别依托各自的生态和资源。次要问题则是和巨头的谈判周期过长,消耗了太多的人力、物力,对我们的现金流造成了很大影响。
所以我对这事儿的反思在于:
创业公司一定要想清楚,自己的核心竞争力究竟是什么;
创业公司一定要格外关注现金流的健康程度,活着才有机会;
定期复盘,及时调整,不能快到南墙才回头。
流应用已成过去,uni-app 看来也基本成熟,你们团队接下来的工作重心会有调整吗?有什么新的方向吗?
崔红保:
我们首先会继续完善现有服务,比如完善 HBuilderX 的插件生态,推进 uni-app 的 PC 适配等。更重要的,我们会全力打造基于 serverless 模式的 uniCloud 云开发平台,利用端和云的一体化配合,打造更高研发效率的数字世界。serverless 的概念目前很火,但我们不是追概念的团队,我们确实发现这类服务的落地价值。
举个例子,你做个应用,大概率要做用户管理。过去,前端要写登录、注册、忘记密码等多个页面。现在我们提供开源的 uni-id,与用户管理相关的研发,一行代码都不用写,立即节省工作量。
官方要克制自己
后来您回归了服务开发者的初心,在生态构建方面也干得相当不错,有什么秘诀可以分享给大家吗?
崔红保:
我们确实花了很大的精力做生态建设。在我看来,生态做得好不好,关键在于两点:
官方要克制自己
一个良好的生态一定是上下游协同提供服务,而不是官方大包大揽。对于 uni-app 来说,我们官方只做最基本的服务,可扩展的部分全部让给第三方机构去做。
比如在培训视频方面,我们只录了三期基本介绍,其他的全部来自腾讯课堂、第三方培训机构以及热心的开发者。如果官方的手伸得太远,就会挤压第三方机构的生存空间,让来自社区的贡献变少。
官方的重要职责在于明确方向、制定规则,然后引导大家按照相同规则,开发各种行业插件,从而实现插件之间的行业协作。
激励开发者多做
同时,生态的繁荣一定和“轮子”的数量息息相关 —— 只有大批开发者愿意围绕官方框架造“轮子” —— 提供大量优质工具或插件的时候,生态才能进入越来越繁荣的正向循环。那么,怎么激励开发者“造轮子”,就成为了平台需要重点关注的内容。
还是以 uni-app 为例,我们开放了插件市场,提供下载量排名、打赏、付费等很多功能,满足插件开发者的荣誉和金钱需求。如果你的插件被下载了上万次,那一定是件值得夸耀的事儿;另一方面,我们的插件市场支持付费购买功能,部分开发者利用业余时间开发插件,实现“睡后收入”。
反映到市场上,我们可以看到,截止到 2020 年 9 月,我们的插件市场有 2500 多款插件,一些同类竞争者只有一百多款,在生态繁荣度上的差距一目了然。
生态上的表现,肯定也与 uni-app 本身在研发上的努力有关,您会特别注重某些研发问题吗?
崔红保:
除了基本的跨端挑战以外,我们应该说最关注性能问题。比如说适配微信小程序时,我们发现开发者自主调用 setData() 非常容易引发性能问题,我们就在此处做了许多研究工作和差异化计算。最终我们要保证的效果是,基于 uni-app 开发小程序,和原生开发小程序性能一样好,但开发效率更高。
今时今日,能看到很多开发者活跃在 uni-app 论坛中,作为缔造者,是不是很高兴?
崔红保:
是的,看到产品开花结果,由用户主动帮我们进行传播,感觉非常欣慰!目前,我们手机端引擎的月活已超过 13 亿,也就是大部分中国人的手机上都在跑着我们的软件产品,这个感觉是非常自豪的。
要实现这些成绩,一定需要一支特别的团队。听说我们的核心团队平均入职时间超过 5 年?
崔红保:
是的,各团队负责人、架构师入职均超过 6 年,部分伙伴合作超过 10 年以上。
与 BAT 比,DCloud 可能不算大厂。如何在大厂的挖角下,保持团队稳定性?
崔红保:
我们团队的小伙伴都是一些比较纯粹的技术人员;目前在做的工作,也都是自己感兴趣的;这么多年在一起,也都认可一些公司的氛围和文化。比如我们没有打卡、没有考勤,迟到不会扣工资,有事群里知会一声就好。为了适应大家的工作时间,我们会议也基本都定在下午,确保开会时大家都在。
有人会说,你们这样效率低,但我觉得问题不大。我们的工程师都兼任客服,有时,你会发现他在地铁上回复用户的提问;有时,团建进行到一半,他会突然掏出电脑来解决紧急问题。前几年,曾有部分团队是下午两点上班,凌晨两点下班。
我们团队的工作激情和工作饱和度,都不比其他公司的团队差。
听起来是赢在了招聘上?
崔红保:
也可以这么说。一名面试者是否热爱这份工作、是不是一名纯粹的技术人、单兵作战能力强不强,这是我所看重的。至于其他一些,在常人眼里比较古怪的爱好或行为,我就不甚介意,每个人的生活方式不一样嘛。有本事的人通常都有点小脾气,真正的工程师都崇拜技术好的人,我们工作里用技术来交流,私生活不在讨论范围内。
所以我们的团队能做到,一个 后端工程师管理几十台服务器,每天处理着十几亿次的服务器请求;当年,几十万开发者使用的 MUI 框架,我们实际负责的工程师就两位;现在,月活 13 亿的 uni-app 引擎,也就十几位工程师在迭代升级。
不谦虚地说,我们真的是一个小而精的研发团队。
您自己呢?
崔红保:
我 2006 年入职,当时职位只是一名刚毕业的 Java 工程师;到 2010 年的时候,我成长为一名研发总监,管理的团队扩张到 80 人左右,薪资也在同步上涨,我觉得挺好,没啥不满意的,没必要为了跳槽而跳槽。
到了 2014 年,公司卖给了上市公司东方通,我们一批核心员工转换方向,开始在 DCloud 创业,然后就一路走来,有了 HBuilder、uni-app 这些广受开发者喜欢的产品。
所以,有时候我不太理解,为什么要跳槽?如果在这里能实现你的价值,薪资能让你满意,就没有必要跳槽。
可大厂通常在薪资上更有竞争力?
崔红保:
我们的核心员工都是股东,全员持股 —— 原始股。(炫耀)
最后一个问题,在您这里,技术团队团建的保留项目是什么?最有效的项目是什么?
崔红保:
喝酒(笑)。当然,不劝酒,能喝就喝,不能喝就不喝。平时再腼腆的小伙伴,喝了酒之后,也会高谈阔论一番,展现出和平时完全不同的另一面,大家的认识会更加全面,团队关系也能更进一步。我们的原则:工作要积极,喝酒更要积极,我们是一群敢拼敢干的人(笑)