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

“你敲下的每一行代码,你想过他会如何在计算机上运行吗?你想过你的这一行代码会产生多少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起来的。
从防火墙产品线,逐步拓展到VPN、上网行为管理、NGFW等产品线,从2011年的时候,就是那个公司的研发总监了,负责整个公司所有产品线的研发工作。
这段经历给我很深的认识,码农要想成长,第一阶段就是做深,你所负责的业务和技术,必须吃透,能挖多深挖多深,切记不要浅尝辄止。只有这样,当你的业务调整和发展的时候,你才能看出来哪些是本质的不变,哪些是需要调整的。 
另外就是要有系统的眼光,不能只看到你一个模块,你要看的整个系统是怎么运作的。
2012年的时候,对于这种单机设备的发展前景不太看好,于是跳槽到了一家国企,做智能设备云平台。

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

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

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

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

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

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

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

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

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

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

原文链接
本文为云栖社区原创内容,未经允许不得转载。

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

  1. 阿里云通义千问官网上线了(阿里版ChatGPT)

    阿里版ChatGPT的通义千问上线了,官网:https://tongyi.aliyun.com/ 阿里云的二级域名,你拿到邀请码了吗? 阿里云通义千问邀请码 阿里云通义千问大模型能力测试体验,人工智能 ...

  2. 阿里云算力的十年更迭史,重点都在这了!

    3 月 29 日,在阿里云计算峰会上,阿里云弹性计算负责人张献涛博士,作为开场嘉宾,做了<高效稳定,助力云上企业敏捷创新>的主题分享,回顾阿里云算力的十年更迭史,讲解阿里云强劲.稳定.安全 ...

  3. 和达摩院深度绑定,阿里云下一个十年,成为“云上的阿里巴巴”

    参加 2019 Python开发者日,请扫码咨询 ↑↑↑ 整理 | 非主流 出品 | AI科技大本营(ID:rgznai100) 2009 - 2019,阿里云已经走过了 10 年时光. 在此次的阿里 ...

  4. 细数阿里云服务器的十二种典型应用场景

    原文链接:http://click.aliyun.com/m/13910/ 免费开通大数据服务:https://www.aliyun.com/product/odps 文章转载:小白杨1990 如今, ...

  5. 物联网平台搭建的全过程介绍(五)——基于阿里云物联网平台的Android聊天app源码

    本例程Android源码请点此处免费下载 物联网平台搭建的全过程介绍(四)两台设备之间通过云数据流转实现远程通信之Android studio例程中介绍了两台Android设备通过物联网平台进行通信的 ...

  6. 简单介绍下阿里云的H5滑动验证+H5示例源码

    我承认我是很菜,不过还好我喜欢看别人的源码,看过以后我还喜欢分享出来,给你们也看看,不要觉得我很伟大, 事实上我就是那么伟大(滚犊子,还写不写了),嗯,好的,下面开始. 效果预览: 这是用的阿里云的组 ...

  7. 阿里云视频点播服务入门(附完整源码)

    1.项目结构 2.pom文件,(aliyun-sdk-vod-upload下载失败 可去jar下载地址下载 后把jar包 放到maven仓库对应地址即可 <dependencies>< ...

  8. 阿里云盘又搞事,最新福利码来了!限时!

    3月22日,内测了半年的「阿里云盘」正式开启公测,自研智能存储和全球加速云网络技术12年后,阿里云正式推出了第一款个人云产品. 它最大特点就是:不限速!没广告! 阿里云盘官方表示,阿里云盘的产品核心理 ...

  9. 抢先体验阿里云盘PC版,附空间福利码!

    之前小编给大家介绍过阿里云盘的app,很多小伙伴都第一时间去下载体验了一下,确实阿里云盘相对于现在很多人在用的某网盘,速度有了非常大的提升,无论是下载还是上传文件,都感觉非常爽.不过有个不足就是很多人 ...

最新文章

  1. 【Pandas库】(1) Series的创建方法
  2. MATLAB-向量相关计算
  3. Apache开源项目
  4. 【Tomcat Eclipse】8080端口被占用问题记录
  5. 集群状态正常时需要的jps进程+是否需要部署到各个节点(持续更新中)
  6. 不怕贼偷,就怕贼惦记!
  7. 论文翻译:《Improved Neural Relation Detection for Knowledge Base Question Answering》
  8. 安卓学习笔记24:常用控件 - 循环器视图
  9. 重启机器后挂载盘丢失
  10. (1)算法设计与分析_算法设计思路
  11. 安装java环境好_一键安装Java环境的好工具 你用了吗
  12. android车机播放器,万能视频播放器 车机版
  13. word转pdf实现,POIXMLDocumentPart.getPackageRelationship()Lorg...问题,以及NotOfficeXmlFileException...问题
  14. 视频文件转gif图片Movie To GIF使用
  15. 泛微低代码构建+流程驱动:绩效考核线上提报、评分、自动汇总
  16. 局域网助手(LanHelper) 1.96 注册码
  17. 前馈神经网络(Feedforward neural network)
  18. unity3d ios 应用闪退 variables may not be available
  19. 漫话最短路径(二)--bellman-Ford(贝尔曼-福特)算法
  20. 网页轮播图(详细版)

热门文章

  1. 西北工业大学计算机毕业论文,西北工业大学硕士论文开题报告应注意的事项
  2. python前n项和存为一个数组_在Python中存储多个数组
  3. 青茶什么时候拆_为什么日本绿茶那么绿?比中国的高级绿茶还要绿
  4. 汤姆克兰西全境封锁服务器维护时间,汤姆克兰西全境封锁无法登录怎么解决 无法登录解决方法攻略...
  5. python数据库框架_目前最受欢迎的12个Python开源框架
  6. 宋志平:麻省理工创新体系带给我的3个思考
  7. 真正厉害的人,早就戒掉了“贫穷思维”
  8. 华为海思年内恐超越联发科 成亚洲最大芯片设计公司
  9. bind blz mysql_MySQ DBAL重点剖析课程 企业级MySQL系统安全与DBA运维日常事务管理 运维DBA必备宝典...
  10. 为什么是先更新数据库再删除缓存,而不是更新缓存?