化学专业的代码高手:只有试错,没有失败

举报
华为云社区精选 发表于 2018/05/07 11:28:27 2018/05/07
【摘要】 我是徐潮飞,2016年毕业于清华大学理学院化学系,同年加入华为IT产品线从事分布式存储开发。很多人都好奇为什么一个学化学的要跑来敲代码?也许在社会大众眼中,化学还是个传统学科,而实际上学科的边界早已被打破,理论与实践已紧密融合。像我的理论计算化学专业,就是通过数学模型进行计算和求解,计算出化学分子的各种性质和反应过程,以便对各种化学反应进行解释或者预测。其间,我对计算机的使用、对数学...

1a.JPG

我是徐潮飞,2016年毕业于清华大学理学院化学系,同年加入华为IT产品线从事分布式存储开发。
  
  很多人都好奇为什么一个学化学的要跑来敲代码?也许在社会大众眼中,化学还是个传统学科,而实际上学科的边界早已被打破,理论与实践已紧密融合。像我的理论计算化学专业,就是通过数学模型进行计算和求解,计算出化学分子的各种性质和反应过程,以便对各种化学反应进行解释或者预测。其间,我对计算机的使用、对数学逻辑的学习、对物理理论的理解一直在不断进行。最没想到的是我被编程快速实现带来的成就感深深吸引,以至于课后时光都被编程填满,从算法、语言到Linux系统,甚至是主动揽下实验室两套服务器集群的管理工作。


  化学是一门以实验为基础的自然科学,要想得到一个结论,需要在大量的实验中,大胆尝试,通过实验来证伪或证真。就像我在研究生期间,抱着做实验的态度,觉着“好玩儿”参加了华为第一届软件精英挑战赛,想看看自己实力到底怎样。结果意外收获了全国32强的成绩收获了华为面试绿卡和对自己编程能力的肯定,也因此改变了人生的轨迹。在学化学的人眼里,敢于试错,无畏失败。也因为这种训练,对于PL给的每一个任务,我都把它当做一次实验,大胆尝试,像写实验报告一样归纳总结抽象出规律。记得到华为不到2个月,PL给我一个挑战的任务——两阶段事务模块的增强特性开发,复杂度很高。我不仅不紧张,反而很兴奋,通过设置各种模块输入,掌握原模块代码的所有输出和异常分支,对这个模块的实现做到了然于胸。此后我还细致地梳理整个模块实现流程图,因为化学的实验报告往往要求尽量可视化,以便更清晰地描述微观世界,而我输出的这份更加可视化的流程图也在项目组中引起了小小的“围观”,不仅降低了其他同事了解模块的难度,还方便了特性修改风险评估,直接提升了后续修改代码的质量。我始终认为,不同学科间是相通的,只有不断试错和实践,才会有成功。


  多年化学实验的经验,也让我养成了严谨、耐心和细致的习惯。因为在化学中,一个小小的条件变化,可能都会出现截然不同的实验结果,而一个操作上的小失误,甚至会威胁生命。同时在复杂的化学现象之中,还需要用模型去具体化,用归纳统计、抽象概括去揭示规律。我认为编程的过程和做化学实验的过程很像。所以在编程前,我总是花大量精力在前期代码架构的规划、模块接口以及可维可测的设计上,并且进行充分的测试设计,这样后期代码可以一次成型且缺陷得到更好的控制。2017年,我担任了“单点故障检测”的特性 交付owner,交付效率和质量都过硬,上网后至今保持零缺陷。而我在团队中,一次成型的能力也成为个人品牌。


  对计算机编程的热爱使我选择了当前的职业道路,多年的化学学习经历,让我从独特的视角去理解编程。每一段学习经历都不会被浪费,培养的每一个技能与习惯都会在未来的某一天发出光亮。我渴望,在化学学科和计算机技术之间寻找更多交叉的节点,创造更多的精彩。




本文为《华为人》版权所有,未经允许不得转载。如需转载请联系编辑部hwrb@huawei.com

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。