阿里云喻义:十年牧码,从码农走向工程师的进化之路

摘要: 有人会问,码农和工程师有区别吗?有什么区别?相信每个人都有不同的理解。 “你敲下的每一行代码,你想过他会如何在计算机上运行吗?你想过你的这一行代码会产生多少cache miss吗?你想过你的这段代码分支预测的概率是多大?你想过你这段代码是否适合在逻辑核上运行?你真的想过吗?” 给我们抛出这些问题的是刘廷伟,阿里云高级技术专家,花名喻义。

有人会问,码农和工程师有区别吗?有什么区别?相信每个人都有不同的理解。

“你敲下的每一行代码,你想过他会如何在计算机上运行吗?你想过你的这一行代码会产生多少cache miss吗?你想过你的这段代码分支预测的概率是多大?你想过你这段代码是否适合在逻辑核上运行?你真的想过吗?”

给我们抛出这些问题的是刘廷伟,阿里云高级技术专家,花名喻义。在团队里接触过喻义的人都知道,他就是这么一个较真的人。也许正是因为这份坚持和信仰,才让他能从一名普通码农逐渐成长,蜕变成如今的带领数十位工程师的架构师团队Leader。在1024程序员节来临之际,我们有幸能走进喻义,和他聊聊他这十年来的牧码之路。

喻义,阿里云视频云高级技术专家
码农想要成长,必须先吃透

我是08年毕业,数学专业。因为数学专业其实找工作不太好找,所以就从大三开始自学计算机的课程,大三下学期的时候报考了当时比较火的软件设计师考试,结果一不小心考了全国第十,当时就想看来自己还是比较适合干计算机这一行。

于是07年底,就拿着这个证去了一个安全创业的公司实习了。说实话虽然公司不大,但事情还是很多。当时是做软硬件一体化的防火墙,最开始参与应用层业务逻辑部分的C、C++和ruby的开发。反正是新人,不管什么活都认真投入去做,有问题就问;从业务逻辑,到数据结构;从数据结构到内存和性能优化;从性能优化到编译优化;最后把我师傅都问蒙了。做了差不多半年不到,老板看小伙子冲劲不错,喜欢钻研,就把我安排到内核团队去了(后来发现,这个决定对我整个牧码生涯产生了决定性的影响)。
当时是基于Linux内核开发的,最开始只是做业务监控和统计,基于内核协议栈 bridge和IP层的hook开发,真正的新的业务模块参与不多,但是从那个时候接触Linux内核的那一刻开始,就深深的吸引了我,从来没有见过这么庞大的代码,而且代码风格非常好,可以用秀色可餐来形容。(那个时候对于整个内核的框架还没感觉,只是对代码感觉很舒服)。
因为一开始都是做非核心内核业务,当时也觉得自己学的差不多了,就开始给公司代码库提交patch,现在还记忆深刻,是内核鉴权的系统,结果我提交后系统回归测试就搞出了一个bug,整个公司研发20多个人,debug了一周没找到原因,但是我始终感觉不是我代码的问题,但是没办法,是我的代码触发的问题,只能是把我的代码给回滚了(后来证明是供应商提供的网卡驱动有问题,我的代码逻辑恰好触发了那个bug)。当时真多很伤心,但是没办法,我自己也没法证明到底哪里出了问题,只能先回滚。那个时候我发现,必须系统化的把Linux内核搞懂才行。
于是那段时间就开始看各种内核的书,《Linux Kernel Internals》、《Linux内核驱动开发》、《深入理解Linux网络技术内幕》、《Linux 内核网络源代码情景分析》,其实从刚刚那个debug的场景就能想象到,当时整个team到同学在内核这块功力都不太够,而且在青岛这种二线城市,做内核研发的同学更少。但是这些书和代码啃起来很难,有些时候一个锁的使用,为什么需要关闭软中断,好几个晚上想不明白,周围也没有可以讨论的同学,于是就开始去混内核社区和论坛,后来成了ChinaUnix内核社区源码版的版主,网名“瀚海书香”。那个社区前后有4个版主,现在有3个已经都在阿里云聚首了。
那段时间很累,但心气很足,每天都能感受到自己的成长。而且内核这块熟悉后,看问题的时候,除了业务层面,你还会从整个系统的角度来思考问题。

因为内核里面有很多涉及驱动和汇编的事情,于是又开始研究编译原理,让自己更好的理解整个系统是怎么用在这个硬件上run起来的。
从防火墙产品线,逐步拓展到×××、上网行为管理、NGFW等产品线,从2011年的时候,就是那个公司的研发总监了,负责整个公司所有产品线的研发工作。
这段经历给我很深的认识,码农要想成长,第一阶段就是做深,你所负责的业务和技术,必须吃透,能挖多深挖多深,切记不要浅尝辄止。只有这样,当你的业务调整和发展的时候,你才能看出来哪些是本质的不变,哪些是需要调整的。
另外就是要有系统的眼光,不能只看到你一个模块,你要看的整个系统是怎么运作的。
2012年的时候,对于这种单机设备的发展前景不太看好,于是跳槽到了一家国企,做智能设备云平台。

坚信技术的方向,你努力的方向就不会错
加入国企的时候比较有趣,因为国企要求是985毕业,但是我毕业的学校不是。可能当时面试我的老板看中了我这个人吧,所以就签订了外包合同才进去的,哈哈。但是不到1年就在公司得到了认可,董事长审批后转为了正式员工。
我是依靠安全能力加入的,所以一开始是在安全团队。但是加入公司后,相邻的存储团队遇到了内核panic问题和性能瓶颈,而这两块工作对于系统的理解能力要求很高,庆幸工作的前几年基础打的不错,于是很快帮助这个team解决了几个困扰许久的panic问题,同时将当时分布式存储的性能提升了30%多。

工作能力得到认可,差不多13年开始,就开始负责一个系统软件所,包括安全、存储、内核和BI团队。
那个时候的BI团队还是使用的Oracle Datewarehouse,遇到了性能瓶颈,经常出现1天的数据第二天无法计算完成的情况。那时候的我对于大数据一无所知,于是又开始跟行业里面比较优秀的同学聊这块的方向,当时就认为我们需要转型了,不能在用这种单机模式了。于是就组建团队,建设公司的大数据平台。
说实话,刚开始的时候自己也不知道能不能搞成,但是坚信这个方向是对的。差不多半年多的时间,真的搭建起了公司内部的大数据集群,水平扩张能力完全满足了当时的业务增长需求。

后来又开始逐步将业务云化,真正实现了智能设备的云平台。
这段经历给我的成长是,码农走向工程师的关键一步,就是你要认清和坚信技术的方向。只要技术的方向不错,你努力的方向就不会错。
2016年的时候,个人遇到了管理瓶颈期,同时也想到一个更大的业务平台上发展,于是跳槽来到了杭州-阿里云。

每一个工程师都是对业务场景极其了解的码农
加入阿里云后,作为视频云的产品架构师,开始更多的与行业客户沟通视频业务的解决方案,拓展云的边界。如何利用阿里云的技术能力,更好的服务客户业务,服务客户。

这个时候很大的转变就是,之前更多的考虑技术怎么实现,而现在更多的是考虑技术如何解决业务问题,创造技术红利,拓展商业边界。你需要深入到不同行业不同客户,去深挖理解他们的场景,跟他们一块分析解决客户的痛点。

你会很好的理解到,所有的技术都是为业务服务,而业务的发展又给了技术更新演进提供的场景。没有业务,技术都是虚的。

没有双11、世界杯的洪峰流量,你很难凭空设计出流量调度的算法,也更没有业务场景去验证你的技术。所以每一个工程师都是对业务场景及其了解的码农。

后记
接触过我的同学都说我是工作狂,当你的工作就是你所兴趣的方向,工作可以给客户、社会和公司带来价值,你就会非常享受这个过程。

当然对从工作中对收获,会有对家人照顾对遗憾。我非常感谢我家人对我的支持,从16年只身一人来到杭州追逐梦想,到现在厦门研发中心开启新的篇章,她们都是我坚强对后盾。

最后期待更多的行业和业务与云发生化学反应,一起让技术业务化,让业务技术化。

原文地址:http://blog.51cto.com/14031893/2308375

时间: 2024-11-05 16:27:14

阿里云喻义:十年牧码,从码农走向工程师的进化之路的相关文章

福利,阿里云注册、转入、续费优惠码

域数临风 5数字.6数字.com域名转入限时40元/年 域求千里 5数字.6数字.7数字.com域名续费限时52元/年 云栖大会 .com/.net英文域名限时优惠:45元/首年 使用方法:在域名续费结算页面(就是点续费按钮之后的第一个页面)左下角"使用优惠口令"那里输入优惠码即可,注意删除多余空格.

阿里云zabbix镜像从2.4源码升级至3.2.1版本

由于早期版本的zabbix暴出漏洞,因此,今天动手手动升级zabbix到3.2.1,过程还是比较曲折的: 首先,阿里云镜像中,lamp环境是源码安装的不同路径,而zabbix3.x对它们的版本有一定要求,必须是较新的版本.后经查阅阿里的文档,知道它们装在了/alidata/server/下,启动命令是自己制作的脚本,放在/etc/init.d下. 根据zabbix的安装文档,查阅了对mysql.php等的版本要求,基本符合. 找了些安装的文档,基本都是yum升级安装,不太适合用yum,于是手动下

选择阿里云数据库HBase版十大理由

根据Gartner的预计,全球非关系型数据库(NoSQL)在2020~2022预计保持在30%左右高速增长,远高于数据库整体市场. 阿里云数据库HBase版也是踏着技术发展的节奏,伴随着NoSQL和大数据技术的兴起和发展,从2010年开始研究和发展.时光荏苒,日月如梭,转眼九年时间,在阿里云上直接开放提供服务也有1年多时间,并在去年的12月份全新发布X-Pack,将单一的HBase演进到一个完整的数据处理平台的能力.我们注意到还有很多同学和客户不清楚HBase X-Pack是什么,什么场景下合适

阿里云服务器使用指南

常用命令: nginx: /etc/init.d/nginx start/stop/restart/reload 比如启动nginx命令:/etc/init.d/nginx start 目录 1.软件安装方式... 2 2.云服务器配置要求... 2 3.软件版本号.开源协议列表... 3 4.mysql及ftp密码... 4 5.软件目录及配置列表... 5 6.软件操作命令汇总... 6 7.开机自启动... 6 8.环境变量... 7 9.系统变更列表... 7 10.更多支持和帮助...

【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践

提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OSS(https://www.aliyun.com/product/oss) 4.HTTPS(http://baike.baidu.com/view/14121.htm) 阅读目录结构 引: 一.准备工作 二.整体功能结构 三.具体实现步骤 四.关键点和问题处理 五.延伸与扩展 六.总结与思考 引:

阿里云推荐码已经无效了,想优惠就用阿里云幸运券吧

在阿里云后台看到阿里云推荐码现在已经无效了,申请延期也失败,看来阿里云推荐码正式停止使用了.买阿里云服务器等产品想要获得优惠的话,就只能用阿里云幸运券了.福利吧之前分享的阿里云推荐码已经停止使用了,站长买阿里云服务器想优惠的话,就用阿里云最新优惠券:阿里云幸运券. 阿里云推荐码 urssg8 已经显示无效: 站长们想要优惠付款的话,就使用阿里云幸运券吧,可以获得随机优惠金额,还能抽奖.买阿里云ECS云服务器的站长,直接领取ECS云服务器幸运券即可. 我有几张阿里云幸运券分享给你,用券购买或者升级

技术和商业的碰撞,谈阿里云与天猫双11这十年

摘要: 2009年,发生了两件看似不起眼的事. 初春刚过,阿里云在北京一栋没有暖气的写字楼写下了飞天第一行代码. 同年11月11日,淘宝商城启动了一个叫做双11的促销活动. 谁也没想到,多年以后他们会是现在这模样. 2009年,发生了两件看似不起眼的事. 初春刚过,阿里云在北京一栋没有暖气的写字楼写下了飞天第一行代码. 同年11月11日,淘宝商城启动了一个叫做双11的促销活动. 谁也没想到,多年以后他们会是现在这模样. 前传 2007年淘宝的交易额突破了400亿,技术团队却喜忧参半:现有集中式架

阿里云9折推荐码QHM6L7

阿里云还不错的,现有用户有9折推荐码,我申请了,现公布出来 QHM6L7 ,申请vps的时候可以有优惠,我买的时候都没有,坑爹,刚买了一个月

阿里云9折优惠码

阿里云9折优惠码:DXGS73 阿里云直达链接:点击购买 原文地址:http://note.mango.im/article/7