亦师亦友

昨天刘博跟我说今天中午单博要请吃饭,让我留着肚子,好好敲他一笔。我也没多想什么,以为真的像刘博说的那样,是公司的博士之间的聚会。今天中午在餐桌上我才知道原来刘博要离职了。

关于离职的原因刘博没有多说,我也不愿去想。但是突然接到这样的消息还是让我有点手足无措。这半年来,我从刘博身上学到了太多太多。所以我想总得写点什么,纪念一下这段亦师亦友的友谊。

去年十一月份吧,那时候我刚进公司没多久,听根神他们讨论说公司下周要入职一个物理学博士。我当时还从未与博士共事过,所以一直满怀期待,希望等博士来了能多和他聊聊,结果一周后风平浪静。我问根神不是说要入职一个博士吗?根神说坐你对面那个就是啊。我这才反应过来刘博早就入职好多天了,只不过刘博长的太显年轻了,以至于我一直以为是个新入职的实习生。

刘博入职以后,便显示出了惊人的代码能力。每天中午我趴在桌子上睡觉,总能听到对面刘博噼里啪啦打键盘的声音,一个普通键盘愣是打出了机械键盘的效果。来了公司几个星期就熟悉了已有框架的代码,然后独立完成了一个反光柱定位的项目。虽然是物理系博士,但刘博对计算机的了解却超越了很多科班出身的人。有一次我写了一个socket程序,发现在Windows下面能正常运行,而在Linux下面挂了。查了半天不知道问题在哪儿。这时候刘博告诉我因为socket在两种操作系统下的系统原语不一样,一个在无法建立链接时返回0,一个是抛出异常,按照他的思路改完代码后发现真的是这样。当时我惊讶于刘博竟然能把一个系统调用的细节记得这么清楚。那个时候我也和刘博合作写过一些代码,每次都是代码工作了就提交。但是工况一变可能代码就不工作了。刘博告诉我代码必须要多测试,必须要遵循规范。要是我们公司有专门的测试每天早上我的桌子旁边肯定得围一圈人。在那之后,写代码的时候我总会额外注意一下代码质量。

刘博学习知识的方法很特别。我遇到问题总是会百度别人的技术博客,看个大概就直接复制过来用了,而刘博却不是这样。有一次我和思晨遇到git上的问题,问刘博怎么能把git学的透彻一些,刘博立刻给我们拷过来一本厚厚的《progit》。有时候问他C++的问题,他解答后给我们拷过来一本厚厚的《Thinking in C++》,我在学CUDA的时候,他又拷给我一本《CUDA by example》,似乎他的电脑里藏了数不尽的英文书。由于网络的便捷,我们早就习惯了快餐式的学习,往往今天遇到这个问题,百度一下直接套用别人的方法解决了,可是却不会深究其原理。而刘博却一直都学的很踏实,耐心的把一部部英文专著啃完。看论文时,刘博往往左边开着论文,右边开着英文维基,每当遇到论文里出现的没见过的算法就去维基上查它的原理。我问刘博为什么不用百度?刘博笑着说百度?卖药才去百度。有一次写一个雷达历程计的代码,我去博客里找教程照猫画虎的写完了。刘博告诉我这里不能这么写,这个函数会申请全局内存然后再释放掉,多线程程序很容易产生内存碎片。我问他你怎么知道的?他说你用一个函数之前,起码要把它的文档研究透彻,知道他大概的实现原理和思路,以及可能遇到的问题,而不能上来就用。从那以后,我也养成了看文档的习惯。能去官方网站看文档就尽量不去看零散的技术博客。时间长了,对各个框架的理解果然更深入了。

刘博的知识面相当广博,无论公司举办大大小小的讨论会他总能提出一些有见解的问题,有些甚至一时之间让演讲者无法准确作答。按他的说法,他读博时一直在搞计算机副业,最后发现毕不了业了回实验室赶了两篇物理学的论文,现在引用量已经超过100多了。有一次我偶然跟他提了一句什么是量子力学,他就兴致勃勃地给我讲起了波函数。我实在是听不懂,挠挠头,刘博也就没再继续讲下去。结果我没想到几个月以后,刘博突然送了我一本书,是曾谨言的《量子力学》第五版,告诉我这是国内很经典的教材。提起航空航天,他能知道一些常见的火箭发动机燃料;有时候提起深度学习,刘博也能扯两句LSTM,GAN什么的。对所有技术保持好奇心,也是一个博士的基本素质吧。

说是要好好敲单博一顿,结果吃饭时刘博假装上厕所把帐给结了。有时候会觉得刘博有点不近人情,现在看来,其实他只是懒得把这些事情说出来。少说多做,可能也是他的处世哲学之一吧。

希望刘博以后能够找到真正适合他的工作,能够真正让他一展拳脚。也希望我能够成为刘博这样纯粹的人。

你可能感兴趣的:(亦师亦友)