当前位置:首页 > 公众号精选 > 嵌入式微处理器
[导读]来源 :华为心声社区 一条道路,两面人生 Liyi 十载未名:象牙塔中的波澜起伏 “说来也许很多人都不会想到,在北大博士的光鲜外表之下,我曾经做好了毕业即失业的心理准备。” 2009年,在那个大街小巷仍然时常听到“北京欢迎你”的夏日,我走进绿荫环绕的北京


来源 :华为心声社区


一条道路,两面人生




Liyi




十载未名:象牙塔中的波澜起伏



“说来也许很多人都不会想到,在北大博士的光鲜外表之下,我曾经做好了毕业即失业的心理准备。”


2009年,在那个大街小巷仍然时常听到“北京欢迎你”的夏日,我走进绿荫环绕的北京大学南门,穿过人声鼎沸的百年讲堂,在那个宿舍尚没有空调的年代里,在说不清是紧张还是期待的汗流浃背之中,开始了求学路上的最后一个十年。

我所在的数学科学学院,是北京大学官方认定的“一号院系”。当然,私下更多的说法是“四大疯人院”之首。在这里,我第一次体验到了“智商不够,努力来凑”的喟叹。每每都会想起在知乎上看到的一个问题:

问:“在北大数学科学学院就读是一种什么样的体验?”

赞同最多的回答:“在这里,人跟人的差距比人跟狗的差距更大。”

那时我本科毕业已然多年,但仍旧清晰地记得,当年每当期末考完一科后的夜晚,侧耳倾听四邻宿舍或沉默或欣喜,抑或是开黑传来的吵闹,这种感慨都会在心头徘徊。而我自己,在这人间百态里只能一边尽力跟上课程,一边寻求自己喜欢的科研方向。

在或深夜或凌晨昏暗的路灯下,我早已经不记得在“麦教”度过了多少个通宵的夜晚。在努力挣扎与不断被虐的交替中,时光就这样匆匆流过。从本科到硕士,再到转成硕博连读,我跟着当年还是副教授的孙猛老师踏上了形式化方法研究的道路。

形式化方法旨在通过数学模型,为计算机软件或硬件系统进行精确的描述,并通过数学方法证明其可靠性,消除系统中潜在的错误。所以,这个方向的研究既需要相应的数学功底,也需要对计算机领域有较深的理解。换言之,需要大量的背景知识来支撑科研的进行。还记得刚开始读研的时候,我同时参加自己师门的讨论班、系里的大组讨论班和中科院软件所的讨论班,最多的时候每个月要分享两次,每次两个小时。现在虽然看起来不难,但对于那时的我来说,通读一篇论文准备两个小时的PPT几乎要花费一周的时间。除研究生课程之外,读论文、讨论班分享几乎占据了生活的绝大部分。

凭借着兴趣的支撑,我终于慢慢从科研菜鸟,熬成了有自己想法,有明确目标,想要做一些“有意思的事”的科研熟手。也就在这个时候,认识的师兄师姐渐渐开始就业,自然地,我也会偶尔把目光投向他们——等我毕业之后,应该何去何从?然而随着对就业市场的了解不断积累,残酷的现实开始慢慢浮出水面。

形式化证明研究是为了提高软件质量,并力图实现极致的系统可靠性而存在的,可以说与计算机软件的历史相伴而生,历史上不少大名鼎鼎的研究者如图灵都是形式化方法的研究者,但这一研究现在多用于航空航天、列车控制等领域。为做出极致可靠的系统,需投入大量的人力物力财力,这对大部分公司并不是最佳选择,也因此我们的就业方向基本以学校和科研院所为主。目所能及,除了做博士后走教职这条路之外,那几年我看到就业的师兄师姐们几乎都选择了改行。

说来也许很多人都不会想到,在北大博士的光鲜外表之下,我曾经做好了毕业即失业的心理准备。虽然继续搞理论科研确实是一条道路,但是打从心底里,我仍然希望能够学以致用,我想要做一些真正在实践中就能用得上的东西。

在这个时候,华为来到了我的生活。或者说,我的生活里走进了华为。


命运带来了一个机会



“有一天,我接到了一个来自华为的电话。一周之后,我就挂上了华为公司的实习工卡。”


2018年4月,在春暖花开的时节,在象牙塔中度过了近九年的我,也终于不可避免地走上了纠结的求职路。在征得导师的同意之后,我向包括一众互联网大企业在内的公司投出了简历。我的要求不高,只希望能够找到一个专业对口的岗位,不浪费这些年的学习与科研经历,但是要么石沉大海,要么“查无此岗”,一些比较友好的HR还会主动向我推荐人工智能类算法岗位,理由是“这样不浪费你的博士学位”。在惊异于人工智能就业市场如此火爆的同时,除了感慨自己方向之冷门,实在也无法可想,无计可施。这样一个多月下来,基本没有什么实质性进展。

直到偶然的一个机会,在一个微信群里,我看到了来自华为中软的招聘宣发,意外的是,在其中看到了“形式化证明工程师”的岗位。机会很是难得,虽然之前对华为的了解并不多,但是试试总归没有坏处。抱着这样的心态,我甚至都没有特地准备单独的一版简历,把之前用的中英文简历直接投到了招聘邮箱。

其实对于华为有这个方向的招聘需求,老实说有点出乎我的预料。那时华为的软件产品由于目标客户群等原因在高校曝光率极低,在周围同学的主流认知中,华为是一家“硬件公司”多于“软件公司”。而形式化证明介于软件理论与软件工程之间,很难想象一家“硬件公司”会存在这方面的需求。但更加意外的是,不到半个小时,来自华为OS内核实验室的电话就打了进来。没等我过多介绍自己的具体工作,对方就开始滔滔不绝地讲起了部门在这个方向上的宏大计划……

电话打完没多久,部门就安排了实习面试。效率之高让我着实又惊讶了一把。一周之后,我就挂上实习工卡,站在了北京华为大厦的门口。

每周一、三、五在公司实习,周二、周四则回学校继续搞科研,改论文,还要应付毕业前夕需要准备的各种材料,毕业论文初稿、预答辩等事宜,实习期间的生活不可谓不辛苦。但是终于有机会走进真实的工业场景,这又令我相当振奋。OS内核实验室负责公司自研操作系统内核的开发,操作系统内核是系统软件中的核心部分,即便是一个微小的错误也可以引发严重的后果。因此同事们在开发过程中十分谨慎,在这种近距离感受工业开发的场景中,我了解到许多从前在学校中从未接触的问题和挑战。

在学术的世界里,我们往往做好了很多假设,将一个问题抽象到相当的高度,一如物理学家计算出“真空中的球形鸡”一样,这样的抽象有利于我们更好地集中观察并解决特定的问题,然而在现实业务中,性能、安全、效率、交付……都制约着这种抽象的可能。客户认可你对问题的简化吗?同事认可你在简化问题下拿出的“完美”方案吗?答案显而易见。在这种场景下,我们必须拿出更加贴近实际,在各种工程困难下仍然保证软件可靠性的解决方案。在这样艰巨的挑战之下,我在团队其他同事的带领下,尝试了不同的方向,进行了大量的调研,打算自研软件形式化证明工具。

在这种务实的氛围之下,我也慢慢适应了华为快节奏的生活。从最开始的一周三天,到后来提交毕业论文之后每周全勤,最初预想的“入职前休息一月去毕业旅行”,最终变成一毕业就完全投入到研究工作中来。

这时2019年已过半载,美国实体清单的风波之下,周围同事们压力倍增。为了节省通勤路上的时间,能够每天多做一点事情,我抽时间去驾校考了增驾,然后买来了一辆摩托车。引擎的震颤伴随着激昂的心绪,大概是那个时候心情最好的注脚。


松山湖畔碰撞的思想火花



“This might work for now, but it is not the way expected.”(这可能暂时可行,但这并不是我们所预期的方式。)


2019年8月,我提着行李箱走出深圳宝安国际机场,来到了东莞松山湖溪流背坡村。

为了完成终端的“补洞”目标,松湖会战在这个炎热的夏日拉开了序幕。在公司的召集之下,我推迟了新员工培训计划,直接在东莞办理了入职手续,并在松山湖畔开始正式工作。

松湖会战中,每个参与团队均由国内员工和数量不等的海外研究所的本地员工参与,双方在同一个课题上展开合作攻关。在北京习惯了快节奏生活的我,在与海外研究所同事的合作中又重新“慢”了下来。但是这并非是锐气的消弭,而是工作节奏的进一步沉淀。

“This might work for now, but it is not the way expected.” (这可能暂时可行,但这并不是我们所预期的方式。)

外籍同事做事长于细节,凡事不求速成,而是要从头开始,自己琢磨。对同样的工作,他们很多时候上手速度慢一些,但是一旦进入状态,他们对于技术细节的掌握要更加准确。很多时候我们面对一个问题,一旦找到可供参考的解决方案,第一反应就是去做一个简单的实验来验证方案的可靠性,有了最初的结果后就开始往下推演。而外籍同事们往往要先把论文吃透,代码行为逐行搞个一清二楚,很多时候还会自己从头实现一遍,踩一下其中可能存在的坑。这种方式自然会消耗大量的时间,但是最终的解决方案很多时候确实也有着更高的可靠性。因此到底应该“have a demo for now”(先做一个demo),抑或是“make it the way we expected”(按我们预想的方式)就成为了我们思维方式碰撞的焦点

我们的项目中有一部分工作需要对源代码和一种中间表示进行人工核对。这是一个相当繁琐的工作,而且需要核对者本身对代码和中间表示都有相当的了解。外籍同事German接手了一部分核对工作,结果——没过几天,我就在他的电脑屏幕上看到了一套外文版的《编译原理》。

“这也行?这书看一遍怕是几个星期打不住。”我心里对进度能否赶上颇有疑问,但好在这项工作我们共同完成,开始的一段时间我可以多赶一点进度来让German熟悉相关知识。果不其然,最开始的一两个星期他几乎没有任何输出,但随即而来的就是,每个星期他在核对中发现的问题都是最多最细的,帮助我们修复了很多潜在的bug。

“如果一座楼的地基深度只够建造5层楼,那么当我们需要把楼高加到10层的时候,就不得不在旁边重建一座新楼。但是如果新楼的地基只够建造10层,那么可以想象,接下来旁边又会有第三座、第四座新楼……”每当与人讨论软件质量的时候,我都会打这个比方。现实中应该不会有房地产开发商向设计师提出这种需求变更,但是客户对软件的需求却实实在在存在这种可能。这时候,外籍同事们从一开始便对每一个细节仔细琢磨,并考虑这种做法是不是“优雅地”合乎程序的设计美感的做法,初看虽有失性价比,但是长远考量确实有很大的潜在收益。然而目光长远,精雕细琢一定是好的吗?我们也已经有了许多例子证明:并不是。经历了长时间的雕琢之后最终证实一项功能无法实现,或者最终不符合我们的需求,这种例子在工作中可以说比比皆是。

所以我认为,这种思维碰撞的机会是宝贵的,而且这种机会确实对我们的工作起到了很大的帮助。在华为,未来的路还很长。而我们部门现在已经在海外建立了研究所,相信我们的未来有更多的机会去了解不同的群体和思考方式,博采众家之长,最终为我们的研究课题和工作方向持续注入新的活力。

写在最后



“溪流背坡村的东莞夜色和摩托车上呼啸的北京,是我对立而统一的生活。”

2020年1月,连地处岭南的东莞也渐渐冷了起来,不知不觉间我入职已近半年。在这半年里,我们自主开发的形式化证明工具已颇具完成度,成功发现了系统中的一些缺陷,产生了真正的商业价值。作为一名新员工,在这半年里,我和同事们经历了求同存异的思想碰撞,共同工作中精益求精,砥砺奋进,我感受到了不同民族文化、性格与思维方式的差异,更亲眼看到、亲身体验了华为人的精神与华为的文化。

做好每一件事的细枝末节,追求端到端、点到点百分之百的可靠,这种执着是科研人的本分,也是业务核心竞争力的重要组成部分,如同在下班路上目睹的宁静幽美的松山湖畔夜色,平稳而不浮躁。与此同时,作为一个在商海之中沉浮的“巨无霸”公司,又必须具备敏锐的嗅觉,在战场上锐意进取,奋勇直前,即使是预研类业务,也丝毫不能懈怠。我无比热烈地寻求每一个可能的应用场景与机遇,期冀实现个人与公司的发展,一如在摩托车上所看到的北京——轰鸣的引擎声中,通明的灯光与人流的喧嚣一闪而过,这是超级都市的节奏与心跳,也是我们必须要适应的生活。

华为的核心价值观,落实在业务的角度上是“以客户为中心”,落实在人的角度上是“以奋斗者为本”。什么是奋斗?什么是奋斗者?想来十八万同事的心中,自有十八万种不同的定义。在我看来,松山湖畔溪流背坡村的东莞夜色和摩托车上呼啸的北京,这两种不同的生活和工作模式,看似对立,实则统一。它们共同构成了我丰富多彩的生活,也共同铸就了我心中对于奋斗的定义——“在奋勇直前的道路上努力做到精益求精,并一以贯之直到旅途的终点”。

这是我对过往的总结,也是我对未来的希冀。人生苦短,勉之勉之。


*本文来自“华为人,转载请注明作者及出处*

-END-




推荐阅读



【01】华为前工程师这样讲述我国芯片的现状!
【02】华为、阿里、小米、腾讯……一线互联网大厂的薪资和职级一览!
【03】在华为保持“少年”的秘方:为何他还仍有一头茂密的黑发?
【04】华为最有意思的岗位是什么?看完笑喷!
【05】在华为,加班究竟有多恐怖?


免责声明:整理文章为传播相关技术,版权归原作者所有,如有侵权,请联系删除

免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

嵌入式ARM

扫描二维码,关注更多精彩内容

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
关闭
关闭