本文分享自华为云社区《改变世界的开发者丨玩转“俄罗斯方块”的瑶光少年》,作者:华为云头条 。

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万开发者一起,用代码不断谱写属于这个时代开发者的人生故事。


华为伙伴暨开发者大会2022火热来袭,大会采用线上直播+线下80余个分会场联动的形式,聚焦伙伴和开发者最为关切的话题、释放更多潜力,携手伙伴共同成就。干货满满点击了解

【精彩活动】

勇往直前·做全能开发者→12场技术直播前瞻,8大技术宝典高能输出,还有代码密室、知识竞赛等多轮神秘任务等你来挑战。即刻闯关,开启终极大奖!戳【勇往直前】踏上全能开发者晋级之路吧!

【技术专题】

未来已来,2022技术探秘→聚焦华为各领域的前沿技术、重磅开源项目、创新应用实践。站在智能世界的入口,探索未来如何照进现实,干货满满点击了解

点击关注,第一时间了解华为云新鲜技术~​

改变世界的开发者丨玩转“俄罗斯方块”的瑶光少年相关推荐

  1. 为什么游戏开发者不玩游戏_什么是游戏开发?

    为什么游戏开发者不玩游戏 Game Development is the art of creating games and describes the design, development and ...

  2. 那个酷爱写代码的少年后来怎么样了——走近华为云“瑶光少年”

    导读:为什么计算机学霸都喜欢写代码? 2019年8月,25岁的童昊入职华为,当时他根本没有想到,两年后自己参与研发的瑶光资源二次调度通用求解器,每年可以为华为云节省数千万元,这也成为他参加工作两年多来 ...

  3. 【云栖大会夺宝攻略】在线PK、打卡领奖、抢offer,开发者专属玩法在这里

    简介:云栖大会2020就要来了! 什么才是开发者专属"游园"姿势? 丰厚"宝藏"如何免费拿? 不要慌!游玩入口就在下面,快点击图片去"夺宝" ...

  4. 感恩,改变世界的开发者们!

    今天是感恩节 在这个特别的日子 云妹特别想感谢我们可爱可敬的开发者们 在人类世界的进步史上 科技始终扮演着强大的推动作用 而在数字时代 开发者手握科技变革的钥匙 拥有改变世界的力量! 开发者让人工智能 ...

  5. 6个趣味项目,带你看看普通开发者如何玩转AI

    来源:PaperWeekly 本文约1100字,建议阅读5分钟 本文为大家介绍6个AI技术深入不同应用场景的项目. 人工智能逐渐渗透在我们生活的方方面面,作为一名普通的AI开发者,怎样让AI技术更好的 ...

  6. 了不起的开发者 丨 有奖征文活动来啦!

    ✎ 开发者说 作为一名开发者,总是会遇到复杂多变的应用和技术挑战.然而在重重困难与挑战下,我们见证了技术的力量:在线体温检测.线上直播带货.云端获客与协同办公--这些温暖人心的技术,更是见证了了不起的 ...

  7. 【python+情人节】玩个俄罗斯方块都是爱你的形状——一、思路分析

    本项目效果如图 动画过程已投稿b站:https://www.bilibili.com/video/av88671119 目录 一.思路分析 二.手动拼图 三.自动拼图 四.动画展示 ========= ...

  8. 【python+情人节】玩个俄罗斯方块都是爱你的形状——四、动画展示

    本项目效果如图 动画过程已投稿b站:https://www.bilibili.com/video/av88671119 目录 一.思路分析 二.手动拼图 三.自动拼图 四.动画展示 ========= ...

  9. 【python+情人节】玩个俄罗斯方块都是爱你的形状——三、自动拼图

    本项目效果如图 动画过程已投稿b站:https://www.bilibili.com/video/av88671119 目录 一.思路分析 二.手动拼图 三.自动拼图 四.动画展示 ========= ...

最新文章

  1. 《OpenCV3编程入门》学习笔记10 角点检测(二)Shi-Tomasi角点检测
  2. 如何区分山寨版网管软件
  3. centos 安装 erlang
  4. 流程审批OA办公系统解决财务报销等问题
  5. php 获取当前url hash,http - 我可以在服务器端应用程序(PHP,Ruby,Python等)上读取URL的哈希部分吗?...
  6. 洛谷 P4823 [TJOI2013]拯救小矮人
  7. 优秀的应用快速启动工具:start for Mac完美支持m1
  8. 教你如何在Linux中通过expect工具实现脚本的自动交互
  9. Jquery监听value的变化
  10. MongoDB学习笔记~大叔分享批量添加—批量更新—批量删除
  11. php随机生成卡密,PHP随机生成不重复的8位卡号(数字)和卡密(字符串)
  12. 英文版 office 中的中文字体
  13. 算法入门到进阶(一)——算法复杂度
  14. python pipe_Python os.pipe()用法及代码示例
  15. V831——串口通信
  16. SouceInsight v4 注册机源码
  17. 用友u8服务器优化,用友U8erp软件运行的性能优化方案图文教程
  18. SQL语句oracle中如何插入Date类型的数据
  19. 几何画板在教学中的常见应用
  20. r77-Rootkit后渗透技战术分析

热门文章

  1. 计算机网络抓包设计,计算机网络实验利用wireshark抓包工具抓包
  2. 电脑绣花打版软件评比(中)
  3. 智能手机背后隐藏的第二系统 -- OSE
  4. 一起探索西工大图书馆数字资源
  5. 车间追溯系统有什么作用?
  6. [导入][美国][剧情][廊桥遗梦][DVD-RMVB/459M][国语][经典奥斯卡大片]
  7. 华为eNsp 应用程序无法正常启动(0xc000007b)
  8. 广州php平均工资 2020,2020年广州最新平均工资标准,广州人均平均工资数据分析...
  9. 网盘生意这么难做,为何阿里、迅雷还要争着和百度网盘抢饭碗呢?
  10. Django模板语言 以及使用