阿里云
发表主题 回复主题
  • 1554阅读
  • 3回复

[干货分享]阿里云喻义:十年牧码,从码农走向工程师的进化之路

级别: 管理员
发帖
2
云币
5
有人会问,码农和工程师有区别吗?有什么区别?相信每个人都有不同的理解。
yM`QVO!;  
“你敲下的每一行代码,你想过他会如何在计算机上运行吗?你想过你的这一行代码会产生多少cache miss吗?你想过你的这段代码分支预测的概率是多大?你想过你这段代码是否适合在逻辑核上运行?你真的想过吗?”
mzH3Q564  
给我们抛出这些问题的是刘廷伟,阿里高级技术专家,花名喻义。在团队里接触过喻义的人都知道,他就是这么一个较真的人。也许正是因为这份坚持和信仰,才让他能从一名普通码农逐渐成长,蜕变成如今的带领数十位工程师的架构师团队Leader。在1024程序员节来临之际,我们有幸能走进喻义,和他聊聊他这十年来的牧码之路。
@Z[XV"w|  
D@iE2-n&V  
Q!`  
Nxr%xTD  
码农想要成长,必须先吃透 _Y 8RP%  
E!]d?t3b  
o7^u@*"F  
我是08年毕业,数学专业。因为数学专业其实找工作不太好找,所以就从大三开始学计算机的课程,大三下学期的时候报考了当时比较火的软件设计师考试,结果一不小心考了全国第十,当时就想看来自己还是比较适合干计算机这一行。 dkI(&/  
c[zaYcbl  
7a5G,C#QQ  
于是07年底,就拿着这个证去了一个安全创业的公司实习了。说实话虽然公司不大,但事情还是很多。当时是做软硬件一体化的防火墙,最开始参与应用层业务逻辑部分的C、C++和ruby的开发。反正是新人,不管什么活都认真投入去做,有问题就问;从业务逻辑,到数据结构;从数据结构到内存和性能优化;从性能优化到编译优化;最后把我师傅都问蒙了。做了差不多半年不到,老板看小伙子冲劲不错,喜欢钻研,就把我安排到内核团队去了(后来发现,这个决定对我整个牧码生涯产生了决定性的影响)。 wVac6q  
当时是基于Linux内核开发的,最开始只是做业务监控和统计,基于内核协议栈 bridge和IP层的hook开发,真正的新的业务模块参与不多,但是从那个时候接触Linux内核的那一刻开始,就深深的吸引了我,从来没有见过这么庞大的代码,而且代码风格非常好,可以用秀色可餐来形容。(那个时候对于整个内核的框架还没感觉,只是对代码感觉很舒服)。 (|t)MnPfY  
因为一开始都是做非核心内核业务,当时也觉得自己学的差不多了,就开始给公司代码库提交patch,现在还记忆深刻,是内核鉴权的系统,结果我提交后系统回归测试就搞出了一个bug,整个公司研发20多个人,debug了一周没找到原因,但是我始终感觉不是我代码的问题,但是没办法,是我的代码触发的问题,只能是把我的代码给回滚了(后来证明是供应商提供的网卡驱动有问题,我的代码逻辑恰好触发了那个bug)。当时真多很伤心,但是没办法,我自己也没法证明到底哪里出了问题,只能先回滚。那个时候我发现,必须系统化的把Linux内核搞懂才行。 C[2LP$6*/  
于是那段时间就开始看各种内核的书,《Linux Kernel Internals》、《Linux内核驱动开发》、《深入理解Linux网络技术内幕》、《Linux 内核网络源代码情景分析》,其实从刚刚那个debug的场景就能想象到,当时整个team到同学在内核这块功力都不太够,而且在青岛这种二线城市,做内核研发的同学更少。但是这些书和代码啃起来很难,有些时候一个锁的使用,为什么需要关闭软中断,好几个晚上想不明白,周围也没有可以讨论的同学,于是就开始去混内核社区和论坛,后来成了ChinaUnix内核社区源码版的版主,网名“瀚海书香”。那个社区前后有4个版主,现在有3个已经都在阿里云聚首了。 E7AYK&  
那段时间很累,但心气很足,每天都能感受到自己的成长。而且内核这块熟悉后,看问题的时候,除了业务层面,你还会从整个系统的角度来思考问题。 s& Lyg>>`  
yh{Wuz=T  
5 cz6\A&  
因为内核里面有很多涉及驱动和汇编的事情,于是又开始研究编译原理,让自己更好的理解整个系统是怎么用在这个硬件上run起来的。 <v+M~"%V  
从防火墙产品线,逐步拓展到VPN、上网行为管理、NGFW等产品线,从2011年的时候,就是那个公司的研发总监了,负责整个公司所有产品线的研发工作。 =c Krp'  
这段经历给我很深的认识,码农要想成长,第一阶段就是做深,你所负责的业务和技术,必须吃透,能挖多深挖多深,切记不要浅尝辄止。只有这样,当你的业务调整和发展的时候,你才能看出来哪些是本质的不变,哪些是需要调整的。 cjyb:gAO  
另外就是要有系统的眼光,不能只看到你一个模块,你要看的整个系统是怎么运作的。 M7. fz"M  
2012年的时候,对于这种单机设备的发展前景不太看好,于是跳槽到了一家国企,做智能设备云平台。 b+!I_g4P  
 FtmI\,  
/}&@1  
坚信技术的方向,你努力的方向就不会错 MgG_D6tDM  
加入国企的时候比较有趣,因为国企要求是985毕业,但是我毕业的学校不是。可能当时面试我的老板看中了我这个人吧,所以就签订了外包合同才进去的,哈哈。但是不到1年就在公司得到了认可,董事长审批后转为了正式员工。 :j[a X7Sq2  
我是依靠安全能力加入的,所以一开始是在安全团队。但是加入公司后,相邻的存储团队遇到了内核panic问题和性能瓶颈,而这两块工作对于系统的理解能力要求很高,庆幸工作的前几年基础打的不错,于是很快帮助这个team解决了几个困扰许久的panic问题,同时将当时分布式存储的性能提升了30%多。 ^,,lo<d_L  
eczS(KoL4  
yaWHGre  
工作能力得到认可,差不多13年开始,就开始负责一个系统软件所,包括安全、存储、内核和BI团队。  Zzea  
那个时候的BI团队还是使用的Oracle Datewarehouse,遇到了性能瓶颈,经常出现1天的数据第二天无法计算完成的情况。那时候的我对于大数据一无所知,于是又开始跟行业里面比较优秀的同学聊这块的方向,当时就认为我们需要转型了,不能在用这种单机模式了。于是就组建团队,建设公司的大数据平台。 j`LvS  
说实话,刚开始的时候自己也不知道能不能搞成,但是坚信这个方向是对的。差不多半年多的时间,真的搭建起了公司内部的大数据集群,水平扩张能力完全满足了当时的业务增长需求。 (8d"G9R(  
!dZpV~g0  
>#8J@=iuqv  
后来又开始逐步将业务云化,真正实现了智能设备的云平台。 r>.^4Z@  
这段经历给我的成长是,码农走向工程师的关键一步,就是你要认清和坚信技术的方向。只要技术的方向不错,你努力的方向就不会错。 fNNik7  
2016年的时候,个人遇到了管理瓶颈期,同时也想到一个更大的业务平台上发展,于是跳槽来到了杭州-阿里云。 HP G*o  
i48Tb7Rx~n  
\r^*4P,,  
每一个工程师都是对业务场景极其了解的码农 e,rCutA)  
加入阿里云后,作为视频云的产品架构师,开始更多的与行业客户沟通视频业务的解决方案,拓展云的边界。如何利用阿里云的技术能力,更好的服务客户业务,服务客户。 01AzM)U3"m  
;&?l1Vu  
Tj_~BT  
这个时候很大的转变就是,之前更多的考虑技术怎么实现,而现在更多的是考虑技术如何解决业务问题,创造技术红利,拓展商业边界。你需要深入到不同行业不同客户,去深挖理解他们的场景,跟他们一块分析解决客户的痛点。 Zg2F%f$Y  
S)~Riuy$  
uU#7SX(uu  
你会很好的理解到,所有的技术都是为业务服务,而业务的发展又给了技术更新演进提供的场景。没有业务,技术都是虚的。 FEq R7  
~G#^kNme  
XJ9bY\>)q1  
没有双11、世界杯的洪峰流量,你很难凭空设计出流量调度的算法,也更没有业务场景去验证你的技术。所以每一个工程师都是对业务场景及其了解的码农。 hY^-kdQ>M  
2 }HS`) /  
=sa bJsgL  
后记 F2k)hG*|{  
接触过我的同学都说我是工作狂,当你的工作就是你所兴趣的方向,工作可以给客户、社会和公司带来价值,你就会非常享受这个过程。 +' f38D*  
F G5e{  
`Q~`Eq?@  
当然对从工作中对收获,会有对家人照顾对遗憾。我非常感谢我家人对我的支持,从16年只身一人来到杭州追逐梦想,到现在厦门研发中心开启新的篇章,她们都是我坚强对后盾。 a eo/4  
({l!'>?  
T.R(  
最后期待更多的行业和业务与云发生化学反应,一起让技术业务化,让业务技术化。 {8a s _  
2 bQC 2  
8`j;v>2  
ecgGl,{  
本帖最近评分记录: 1 条评分 云币 +1
君斗云 云币 +1 想起了当年通篇啃读0.12内核,真是感慨万千。 11-07
级别: 程序猿
发帖
497
云币
745
只看该作者 沙发  发表于: 10-23
牛人呀,支持一下。
级别: 新人
发帖
1
云币
1
只看该作者 板凳  发表于: 11-20
Re阿里云喻义:十年牧码,从码农走向工程师的进化之路
不错
级别: 小白
发帖
11
云币
13
只看该作者 地板  发表于: 12-06
Re阿里云喻义:十年牧码,从码农走向工程师的进化之路
期待作者写的更详细点哦
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
验证问题: ECS是阿里云提供的什么服务? 正确答案:云服务器
上一个 下一个