导读:为什么计算机学霸都喜欢写代码?
2019年8月,25岁的童昊入职华为,当时他根本没有想到,两年后自己参与研发的瑶光资源二次调度通用求解器,每年可以为华为云节省数千万元,这也成为他参加工作两年多来最有成就感的事。
不久前,笔者电话采访了童昊,作为华为云一名年轻的研发工程师,童昊低调沉稳,言语间透着浓浓的理工科学霸气质,说起代码就展现出健谈的一面。
外界赋予了他 “瑶光少年”的称号,童昊却认为自己没有任何光环,他说,自己就是华为云千千万万年轻的开发者之一,对代码的热爱一如既往,随时准备迎接下一个挑战。
天生爱挑战,婉拒谷歌的小城学霸
“一片树林里分出两条路,
而我选了人迹更少的一条,
因此走出了这迥异的旅途。”
正如美国诗人罗伯特·弗罗斯特那首著名的《未选择的路》,“别人家的孩子”童昊在相同经历的同龄人中选择了少数人走的路。
童昊出生在一个普通的小城市,小时候和普通男孩一样,喜欢玩电脑游戏。小学一次偶然的机会,一个计算机兴趣班开启了他对计算机的浓厚兴趣。当时,中国的互联网浪潮在短暂的繁荣后经历了泡沫破裂,在信息相对闭塞的小城,计算机兴趣班和竞赛在很多人看来会影响学习,有点不务正业。童昊是幸运的,在家庭的支持下,从小学到中学,不断活跃在各类计算机竞赛中。这种对计算机、编程的痴迷,在大学时得到了充分释放。
如愿考上四川某知名理工类“双一流”院校后,从本科到研究生毕业的7年里,童昊除了专精学业,其他大部分时间都泡在一个又一个国际计算机竞赛中,为了备战竞赛,有时整个暑假都不回家。
这种对竞赛、对挑战的喜爱,让童昊成为学校ACM集训队拿竞赛金牌数量最多的学霸。他曾获ICPC(ACM国际大学生程序设计竞赛)亚洲区冠军、世界总决赛第13名;IEEEXtreme编程挑战赛世界第2名;DIMACS 12th Implementation Challenge冠军;并三次参加华为软件精英挑战赛总决赛,获季军。
作为一名计算机领域的顶尖学生,研究生毕业那年,童昊接到了谷歌等不少顶尖科技公司的offer。经过一段时间的思考,他婉拒了谷歌,选择了华为。
“可能是个人偏好,我本身就喜欢去做一些有挑战性的、更有难度的,或者更具不确定性的事情,包括之前参加竞赛就是这样。另外,近几年华为不断加大力度招聘顶尖人才,感觉自己在华为能够得到更多的成长机会,更能发挥出自己的优势和能力。”
就这样,童昊的个人选择与国内科技产业自主创新的大时代,以及华为大力投入人才培养的多种机遇相重合,迅速完成了从学霸到技术骨干的蜕变。
优化“俄罗斯方块的窟窿”,竟然价值数千万元
加入华为云,童昊参与的第一个项目与运筹优化有关,主要研发瑶光资源二次调度通用求解器。它要解决的核心问题是,如何智能整理云数据中心的物理资源碎片,提升数据中心的资源利用率,其核心技术之一 —— 智能调度和运筹优化,是童昊主攻的方向。
云服务商交付给客户的资源中,其中一大部分是虚拟机的资源,云主机的部署其实就是把虚拟机向物理机分配的过程。客户按需购买云上资源,会导致云上业务负载时刻被大批量地创建,又大批量地释放,导致资源池中的物理主机会随时产生一些资源碎片,无法被有效利用。
童昊将这一过程形象地比作“俄罗斯方块”游戏。“当不同形状的方块不断地累积又不断消除时,中间势必就会出现一些窟窿。这些窟窿对数据中心来讲,其实是被浪费的资源。尤其在业务体量很大的时候,对于数据中心的运营成本是很大的负担。”
而童昊所做的瑶光资源二次调度通用求解器就是填上这些“窟窿”。
听起来很简单,但具体实现起来,复杂度和多变性导致童昊和同事们面临的约束条件非常多,要实现的目标也非常多维度。这与之前参加的竞赛相比,挑战和难度都提升了几个量级。
“一方面,我们要去追求极致的效果,要考虑很多不确定性的输入。当一个约束目标变了,之前很多精心设计的算法可能就不再可行了。另一方面,又要保证算法具有非常强的拓展性,去适配业务未来发展的需求。”
童昊和同事们遭遇了前所未有的挑战,“之前,有一版算法马上就要上线了,突然又收到一些新的输入目标,类似这样的波折还有很多。”最终,童昊和团队跳出了传统的思维模式,创新性地做了一个针对二次调度问题的通用性的求解优化框架。
通过将底层算法与业务约束和目标解耦,再通过一个中间层模型关联起来,使求解器具备了一定的通用性。这样,不需要改变底层算法,用户就可以自定义自己的优化目标和优化约束。随后,瑶光求解器的创新在复杂的生产环境中得到了验证,其在华为云数据中心投入使用后,帮助华为云每年节省运营成本达数千万元。
“通过瑶光的项目,为公司实实在在地创造了经济上的价值,对我来讲是蛮有成就感的。”
瑶光项目之后,童昊又找到了新的挑战,也是云计算的另一个核心领域:云上身份认证和访问控制。虽然是全新的领域,但在团队中,童昊属于能力范围较广、算法能力较强的同学,在前辈和同事的帮助下,他很快就进入状态。
“数据安全是客户上云最关心的一个问题,我们希望提供更多属性和类型的访问控制的能力,去加强用户的数据安全性。”
follow your heart,写代码是很快乐的事
马斯克曾经在一次演讲中表示,自己成功的关键是“内驱力”,他表示,“令人忧虑的是今天孩子学习和进步的动力几乎全部来自外在压力和奖励。结果是他们既不会有宏伟的目标,也不会有坚忍不拔的毅力。”
在华为云的短短两年多时间,从学霸到技术骨干,童昊不但迅速融入新环境,完成一个又一个挑战,自身也获得了加速成长。那么,是什么成就了今天的童昊?
童昊说,自己刚出校园不久,还有太多东西需要学习,如果非要说有什么经验分享,有两点:始终坚持兴趣和对自己精益求精的高要求。
“我能分享的最大经验就是follow your heart。如果你学习一件事情能让你感觉到快乐或者有吸引力,这就是正确的,可以一直走下去的一个方向。计算机也是这样,你是不是能够在接触计算机,或解决一些问题的过程中,不断感觉到正反馈,感觉到成就感,能够从中去收获快乐。”
童昊认为,自己对代码的兴趣,底层是对思维挑战的热爱。闲暇时间,除了打羽毛球、玩游戏等爱好,思考难题也是一大乐事。“大家一起去思考、讨论一个有意思的数学题,这本身对我是一件很快乐的事情。”
除了坚持热爱,童昊还有一个典型的特质:对自己的高要求。“有人认为,做一件事情,只要它能Work,能满足最基本的需求就好了。这是我不能满足的。我更想去探索,去思考目前业界关于某个项目的最佳实践是什么样的,接着不断地去挖掘,并期望以最高的标准把它做完。”
其实,这种不断精进的内驱力、“今日之我已非昨日之我”的精神,也是华为云工程师共同的特点。童昊表示,“在华为,在我所处的团队里面,身边一直都有很多非常厉害的人。他们对自己所从事的领域,始终持续保持敬畏和热爱,不管自己已经取得了什么样的成就。很多人已经是非常资深的专家,但依然保持非常谦虚的心态和持续学习的强大动力,很让人钦佩,我也希望成为这样的人。”
写在最后
谈到自己的发展规划,童昊非常清晰:坚持云计算领域的技术路线,在广泛了解云计算相关技术的基础上,聚焦智能调度和运筹优化、安全控制两大方向。
“这两块是业务上大的方向和目标,但具体拆分下来,底下有非常多探索性的领域,甚至可以去做业界都没有尝试过的事情。具体想去挑战什么样的问题,华为云和团队还是给了我比较大的选择自由。”
少年强则国强,科技兴则国兴。
瑶光是北斗第七星,自古就可用来判断四季更迭、引向定时。
2021年,华为研发投入1427亿元,在“全球科技企业研发投入榜单”排名第二;华为从事研究与开发的人员约10.7万名,约占公司总人数的54.8%。一大批童昊这样的年轻开发者,就是支撑华为长期发展与科技创新的“瑶光”。每一天,童昊都在和华为其他10万开发者一起,用代码不断谱写属于这个时代开发者的人生故事。
END
本文为「智能进化论」原创作品。
(文中图片来自摄图网)