施晓罡,花名星罡。
阿里巴巴算法工程师,2016届阿里星。
2016年,星罡在北京大学毕业并获得了博士学位,研究课题为《动态数据流上的实时迭代计算》。
博士期间,他是一位名副其实的学霸,作为一名学生,在学术上取得了令人瞩目的成绩,曾在包括SIGMOD和TODS在内的顶级国际期刊和会议上发表多篇学术论文,并获得校长奖学金、五四奖学金等诸多荣誉和奖励,其中校长奖学金是北大的最高奖学金。
2016年毕业加入阿里之后,参与了实时计算系统Blink的开发工作,负责计算状态的存储、备份和恢复等功能的研发。在2016年双11期间,Blink为搜索、推荐和广告等关键业务提供了稳定、高效和可靠的服务。Blink相关工作同时也在开源社区取得了较大影响。通过将部分工作贡献给社区,他已经在今年4月成为Apache顶级项目Flink的Committer。
今天我们为大家采访了这位阿里星同学,来看看作为一名阿里星,从校园到企业,从学术界到工业界,都经历了什么!
谈渊源:源自游戏,钟情算法
提问:大概从什么时候开始接触到计算机编程方面的东西?又是因为什么喜欢上了计算机?
星罡:第一次接触是小学,那个时候有一个很流行的东西叫裕兴学习机,里面可以学一些简单的dos、命令等编程的东西。我印象最深的是学习机里面有一个实现超级马里奥的程序,然后我就照着那个教程把马里奥绘出来,虽然也不懂代码的翻译,就照着教程把代码一行行敲进去,这样我就可以控制马里奥到处移动。这应该是我人生写的第一个程序,虽然很简单,但是写完之后很开心。从那个时候开始一直到上高中我对计算机的理解基本上就等于游戏,因为我特别爱玩游戏,就喜欢上了编程。
提问:那计算机有这么多领域,为什么后来选择了算法呢?
星罡:选算法有很多偶然的原因,最早我在实验室的主要工作是在分布式环境下的数据存储和查询。那个时候互联网技术随着web2.0的发展,用户产生的数据有了一个指数级的增加,所以数据的存储和查询是一个很大的问题。但到了后来计算机的技术的发展使得很多这方面的问题被解决了,同时大家对于数据价值的追求越来越高,非常渴望从数据之中寻找到那些潜在的联系,并运用到实际应用中。所以我在读博的时候有一个很重要的研究课题,就是如何从搜集到的大数据中高效的提取数据价值,如何高效的运行丰富复杂的数据挖掘算法和计算机算法。这个问题非常有挑战,因为我既需要对算法非常了解,还需要能提供一个支持这些算法的平台。所以我就特别希望能够深入了解这些算法,考虑如何把这些算法通过一个真实的系统让大数据运行起来。
提问:在校期间取得了哪些学术上的成绩,哪些对你来说意义非凡?
星罡:博士期间我的课题是《实时数据流上的迭代计算》,这个问题主要是想解决在实时动态的数据流上怎么去高效的编写和运行基于迭代的数据挖掘算法,主要的工作是两块,一个是如何提供一个声明语言,就是一种很简单的高级语言,能够允许用户简单的编写他们的迭代程序。另外的一个工作就是考虑在分布式环境下在实时数据流上怎么样去跑这些迭代的程序。这些工作在当时非常有创新性,也非常有意思,在SIGMOD和TODS这些国际的顶级会议和期刊上也发表了一些相关的paper。另外,这些成果也帮助我也获得了学校的校长奖学金(北大校长奖学金为北大最高规格的奖学金,每年全校仅有100个名额)。
谈选择:研究与应用并重
提问:那么在毕业前都有哪些选择?为什么最终选择了阿里?
星罡:找工作的时候我面了不少公司,也拿了挺多的offer,我当时希望找一个能够继续我博士期间研究方向并在实际中能够发挥作用的工作,所以最早我犹豫要不要去微软或者IBM这些公司的研究院,但是接触之后感觉那边的工作可能更偏向于学术研究,在实际应用里并没有想象中那么大。之后我面了很多互联网公司,滴滴、hulu、阿里等等,比较了业务情况、技术氛围等等,发现阿里这边的工作和我研究方向非常匹配,另外阿里的数据场景非常吸引人,因为阿里的流量非常庞大,另外我觉得阿里在业务上已经非常成功了,有足够的资源在技术上做探索,通过技术创新来获得优势。通过和面世官的交流,我知道实时计算是阿里技术发展的一个重要方向,希望通过实时计算在搜集和广告这些关键业务中,提高用户体验获得更高的收益。所以在阿里我的研究和我的技术可能有更大的发挥空间,所以就果断的过来了。
提问:那么加入阿里的初心是什么呢?想达成什么?
星罡:上大学的时候我开始接触阿里,那个时候经常会上淘宝买东西,感觉淘宝上的宝贝非常多,存量也非常大,那时候我就特别好奇淘宝的系统是怎么去搞定这么庞大的数据量和访问量的。后来随着我研究的深入和对阿里的接触,我更希望在阿里自己能够搭建一个在世界上有影响力的实时计算平台,自己也能够成为一个理论和实践兼具,成为领域内的专家。
谈工作:伴随初心,在压力中成长
提问:从学生到工作的转变,这个过程中有没有遇到过什么问题或者不适应的地方?
星罡:之前在读博士的时候一般我们的工作都自己安排,自己去寻找一些有意思的课题,然后追逐最前沿的科研问题。但是工作之后大部分的工作通常是由业务提出需求,所以在开始的时候总感觉自己的价值没有发挥出来,然后日常的工作节奏也不一样,因为以前读博士的时候可能更关注于自己,每天的时间也由自己安排。但是现在可能会经常需要和其他团队交流,每天的时间也比较碎片,利用率不会很高。所以刚开始的时候很难适应这样的节奏,也很难适应这样的工作环境,开始的时候工作效率会比较低,需要一个转化的过程。
提问:在工作中,阿里星的光环对你来说意味着什么?
星罡:作为阿里星,会受到来自不同方面的瞩目,可能有更大的舞台或者更灵活的空间给你,也有更多机会和那些大牛去探讨问题,但是可能对我来说意味着一个非常大的压力,因为阿里星其实公司和同事对你有期待,所以说你需要更出色,在工作中要更加努力,然后在个人发展中需要从更多的角度去思考一些问题,尽自己所能帮助团队提高。
提问:到阿里之后做的这些事情你觉得做得最好的是什么?
星罡:在阿里我主要还是做实时计算系统相关的事情,我们基于Apache开源社区的一个计算系统Flink搭建自己的计算系统,名字叫Blink,我主要负责计算状态state相关的工作,我对state接口做了大量的改动,丰富了很多类型,并且优化了状态备份的实现,还提供了很多工具来提高用户程序开发的效率以及用户程序的性能。另外我们对可靠性做了很多工作,比如前面提到的增量备份来减少每次备份的数据量,提高备份的效率,另外还做了一些在恢复时我们也通过本地复用来使得任务在发生异常时能够很快的恢复。这些工作在实际业务中都起到了很大的作用,在科研社区也得到了非常好的认可。我们通过把这些工作贡献给社区,我也成长为了Flink项目的一个Committer,这对我来说是在阿里收获的一个非常好的荣誉。
提问:有没有得到你预期的收获,感觉最大的收获和成长是什么?
星罡:有的。一个明显的收获就是我对阿里这样的大公司的业务有了非常深入的了解,然后在技术上就是实际能力有明显的提高,丰富了用户场景,使得我有了非常丰富的调试经验,对峰值环境下的容错、恢复这些都有了非常深刻的认识,在这方面的技术也有了长足的进步。
另外很关键的收获就是深刻理解的平台化和服务化的重要性,阿里丰富的业务不仅要求我们开发满足现有需求的产品,还需要我们能够进一步的分析需求、分解抽象,设计出一个灵活高效的计算平台,来驱动业务进一步的迭代。在阿里丰富的团队合作使得对大项目的需求安排和项目规划有了很好的认识。了解到了如何在一个大项目中规划自己的进度以及开发的能力。
提问:作为一名阿里星,在你眼中,你觉得阿里的哪些东西对你的成长来说是非常有价值的?
星罡:第一个我觉得就是鼓励创新和允许探索的企业文化,这让我们在技术上有很多的大胆的尝试。然后丰富的数据以及业务场景使得我们能够从中获取到丰富的问题,同时能让自己的技术有一个实践和落地的舞台,看到自己的技术在实际中发挥作用,对于自己来说通常是一个很振奋人心的事情。另外在阿里有很多非常优秀的同事,我的身边就有很多在领域内属于顶级的同事,从他们身上获得了很多帮助,对我在技术上的进步有巨大的影响力。
提问:你当初的博士的同学现在都在做什么?和他们相比你觉得现在的你有什么不同?
星罡:有一部分同学在学术界做一些科研研究,还有更多的同学和我一样在互联网公司做业界的东西。还在做研究的那些博士同学们可能会更加关注科研的热点,然后寻求一些新奇大胆的想法。和他们相比我感觉我更加关注技术和业务的结合,考虑这些技术在实际中的可行性以及在真实场景下的表现,想法也和以前有了很大的不同。
给建议:保持初心,长远打算
提问:对于即将毕业的师弟师妹们你有没有什么建议?
星罡:我觉得最重要的还是首先要打好自己的基本功,要有过硬的技术能力,然后在找工作的时候一定要想清楚自己想要的东西是什么,保持一颗初心,在选择工作的时候一定要考虑到长远的打算,不要急于眼前的一些利益。
提问:最后让你给阿里的校园招聘打一个广告,你会怎么说呢?
星罡:阿里已经是世界上市值最高的互联网公司之一,而且在技术上阿里人在不断的进步,希望通过技术上的提高来获得进一步的优势。在这个过程中,阿里对于人才的需求是源源不断的,阿里有丰富的应用场景,有非常庞大的数据。这些都为你们提供了一个很大的施展的空间。阿里也特别渴望你们来这里发挥你们的能力,一起创造出更大的价值,能够改变这个世界。
来源:阿里巴巴招聘
原文链接