南宋爱国诗人陆游在给他的一个儿子传授写诗的经验时写道“汝果欲学诗,功夫在诗外”。陆游强调写诗不仅要在辞藻、技巧、形式上下功夫,关键还在于内容和意境,在于生活中的广泛涉猎,开阔眼界。
那么,对于致力于做“管道”的华为,面对即将进入的智能时代,面对未来的不确定世界,什么是我们应该下功夫的“诗外”?随着新技术在社会各领域深度渗透,基础理论学科在应用领域的发展和演进,技术的边界越来越模糊,跨界跨行业的创新会变得更加普遍,什么又是我们的“诗外”?是撕开金字塔的塔尖,从全世界吸引更多专业的优秀人才,以多学科、多知识背景、多思维模式的碰撞、融合和重构,构筑面向未来人才优势?还是以“一杯咖啡吸收宇宙的能量”,仰望星空,让自己得到别人的启迪?又或者是如爱因斯坦所说的“人的差别在业余”?我们认为,都是。
北京研究所这些年在人才使用上做了点尝试,近年来也涌现出一些不拘一格的工程师。有人说他们“吃杂粮”,有人说他们是跨专业的达人,有人说他们是初生牛犊的挑战者……。“功夫在诗外”,他们运用自己丰富的专业背景,在实践中创造着一个又一个小小的“奇迹”。
我是徐潮飞,2016年毕业于清华大学理学院化学系,同年加入华为IT产品线从事分布式存储开发。
很多人都好奇为什么一个学化学的要跑来敲代码?
也许在社会大众眼中,化学还是个传统学科,而实际上学科的边界早已被打破,理论与实践已紧密融合。
像我的理论计算化学专业,就是通过数学模型进行计算和求解,计算出化学分子的各种性质和反应过程,以便对各种化学反应进行解释或者预测。其间,我对计算机的使用、对数学逻辑的学习、对物理理论的理解一直在不断进行。最没想到的是我被编程快速实现带来的成就感深深吸引,以至于课后时光都被编程填满,从算法、语言到Linux系统,甚至是主动揽下实验室两套服务器集群的管理工作。
化学是一门以实验为基础的自然科学,要想得到一个结论,需要在大量的实验中,大胆尝试,通过实验来证伪或证真。就像我在研究生期间,抱着做实验的态度,觉着“好玩儿”参加了华为第一届软件精英挑战赛,想看看自己实力到底怎样。结果意外收获了全国32强的成绩,收获了华为面试绿卡和对自己编程能力的肯定,也因此改变了人生的轨迹。
在学化学的人眼里,敢于试错,无畏失败。也因为这种训练,对于PL给的每一个任务,我都把它当做一次实验,大胆尝试,像写实验报告一样归纳总结抽象出规律。记得到华为不到2个月,PL给我一个挑战的任务——两阶段事务模块的增强特性开发,复杂度很高。我不仅不紧张,反而很兴奋,通过设置各种模块输入,掌握原模块代码的所有输出和异常分支,对这个模块的实现做到了然于胸。此后我还细致地梳理整个模块实现流程图,因为化学的实验报告往往要求尽量可视化,以便更清晰的描述微观世界,而我输出的这份更加可视化的流程图也在项目组中引起了小小的“围观”,不仅降低了其他同事了解模块的难度,还方便了特性修改风险评估,直接提升了后续修改代码的质量。我始终认为,不同学科间是相通的,只有不断试错和实践,才会有成功。
多年化学实验的经验,也让我养成了严谨、耐心和细致的习惯。因为在化学中,一个小小的条件变化,可能都会出现截然不同的实验结果,而一个操作上的小失误,甚至会威胁生命。同时在复杂的化学现象之中,还需要用模型去具体化,用归纳统计、抽象概括去揭示规律。我认为编程的过程和做化学实验的过程很像。所以在编程前,我总是花大量精力在前期代码架构的规划、模块接口以及可维可测的设计上,并且进行充分的测试设计,这样后期代码可以一次成型且缺陷得到更好的控制。2017年,我担任了“单点故障检测”的特性交付owner,交付效率和质量都过硬,上网后至今保持零缺陷。而我在团队中,一次成型的能力也成为个人品牌。
对计算机编程的热爱使我选择了当前的职业道路,多年的化学学习经历,让我从独特的视角去理解编程。
每一段学习经历都不会被浪费,培养的每一个技能与习惯都会在未来的某一天发出光亮。我渴望,在化学学科和计算机技术之间寻找更多交叉的节点,创造更多的精彩。
我是一个学了9年数学专业的博士,4年前加入华为,在高斯实验室做数据库研发工作。
2015年7月,在经过几个月对数据库基本原理的学习后,我有幸独立负责数据库安全的工作,这在我们整个部门都是一个真空地带。做安全的工程师都知道,安全的难点在于不仅要对整个系统有深入的理解,还要完全掌握安全的攻防机制和原理,仅仅将安全规范以清单形式落地并不一定能达到理想的效果。这种情况下,我习惯的数学论证方法起到了非常关键的作用。
针对每一个安全特性,我都会先从理论上分析它的攻防机制,再结合我们实际的架构进行合理性和必要性的论证、匹配和建模,我会把系统内外的关键等要素综合考量,从而找到最合理最简洁的实现方案。很快,我们的数据库从安全等级C1逐步达到了C2级别标准,并成功实现了三权分立模型、安全登录、安全审计等重要要素,仅仅半年的时间我们实现数据库作为独立产品零DI通过了公司的安全检查,2017年支撑DWS分布式数据库云化,并在DT成功商用。
数学就是一种对模式的研究,也是一种模式化(抽象化)的过程,它将具体的问题普遍化、抽象化为一个纯粹的数学问题,而对这个数学问题的解,会给实际的领域带来关键突破。
2015年11月,我接手了LLVM动态编译技术的研究,此前相关积累很少,求助渠道匮乏。究其原因,这项研究目前在业界处于探索阶段,仅有很少几个业界标杆公司投入研究,技术的整体复杂度高,要求对LLVM开源API代码、汇编语言、数据库代码都能熟练掌握,此时应用数学模型转换给我提供了思路。
在我眼里,三套语言可以抽象成三个数学模型,先从模型分析入手,找到每种模型中最简单、最完备的执行流程,再落实到语言之间的转换。按照惯常计算机工程的思维可能会先从语言转换入手,难度会很大。当看到一个功能需求时,我会通过模型之间的转换,同步在脑中推导出三个模型、三套代码,做到无缝转换衔接。经过两年的时间,我们实现了数据库的代码编译优化,关键算子的性能获得数倍提升,成功推出国内首个拥有该能力的产品。数学之美就在于它化繁为简的神奇,在于它对一个工程问题的精确表达,在于它对逻辑的完美演绎,在于它跳出固有思维的无限可能。
大家都说我是跨学科的工程师,严格来讲不算,因为所有的科学归根到底都是数学。
很庆幸自己选择了这个专业,很庆幸自己选择了数据库这个行业。
初中毕业那年,我到美国求学,后来进入南加州大学一直读完硕士。在美国,对于优秀学生的标准,不但要求成绩好,还特别看重学生的综合能力,如艺术能力、领导力、社会责任感等。在这里,我极大地锻炼了自己。从高中起,我作为圆号手参加了学校乐队,业余时间当过义工……。不过收获最大的,是我在大学期间,组织了一支成绩出色的华人足球队,这样的锻炼让我明白把大家的力量组织起来,发挥每个人的特长,就会爆发出惊人的力量。
2016年,华为在洛杉矶校园招聘,恰好我提前一年修完了所有课程,顺利收到了offer,入职消费者BG手机二部产品测试部。后来手机产品线成立AI技术应用部,我有幸被推荐到这个新部门。以前有一些同学和朋友是学AI的,常听他们说 Machine Learning 之类,挺有意思。我的专业不是AI,为了弥补基础理论的薄弱,我开始了“恶补”和“速成”模式。白天,整个部门的服务器都是我的,各种学习材料、前人总结我统统拿来学习,请教老员工帮忙分析代码结构。晚上,网络上有丰富的课程资源,我自修了斯坦福等名校的AI公开课程。一段时间下来,总算觉得摸到门儿了。
为了更好地提升手机拍摄品质,提升产品竞争力,产品规划了拍摄超分辨率的功能——在放大画面拍照的情况下仍能保持清晰的画质,并且要求在年内落地到mate10项目中。在终端业界,这项技术没有商用首例,并且在手机计算资源有限的情况下做到实时处理,实现难度可想而知。这个任务落在了我和另外一名只比我早两个月入职的同事张运超身上。
为了达成目标,我们与其他两个部门成立了一个联合攻关项目组,我和运超还主动与俄研所专家、国内一所大学开展合作。得益于站在巨人的肩膀上,在专家的帮助下,我们取得了不错的开端。但是随着研究和算法的深入实现,我们发现当前的算法方案不但效果和速度无法达到预期,而且基本暂无商用价值。在几乎绝望的时候,我们仍不想放弃,一直坚持苦苦寻找出路,思考是否可以转换思路,有其他路径来解决这个难题?
为了打开思路,我们又启动了一轮和各方专家的探讨交流。在和合作高校的老师不断讨论和反复的思想碰撞中,忽然想到了另外一个开展方向,可以大大提高效率。经过快速验证可行性后,我们及时调整了研究策略。此时距离交付最终版本的时间点已经很近了。为了与专家更高效地沟通,我邀请俄研专家到北京一起攻关,做算法商用的最终冲刺。俄研专家果然名不虚传、高屋建瓴,常常一句话点醒我们困扰很久的问题。最终我们的算法成功交付,领先业界的高品质的拍照功能,成为了mate10的一大惊艳卖点。
Mate10向全球发布那天,我激动不已。回想整个过程,
一个新手工程师,可以与全世界优秀的人一起,与他们碰撞交流,创造出新卖点,完成自己在华为的新人秀。
工程师就是要解决新问题,做出新东西,张开双臂,创意就在手中。
我是陆玉春,毕业于北京交通大学通信专业,是个光学博士。学生时代,我摆弄过很多东西,搞过编程、半导体材料、嵌入式系统、单片机……当时流行什么玩什么,对周边知识的好奇心与探求欲是在那时候培养起来的。在2010年招聘中,我是唯一一个光学专业从事路由器关键技术研究的博士生。据说面试官是看中了我的理科背景和工科学习能力,我这才幸运地来到华为。