蒋涛对话王成录:开发者的黄金十年

蒋涛对话王成录:开发者的黄金十年_第1张图片

蒋涛对话王成录:开发者的黄金十年_第2张图片

作者 | 新程序员编辑部

“华为的领导层多数都是技术出身,从底层开始一步一步做上来,如果没有技术功底,做软件就只能跟在别人的后面,想要行业领先会非常困难。”在华为消费者业务软件部总裁王成录看来,身处当下软件的黄金时代,无论是设备厂商还是应用厂商,都有巨大的机会。

在《新程序员》中,CSDN创始人&董事长、极客帮创投创始合伙人蒋涛独家对话王成录,邀请他分享作为领导者,管理团队的成功之道;作为技术人,提升技能的有效法则;作为探索者,打造基础软件的经验教训。

点击下方小程序可直接观看对话视频:

蒋涛对话王成录:开发者的黄金十年_第3张图片

意外“跨界”到通信,一干就是22年

蒋涛:请简单介绍一下你的技术成长历程。

王成录:我编程序是从研究生时期开始的。那时我学的是金属基复合材料,它包含了很多种类,如现在航空航天领域中应用到的多种特殊材料实际上都与金属基材料相关。不过,在日常专业课学习的过程中,我们往往会面临一个很大的问题,即材料生长的过程决定了材料今后的刚度、强度,在这个过程中,如何让它的工艺可复制?

于是,我们想了几种方案。第一,基于物理实验,但是我们发现这种方式周期太长了,于是放弃;第二,通过仿真软件来调试各种各样的参数,测试哪些因素会影响其形变。正因此,我开始学习编程,主要研究仿真系统,还用Fortran写了一套近5万行代码的系统。直至目前,我们曾参与研发的仿真系统也成为了一些商业化系统的基础。

蒋涛:你是哪年进入的华为,来到华为是出于怎样的契机?

王成录:我在毕业之后收到了华为的面试通知,然后就进入了华为。当时的想法也挺简单,就是在华为试一把,没想到一直坚持了22年。初到华为,我被分到了无线产品线的无线核心网部门(以下简称“核心网”)。核心网是电信网络里面最核心的网元,所有电信网络里面的业务交换、处理都是由它来完成的。

蒋涛:你的专业是金属基材料而华为的主要业务是通信,你是如何完成这次专业领域“转型”的?

王成录:因为我所学的专业与这一领域的关联性不大,很多专业的知识从来没有接触过,如原语、消息、帧结构等。那段时间,我几乎每天晚上看书看到12点多,填补通信的知识,并通过读协议、看全系统的代码来不断提升自己。不到一年,我就对整个通信系统非常了解了。

蒋涛:在华为,你们过去积累的软件、研发等方面的经验是如何传承的?

王成录:主要是放到平台中,平台是我非常关注的。这里的平台指的是把共性的产品抽出来,正如我之前在核心网部门所研发的产品,有很多网元,包含处理信令、编解码等等,针对技术需求如果要逐个用单一的产品来实现,代价会很高。比较好的解决方案就是把这些共性的部分抽出来,创建成平台,这是传承组织能力最好的方法。

蒋涛:看来华为很重视这种平台能力。

王成录:是的。因为平台才能支撑华为众多的产品,华为手机在高峰时期一年售卖2.2亿部,覆盖各种不同的型号、系列、芯片及内存,如果没有平台,那这些设备就不会有依托。

蒋涛对话王成录:开发者的黄金十年_第4张图片

“最大的挑战是架构”

蒋涛:从过去的核心网到现在的HarmonyOS,外界很多人可能并不了解华为在软件上的能力已积累了多年。在软件研发中,颇有难度的点主要体现在复杂架构上,在你看来,是否还有其他技术难题?

王成录:核心还是架构。我认为这也是软件这个行业最欠缺的。原因就在于“软件不可见”。硬件至少可见可触摸,但软件的不可见就带来一个巨大的挑战,往往同一个问题,大家的理解可能会千差万别。

如何解决这一问题,我认为只有一个办法,就是架构。在团队内部,我经常提到软件开始研发前,架构必须要先定下来,因为软件架构相当于产品业务逻辑的一个软件实现,也相当于用软件语言将业务逻辑翻译了一遍。因此在架构设计时,核心要把业务逻辑梳理清楚, 然后沿着业务逻辑进行分解,这样模块之间的耦合度在变低的同时,接口也会相对稳定。否则软件在看不见摸不着的情况下,任何人、任何开发过程都可以让它发生改变。

蒋涛:国外相比我们,他们在架构上有优势吗?

王成录:我认为欧美相比国内软件的优势,就体现在系统和架构上,如果凭单个技术,他们未必会比我们好。但是倘若没有架构,这些单点技术相当于一盘散沙,零零碎碎。

当前,很多人想要通过软件实现快速盈利,经常是将市场中已有的产品直接结合并运用,实现盈利,好再寻找下一个机会。通过这样的方式,虽然让应用在迅速增长的同时带来很多机会,但它也带来了一个非常大的问题,即根本没人去考虑底层的东西了。在此之下,当发现一个新机会需要底层架构支持,就会非常被动。软件领域如果不在系统底层上实现积累,我们就很难创造新的商业机会。

蒋涛对话王成录:开发者的黄金十年_第5张图片

HarmonyOS的未来是“智能体”

蒋涛:随着时间的推移,HarmonyOS的策略是否会发生变化?如何看待它的生存空间?

王成录:现在HarmonyOS变得更重要了。与传统使用App 的架构来开发应用的方式不同,HarmonyOS的重要特征之一就是用分布式的“原子化”能力来开发应用。换句话说,可以将一个应用理解为由多个“原子”堆起来的,每个“原子”都可以独立运行,这与解耦的思路很像。

手机不会是HarmonyOS应用运行的唯一载体,应用可以依托于任何载体。不过,手机在未来至少3-5年间的中心地位是不可替代的,因为无论是处理能力还是便捷性, 手机仍然是最好的。正因此,HarmonyOS的落地也会有一定约束,但是我们非常有信心可以克服。

蒋涛:畅想一下,通过HarmonyOS,将所有设备打通后,会是什么样的?

王成录:我希望消费者买的不是一台一台的设备,而是能够购买长在设备底座上的“智能体”,这个智能体宛如你的双胞胎一样,在你吃饭时,它可以告诉你什么要少吃;在你运动时,它告诉你今天跑步的速度不能超过多少等等。

最终实现的形态就是,所有的设备都是相互兼容且数据能够连在一起。比如我说“小艺,我口渴了”,可能我是对手表讲的,而由于手表跟饮水机是连在一起的,所以饮水机已经知道我这个时候口渴,并且知道我喜欢喝35 摄氏度的温水,于是温水自动就出来了。

蒋涛:这听起来很有趣,还有哪些让人脑洞大开的应用场景?

王成录:很多。比如智能锅,可以畅想当你在锅里面加入任何一种原材料时,它都能测试这种材料的重量,如多少克酱油、盐等等。这样的好处是,每个人都可以成为大厨,做出非常好的菜肴。其次,所有的数据保存在这台智能锅设备上,这些数据存在巨大的潜在价值。譬如记录每天、每周、每月,甚至是每年的食盐量,通过这些数据,不断地帮助用户培养良好的生活作息、饮食习惯,这些也是我们的目标。

蒋涛:在你看来,这个构想需要多久才能实现?

王成录:按照我现在设想的技术和生态布局,相信不会超过3年就能实现以上的应用场景。

蒋涛:现在智能体在不断成长,最终所有的设备都是兼容和数据打通的,这会带来什么样的机会?

王成录:如果HarmonyOS真的做成了,移动互联网未来的10-20年会有巨大的商业机会。它会赋能很多行业,同时得益于目前应用的丰富性、巨大的市场、完整的产业链,你有任何想法,很快就能实现。

另外,这也会为在App领域已经没有机会的开发者提供无数的机会,因为现在可以实现Android App的包和HarmonyOS App的包混合打包再编译,既可以让应用在Android上运行,也能够在HarmonyOS上运行。换句话说,可以把原来开发者的知识产权继承下来,开发者基于此可以不断地创新。

未来十年,无论是设备,还是应用,都有非常巨大的机会。

蒋涛对话王成录:开发者的黄金十年_第6张图片

开发者迎来黄金十年

蒋涛:听了你的分享,未来的确令人兴奋。不过更多的机遇下也对开发者提出了更高的要求,你眼中优秀的开发者具备哪些特征?

王成录:好的软件开发者,我个人觉得有两点特别关键:第一,自驱动力一定要强,被动的人很难将软件做好。第二,持续的学习能力。虽然读书的时候很多人很刻苦,学了很多理论知识,但实际上两三年不用可能就忘了。

蒋涛:如今新一代的程序员,身处在被游戏、短视频包裹的互联网圈中,和过去的程序员相比,你认为不同时代的程序员会有差别吗?

王成录:因为我对华为的员工了解多一点,我认为越年轻的程序员反而越努力,其中很多刚毕业三五年的程序员,他们在学校里养成了很棒的习惯,比如不断参加学术会议,研究顶会的优秀论文等。

再往前的程序员,就是依据自己的经验比较多,不太与外面沟通和连接。我认为这一点对于软件而言,是很大的一个短板。

蒋涛:华为是如何培养管理层的?是否多数管理者都是技术出身?

王成录:绝大部分都是技术出身,从底层开始一步一步做上来的。华为给了大家很多在不同岗位工作的机会, 只有对系统结构清晰,才能更好地进行决策。尤其在业务层面,与大家沟通交流才能处于同一平面上。如果作为一名管理者,没有技术功底和业务功底,只会跟着别人的脚步走,想要做到领先会非常困难。

蒋涛:日后如果退休了,你有什么想法?

王成录:如果退休了,我想作为一名布道师,让HarmonyOS扎根。因为HarmonyOS做成功了,会从根本上改变信息产业的底层架构。除此之外,我还有一个非常想做的事情——去授课。

本文出自《新程序员 001:开发者黄金十年》,生于2001年的《程序员》曾陪伴了无数开发者成长,影响了一代又一代的中国技术人。时隔20年,《新程序员》带着全球技术大师深邃思考、优秀开发者技术创造等深度内容回来了!同时将全方位为所有开发者呈现国内外核心技术生态体系全景图。扫描下方小程序码即可立即订阅!

蒋涛对话王成录:开发者的黄金十年_第7张图片

蒋涛对话王成录:开发者的黄金十年_第8张图片

你可能感兴趣的:(大数据,编程语言,人工智能,java,区块链)