`

阿里李睿博谈自己的折腾路:整个过程爱最重要

    博客分类:
  • Java
阅读更多

摘要: 整个过程我觉得还是爱最重要。有爱才有勇气才有希望。我是真的爱写代码。从小学就开始爱,到现在快三十年了也还爱。

《沉淀》是云栖社区展示专家风采的人物栏目。它呈现每个专家独一无二的人生经历、认识和感悟的同时,也能帮助你沉淀技术,收获对技术和人生的判断。我们的想法是:“若你想精进为一个很厉害的人,不妨细细品味这些技术牛人背后的沉淀。”如果你想了解这些云栖专家更多分享时,请点击云栖专家频道,当然我们也欢迎你往前走一步,成为我们的云栖专家(https://yq.aliyun.com/expert),与技术大牛一起“煮酒论英雄”。

1.
 
如果人生可以重新来过一次,你会怎么做?
 
相信很多人都会列好一大堆计划和想法,而李睿博却和云栖社区的同学讲了一个往事:
 
“小时候一帮小朋友一起玩,弄坏了邻居的财物,大家一哄而散,只有我觉得这么跑掉是不对的,愣是站在原地没动,最后责任都成了我一个人的。”
 
讲完后,他说:“人生如果能重新来过,还会是一样。我其实是个挺执拗的人,会坚持做自己认为对的事情,即使有时候明知道会吃亏。”
 
从功能机时代做网络中间件到做搜索,从做移动开发到做分布式计算平台……细看,转型跨度都挺大,而每一步李睿博都无怨无悔。
 
抽丝剥茧后,你会发现,这是爱,是对代码的爱。
 
2.
 
5504fcfd32fdcf2b929de62ef94c99a6821553b2
李睿博认为,路走对了,才不怕远;走对路,比走的远更重要。
 
李睿博,花名艺卓,他是阿里集团计算平台事业部生态与输出部门的负责人。对于自己的工作,他概括地说:“MaxCompute 上直接接触用户的那部分,很多都是我部门的工作。”这些工作包括 MaxCompute 的 REST API、SDK、Console、JDBC驱动,以及PyODPS 及其配套的 DataFrame。除此之外,李睿博的工作也包括跟各种社区、生态的对接。
 
回到李睿博工作生涯的起点——2006年北航研究生毕业后,他因为面试流程Geek,以及有游戏背景,任性的找了一家特殊的日企,并在一年后,又随这家公司到东京工作了两年。这是家做网络中间件的公司,核心产品是用一套SDK完成Linux/Windows/Solaris server side 以及PSP/NDS/wii 等 Client Side 的网络通信代码编写,客户主要是游戏公司。在这个过程中,他实现了在 128k 内存 128x128 的屏幕上实现伪网游的效果,这个在——GPRS、手机还是NoKia的时代是一件非常具有挑战的事情。
 
2009年,李睿博加入阿里云做搜索(现在的“神马”)。在搜索的时候,他发现,当时团队的模块发布用的是RPM包,而RPM/YUM的改变是系统级的,多人共用一台机器会互相干扰,于是就写了一个Abxp(Abuildxp 的缩写)的工具,用来在编译代码之前构建依赖库环境用的。这个编译工具直到最近这几天,都还有 IDST 的同学遇到问题找到李睿博。对于写出长命的Code,这位不断跨领域的技术人也挺吃惊的。但大家觉得好用、喜欢用,他也非常高兴。
 
2013年,李睿博跟随集团无线 All In 战略做了一年的创业项目。在无线的一年,他带领一个测试开发底子的团队转安卓开发,并在不到一年时间把App做到百万日活。尽管这个App最终没能活下来,但李睿博还是挺骄傲的。自豪之外,他也有反思和收获,一定要给用户带来价值。他在回复中表示:“无论技术层面执行的多么到位,带不来价值的应用活不下来很正常。阿里土话说‘路走对了,就不怕远’,我觉得应该叫‘路走对了,才不怕远’ 。”他强调,走对路,比走的远更重要。
 
由于移动应用业务属性太强,做安卓开发一年后,李睿博来到阿里集团计算平台事业部生态与输出部门,潜心于技术。尽管这个领域不懂的东西太多,但只要能重新沉醉于代码中,他觉得哪怕“被虐”也是值得的。“好几次都是靠‘自己选的路,跪着也要走完’的信念才走到今天。”他表示,在大数据平台学到最多、挑战最大,不过后来居然越做越有感觉了。
 
到今天他做MaxCompute已不知不觉有三年。问及最终目标是什么,他说,就当下工作而言,有两个:一个是通过PyODPS直接赋予数据科学家操作大数据的能力;第二个是通过生态与输出,让大家可以将开源所学直接用在 MaxCompute 上。“如果要论终极目标。”他毫不犹豫地说:“那就是将大数据计算能力普惠给用户。”
 
对于分布式计算平台的趋势,李睿博认为会越来越往准实时、实时方向靠拢,“离线和实时分布式系统之间的界限会越来越模糊,两边都会尝试侵占对方的地盘。”
 
沟通中,也问起他的花名为什么起“艺卓”,李睿博一脸遗憾,他说:“本来想取‘睿博’。”他戏称,毕竟向后兼容还是很重要的。但后来他发现,这个花名不可用,只好取了“艺卓”。之所以取它,李睿博称,有两个原因:第一,和“睿博”读音有点靠;第二,这个名字是专业显示设备的品牌,他比较喜欢这个牌子,并且也希望像这个品牌一样在自己的领域里做专业。
 
3.
 
从搜索到安卓再到分布式计算平台开发,在外人看来这几次转型跨度都挺大的,回顾历程,李睿博也惊讶自己这么能折腾。
 
“那如果给一次选择的机会,你会怎么做?”折腾太累,大多数人都不喜欢折腾,所以云栖社区抛出这个问题,是希望李睿博能给出一个完美的技术进阶路线。然而,答案似乎并不像云栖社区期待的那样。
 
“如果真能选择的话,还是会去买套房吧。”他开了一个玩笑后,开始言规正传——人生如果能重新来过,还会是一样。
 
是什么原因让他来生还愿意这么折腾,云栖社区并没有进一步去探究。因为在另外一个回答中,可以找到答案:“我是真的爱写代码,从小学就开始爱,到现在快三十年了也还爱。”
 
如果这个答案还不够直接,那么你可以看李睿博这一句:“做自己喜欢做的事情,还有钱赚,这么奢侈的事情,我已经很知足了。”
 
以下是更为精彩的内容:
 
云栖社区:“艺卓”的花名给人总有一种手艺人的工匠精神在里面。你入职那时,取花名还是件很容易的事,能谈谈为什么没有取武侠风的花名,而是取了“艺卓”?
 
李睿博:我 2009 年入职阿里,其实直到 2013 年去无线才有的花名。阿里云早期并不流行花名文化。
 
等到真想要花名的时候系统提示“睿博”不可用(毕竟向后兼容还是很重要的嘛),结果到今天也没看到集团里谁的花名叫“睿博”,有点遗憾。
 
取“艺卓”这个名字,一个是因为读音跟睿博还有点靠,另一个是这个名字本身是个做专业显示设备的品牌,我个人也比较喜欢,也很希望能够像这个品牌一样在自己的领域里做专业。
 
云栖社区:你第一份工作是Port 日本的 Doja 手游到国内的 J2ME,在那个年代,能在 128k 内存 128x128 的屏幕上实现伪网游的效果是一种挑战,你是如何解决这个问题的?
 
李睿博:在资源极度受限的设备上做开发,有点像把一大堆东西塞到一个小手提箱里。一个是东西本身要经过很好的折叠,比如图片、音乐这些资源大户,要经过良好的剪裁和压缩。
 
另一个是要做很精细的安排,空间本来就有限,哪里放什么要规划的非常仔细。日本工程师在这方面其实做的已经很好了。移植到 J2ME 因为机器配置更低所以要做的更激进一些。
 
网游对战这块,那个年代的流量还很贵,而且 GRPS 也不足以支撑实时网络对战,所以我们当时的做法是和另一个玩家的历史记录对战(赛车类)。
 
云栖社区:你在搜索部门时开发了一款编译工具,直到今天都有人在用,并找你咨询问题,能否介绍下这是什么样的一款编译工具?当初出于什么原因去写它?
 
李睿博:是个叫 Abxp(Abuildxp 的缩写)的工具,用来在编译代码之前构建依赖库环境用的。
 
做这个工具的原因有两个,一是当时团队的模块发布用的是RPM包,二是当时团队的工作习惯是一台开发机多人共用。
 
既然用了RPM,那么最直接的办法就是RPM来构造开发所需的依赖环境。但是 RPM/YUM的改变是系统级的,多人共用一台机器会互相干扰。
 
因此就有了Abxp这个工具,利用现成的RPM体系,构建个人的开发环境,互不干扰,甚至一个人的几套代码不同目录之间都可以用不同的依赖环境,给开发工程师提供便利。
 
云栖社区:后来去做安卓开发,是早有准备,还是现学现卖?另外,也说一说学习安卓开发的过程吧。
 
李睿博:基本是现学现卖。虽然早年也做过J2ME开发,不过跟直接在 Canvas 上做各种图形绘制比起来,安卓抽象了 Activity、Service、Intent 等一系列概念,组织了 Fragment、ViewPager 等一系列组件,能够用好这些东西需要积累和时间。
 
之前的经验唯一的好处是有助于理解一些设计的出发点。当然,因为做的App 的特殊性,其实用到不少跟系统相关,行为定义的没那么清楚的 API,这个就真的是要摸着石头过河了。
 
云栖社区:在不到一年的时间里,把App做到日活百万,从技术角度来看,这段经历有哪些成功或独到之处?其次,对于这款App没能最终活下来,你有哪些认识和思考?
 
李睿博:做App 是要满足用户真实的需求的。无线All In 那一年,我们做锁屏软件,动机其实是“抢入口“。
 
我们在锁屏界面上做壁纸,跟虾米合作做音乐播放,跟蚂蚁合作做余额宝增值曲线,跟淘宝合作做快递提醒,跟头条合作做新闻,跟爆漫合作做段子推送,如果再多有一些时间,锁屏会被我们做成一个微型OS。这个臃肿的锁屏软件表达的我们的诉求太多,能够带给用户的价值偏少。
 
当然也不是没有。今天很多已经集成到 ROM 里的功能,那个时候我们都在锁屏上做过,比如用最少的操作打开手电筒,切换歌曲等等。
 
于是无论技术层面执行的多么到位,这样的软件活不下来其实并不奇怪。阿里土话说“路走对了,就不怕远”,我觉得应该叫“路走对了,才不怕远”,走对路,比走的远更重要。
 
云栖社区:为什么在移动开发最火爆的时候,又转型去做分布式计算平台开发?在转型分布式计算平台开发中,都遇到哪些挑战,请详细叙述下。
 
李睿博:移动应用的业务属性还是很强,代码写写扔扔(尤其是客户端)简直太正常不过。自己的代码变成快消品还是很难受的。
 
到分布式计算平台,最大的问题还是初来乍到,整个领域不懂的东西太多。虽然传统的 MapReduce 不难理解,但是一个Query 从进来Compile 成 Plan,到 Optimize 到生成 Runtime code,整个链路很长,而且链路的每个节点都有足够的细节和门槛。
 
云栖社区:MaxCompute相比Hadoop等开源产品有哪些优势?其次,作为计算平台生态与输出部门的负责人,能否在脱敏的前提下,谈下MaxCompute在生态上的一些规划?
 
李睿博:优势么,第一个是性能。我们自研的平台在性能上对比开源竞品还是有很大优势。另一个,MaxCompute 是完全托管的大数据服务,用户不需要知道集群,只管跑作业就好。从这个角度说,MaxCompute 跟 IaaS +开源软件完全不同。
 
MaxCompute 的生态,前几年关注的是连通性,于是我们有了 JDBC/ODBC,有了 Flume/Fluentd/logstash/Sqoop 这样的插件,让数据可以方便进入;现在我们更关注社区,我们的 MaxCompute 2.0 对 Hive SQL的兼容性不断在提升,PyODPS 做的类似 Pandas 的 DataFrame API,直接赋予数据科学家操作大数据的能力。
 
我们的终极目标是让大家可以将开源所学直接用在 MaxCompute 上。
 
云栖社区:你对分布式计算平台的中间件、架构以及趋势有哪些看法?
 
李睿博:MaxCompute 是离线批量计算平台出身,但是这个平台会越来越往准实时、实时方向靠拢。离线和实时分布式系统之间的界限会越来越模糊,两边都会尝试侵占对方的地盘。
 
新硬件也给我们的分布式系统提出了更多的挑战,比如 CPU 作业和 GPU 作业混合调度,带宽提升导致的存储和计算的分离成为可能等等。
 
云栖社区:不论是一开始在日企做网络中间件、阿里云成立之初做搜索,还是跟随集团All In战略做移动开发,乃至当下做大数据的分布式计算平台,你的每次转型跨度都挺大的,而且也都挺成功的,能否谈谈转型心得?其次,众多技术中,你最喜欢哪门技术(语言)?为什么?
 
李睿博:也不能算成功吧,拼了老命,没有脸着地摔很惨罢了。整个过程我觉得还是爱最重要。有爱才有勇气才有希望。我是真的爱写代码。从小学就开始爱,到现在快三十年了也还爱。
 
做自己喜欢做的事情,还有钱赚,这么奢侈的事情,我已经很知足了。
 
语言写过很多,不过我用的多的似乎最后都消亡了。最喜欢的语言么,Perl 算一个(也式微了,汗),因为实现同样的功能,代码能写的短。
 
云栖社区:如果给你一个选择的机会,你会继续这样继续不断跨领域,还是会在某个领域持续扎根?为什么?对应着选择(重新来过后),你又会怎么去做?
 
李睿博:如果真能选择的话,还是会去买套房吧(玩笑)。
 
重新来过也还会是一样,我其实是个挺执拗的人,会坚持做自己认为对的事情,即使有时候明知道会吃亏——小时候一帮小朋友一起玩,弄坏了邻居的财物,大家一哄而散,只有我觉得这么跑掉是不对的,愣是站在原地没动,最后责任都成了我一个人的。
 
认知水平、眼界不到的时候,估计我也会非常坚持自己并不成熟的想法,就算是未来的自己去劝也没有用。可能这就叫性格决定命运?
 
云栖社区:拥有这么多丰富的经历,你有没有想过去创业?请你谈谈对创业的理解。
 
李睿博:我比较喜欢的两个描述生活状态的词,一个叫随遇而安,一个叫无欲则刚。我这样的性格,除非有个强力发动机型的人拉着我一起,是不太会去独自去创业。
 
另外,我觉得创业要有足够的冲动,冲动可能来自强烈的价值认同。拉我出去创业的朋友也有过,到目前为止我看到的因为隔行导致盲目乐观以及功利的成分居多。
 
云栖社区:你平时喜欢做什么?为什么?请分享一个你特别认可的格言或一句话,并叙述下原因。
 
李睿博:平时追番,打游戏,看书,摄影,偶尔写写博客。因为我读过的人文书籍比较少,所以不太敢说任何或者欣赏格言。只说一个喜欢的吧:“此心光明”,希望能够作为自己的墓志铭。
 
为什么是此心光明呢?因为我们是处在一个剧烈变革的时代里。我上中学的时候家里装一部固定电话还要交几千块的安装费,我念大学的时候还在用寻呼机。我研究生毕业的时候大家都在炒 Web,然后是移动互联网,然后是大数据,然后是人工智能,眼花缭乱,飞速迭代。
 
我也经常感叹很多事情自己其实看不懂,看不清楚。年轻的时候,觉得做自己认为对的事情就好。但是在这样的时代里,个体非常容易迷失自我,我做的事情是不是对,并非一目了然,经常是要经过时间检验。在这样的时代里,某个具体时点上,能指引、规范个体行为的,或许只有价值观。Google 憋了半天,搞出来个“don't be evil”,我觉得是同样的表达。工程师可能也就这个文案水平,不如王阳明先生“此心光明”来得积极向上(文/我是主题曲哥哥)。

原文链接:http://click.aliyun.com/m/26897/
 
本文为云栖社区原创内容,未经允许不得转载,如需转载请发送邮件至yqeditor@list.alibaba-inc.com

 

分享到:
评论

相关推荐

    睿博科技商业计划书:智慧医疗健康平台_医疗健康商业计划书.pdf

    睿博科技商业计划书:智慧医疗健康平台_医疗健康商业计划书.pdf

    睿博软件科技

    睿博它可以在交通管理,导航,监控,互联网网站建设等方面具有丰富的经验。它给人们带来了生活和出行的方便。

    云视睿博流媒体服务器参数表.docx

    云视睿博流媒体服务器参数表.docx

    云视睿博流媒体服务器参数表.pdf

    云视睿博流媒体服务器参数表.pdf

    协同创新智慧医疗 科技赋能健康中国——北京深睿博联科技有限责任公司创新发展纪实.pdf

    协同创新智慧医疗 科技赋能健康中国——北京深睿博联科技有限责任公司创新发展纪实.pdf

    魔兽世界公会系统源码

    欢迎使用睿博!魔兽世界公会系统(RB!DKP),本系统为网络游戏魔兽世界玩家公会用网站平台,您可以使用本系统快速建立属于您自己的公会网站。系统主体部分为DKP系统,DKP系统拥有完善的功能,支持市面上主流的记分/查分...

    视频转码工具

    由国内顶级视频技术公司云视睿博出品的视频批量转码工具,可以大批量的对海量音视频资源进行批量自动转码,转码后可以传到自己的HTTP服务器上。 功能亮点: 1、本地转码,运行在Windows机器上,不占用任何远程服务器...

    概率上机作业-11

    第一次上机作业 12班 卢睿博 2018923831.a> a(1000,0,1)> a [1] -0.454861420 -2.10823243

    Darwin Streaming Server6.0.3

    1、DSS流媒体服务器(Darwin Streaming Server6.0.3),苹果公司提供,支持音乐、视频点播、转发,及摄像机实时视频转发。 2、摄像机视频推送源代码,支持内网监控视频推送至外网。

    三维视频融合 点卯.时空克隆

    三维视频融合是一种MR(混合现实)技术,MR是"增强现实"(实中有虚)与"增强虚拟环境"(虚中有实)两者的统称, 三维视频融合作为"增强虚拟环境"技术,通过摄相机或投影装置提取真实对象的“二维动态图像”或“三维表面”...

    三维视频融合.[点卯.时空克隆]

    点卯.[增强虚拟全景平台]适用于广大监控终端用户,从此告别监控画面碎片化的时代,本软件为用户提供基于实景地图、三维模型的的三维全景监控画面,监控画面不再是一块块碎片,而是与三维场景融为一体,如同身临现场...

    三维视频融合.体育场馆案例[点卯.时空克隆]免费版

    点卯.[时空克隆]适用于广大监控终端用户,从此告别监控画面碎片化的时代,本软件为用户提供基于实景地图、三维模型的的三维全景监控画面,监控画面不再是一块块碎片,而是与三维场景融为一体,如同身临现场的感觉。

    三维视频融合视频,可以直观了解什么是视频融合

    点卯.[增强虚拟全景平台]是以三维视频融合技术为核心,无缝融合3DGIS、三维虚拟环境、实时动态图像三大基本元素,实现如同现实场景的"动态增强虚拟环境",结合5G、人工智能等技术,围绕行业特色实际,构建基于动态...

    电脑LOGO语言命令大全

    电脑LOGO语言命令大全

    [三维视频融合通用软件免费版]用户操作指南

    点卯.增强虚拟全景平台,是一款基于三维场景的三维视频融合通用免费软件,适用于广大监控用户,以及智慧城市、雪亮工程、安防监控等信息化项目。

    三维视频融合.数字孪生平台

    点卯.[增强虚拟全景平台]适用于广大监控终端用户,从此告别监控画面碎片化的时代,本软件为用户提供基于实景地图、三维模型的的三维全景监控画面,监控画面不再是一块块碎片,而是与三维场景融为一体,如同身临现场.

    一款免费的视频直播软件

    一款免费的视频直播软件,windows系统下无需安装,下载即可运行。 1、不受场地空间限制,有台电脑就可以,笔记本电脑都配有摄像头,再有个语音麦克就可以了,打开软件就可以授课了,日常使用没有其他操作. ...

Global site tag (gtag.js) - Google Analytics