阿里毕玄:从生物系学生,到技术团队 leader,他是如何完成自我蜕变的

© MSuzanne D. Williams

编者按:

新的技术层数不穷,困扰程序员的不仅有学不完的新技术,还有每个人在职业生涯中必然会面对的成长路线问题。这就像一个产品有了清晰的roadmap,下一步走的才会更自信。本文整理自程序员毕玄的《程序员的成长路线(续)》,讲述了自己加入阿里后的技术成长历程。

本文首发于作者的个人公众号“Hello Java

技术能力成长

我大学读的是生物系,缺少了计算机方面的专业训练,这个使得我在技术能力上欠缺的比较多。回头想想,在工作的前5年,更多的是在拓宽技术面。例如,刚毕业的时候只会ASP,毕业后的两年学会了VB、Delphi这些神器,到工作的第三、第四年专注在工作流领域。

技术能力的成长主要是在07年加入阿里之后。在加入阿里前,我是一个连日均访问量1w PV都没见过的人,到了阿里,做的第一件事竟然是要写HSF(阿里内部使用的RPC服务框架),并且要在客服的CRM系统上线,当时的访问量大概是每天上百万的服务调用,无知者无畏,然后就那么上线了,神奇的是,竟然没出现什么问题。

于是继续把HSF上线到交易中心,当时交易中心每天的服务调用量大概是1亿左右,结果上线当天就回滚了,而且还不知道到底是什么原因,这次的回滚是我做技术以来触动最大的一次(触动大是因为:如果要是解决不了,可能就要从淘宝滚蛋了)。回滚后开始仔细查问题,最后发现是当时HSF所使用的jboss-remoting默认的超时参数60s的问题,自从这个问题后,才明白:

“要支撑好到了一定量级的系统,最重要的是对整个技术栈的精通,否则出问题都不知道该怎么解决或临时查。”

© Matt Duncan

于是才开始仔细学习Java的BIO/NIO、Mina、反射和并发编程等,尽管这些东西在加入阿里前也看过一些书和资料,但到了用的时候才发现自己其实不怎么懂。于是那段时间开始更密集、更细致的看书,翻看用到的Mina、甚至是Java各种API背后的源码,那也是自己的Java技能提升最快的一段时间。在回滚的两个月后,基于Mina完全重写了HSF,再次上线时一切顺利。

在那之后,随着HSF应用的场景越来越多,以及在淘宝消防队需要去查各类问题,Java方面的技能得以获得了持续的提升。同时,我发现很多的Java问题要处理的好,还要对JVM、操作系统层面有一定的掌握才行,尤其是JVM。于是和当时还在阿里的撒迦,经常一起周末跑到公司结对看JVM代码,:),在撒迦的帮助下,对JVM的掌握也越来越好,那段时光让自己明白:

“只有看了代码,并且有相应的场景去使用,才有机会真正的掌握它。”

在HSF之后,去做HBase,学习到了存储方面的很多技能,这也是我之前完全不懂的领域,在HBase之后,开始做T4,进入彻底不懂的领域,虚拟化、Cgroup等等都是那个时候才开始学习,但因为没详细研究过代码,而且只是去做改造的工作,所以到今天也只是懂点皮毛而已。

© Jake Hills

对于程序员而言,技术能力的成长显然是最重要的(程序员行当里最赞的一句就是:Talk is cheap, show me the code!)。我在技术方面的很多成长都是属于被逼的,但往往这种场景下的成长也是最快的。很多同学会觉得自己没碰到这样的机会,所以成长就比较慢,我非常建议大家可以尝试自己去创造一些类似的场景(当然,如果是工作本身所需就更好了),来学相应的技术能力(例如学Java的通讯框架,可以尝试自己基于BIO/NIO写一个,然后对比Mina/Netty这些成熟的,看看为什么写的不太一样,又例如学Java的内存管理,可以尝试自己写程序去控制GC的行为,例如先来一次ygc,再来两次fgc,再来5次ygc,再来一次fgc之类的)。此外:

学的时候除了一些入门的书外,我非常建议去翻看源码,最后你会发现所有的书都不如源码,这样才能真正的理解和学会,否则会很容易忘。”

架构能力成长

说起架构,我在刚工作的第三年负责工作流系统的时候,好像也做过,但直到后来在阿里做T4、异地多活我才有了更强烈的感受,以及对架构师的一些理解。我现在理解的架构是一个结构图,当然有不同视角的结构,但这个图里的部分是多个团队来做的,甚至是跨多个专业的团队。

在做T4的时候,由于T4涉及到标准的Java WebConsole,以及一堆的运维体系和容器技术等,无论是从研发视角还是部署视角,这都是一个至少要跨三个团队的结构。因此,作为T4的架构师,当时最大的一个感触是:

“怎么设计好整个架构,以及各自的边界、接口,以便让跨专业的多个团队能更好的协作。在这个阶段中,最重要的是怎么根据整个项目的优先级来调整每个部分,以及作为一个非全栈的架构师如何更好的确保项目结果。”

T4这个项目,让我有机会从一位只做某个专业系统的架构师成长为一位能做跨专业系统的架构师。

在做异地多活的时候,感受就更加强烈了。因为异地多活所涉及的技术领域、以及参与项目的人数规模都上升到了一个非常高的程度,来自各专业、各系统的人都需要在看了整个架构后,才能知道自己应该做什么和扮演的团队角色。

“在做异地多活的项目过程中,作为总架构师,最重要的职责是如何控制项目的风险,找出项目中的核心,并且从架构上去思考如何去设计这个部分。”

© Jonna konsinska

这也是我在和很多架构师交流时,最喜欢问的问题。一份架构文档不是说按照模板写就可以(很多的架构设计文档都是千篇一律,通常看到的都是什么都考虑,但从架构设计上并没体现这些需要重点考虑的地方是怎么做的),而是要根据实际的项目/产品情况来突出重点,确保最重要的几个问题是从架构设计上就去掌控的,尤其是跨多个专业团队的大型项目。这种项目准确的说,是大架构师带着很多专业领域的架构师来一起来做的,例如,异地多活项目从架构设计上来说,除了正常的结构、边界以外,最重要的是数据正确性的设计。异地多活架构师的这段经历,在我架构能力的积累上起到了非常重要的作用。

“架构师对知识宽度的要求非常高,并且要能非常好的进行抽象,来做结构、边界的设计,分析出当前阶段系统的重点,并从架构层面做好设计来确保项目重点的实现。”

相对技术能力的成长而言,架构能力的成长更需要职业机会和场景。但在机会前,同样需要有足够的积累,例如在写一个系统的时候,是不是主动的去了解过上下游的系统设计,是不是了解过具体的部署结构,对相应的知识点有没有简单的了解等。我在做T4前,LVS、机房/网络结构等完全搞不懂是怎么回事。

技术Leader修炼

技术Leader需要有对技术趋势的感知和判断能力,这是非常综合的能力。同时,具备一到两个领域的技术深度,大的架构能力,以及对技术历程的理解、技术发展的思考能力。然后是其他的一些比较综合的能力,例如组织搭建、建设方面等。不过综合能力这块,对技术人来说,通常会欠缺的更多一些,这方面我也还在修炼和学习中,就不讲太多了。

总结

总结来说,我觉得和在之前文章里写的一样,程序员可发展的路线还是很多的,上面写的这三条其实都是可发展的路线,没有孰优孰劣,谁高一等之类的,兴趣和个人优势仍然是最重要的。

毕玄:阿里云开发者中心负责人,阿里系统软件、中间件、研发效能负责人。

Image placeholder
IT头条
未设置
  17人点赞

没有讨论,发表一下自己的看法吧

推荐文章
程序员自我发展之路:从态度到方法

三周前,正值手头事情忙得不可开交之际,接到右总邀稿,要我谈谈程序员发展的几条出路。我思考再三,索性趁此机会干脆行文一篇,把自己多年来给团队的唠叨整理整理,也算不负他人之托。事先声明,本人并非专业的职业

分析帖!怎样辨别生物和人工神经网络中的递归?

递归是神经网络中的一个重要术语,在机器学习和神经科学领域有着不同的含义。然而,随着用于实际应用的人工神经网络(ANNs)越来越复杂,且在某些方面更像生物神经网络(BNNs),这种差异正在逐渐缩小(但总

从生态合作到生态协同 细数华为生态圈的二三四五

数字化、智能化,这些近两年被大家“叫烂了”的词汇依旧热度不减。毋庸置疑,数字化近年来正在源源不断的为大家提供各种宏利。作为全球领先的ICT(信息与通信)基础设施和智能终端提供商,华为始终致力于把数字世

当金融科技遇上云原生,蚂蚁金服是怎么做安全架构的?

蚂蚁金服在过去十五年重塑支付改变生活,为全球超过十二亿人提供服务,这些背后离不开技术的支撑。在2019杭州云栖大会上,蚂蚁金服将十五年来的技术沉淀,以及面向未来的金融技术创新和参会者分享。我们将其中的

从容器到云原生,为什么灵雀云敢说自己“没有明显短板”?

Kubernetes虽然是最热门容器技术,但是放眼中国市场,除了阿里云、腾讯云、华为云这几家大厂,能把Kubernetes整明白并且可以成功落地的企业,凤毛麟角。容器改变了软件开发和部署的面貌,也导致

跳来跳去,到底去大公司还是小公司?

作者:一颗卤蛋,https://dwz.cn/NA3E0JFG职场生涯总会面临着选择,尤其对我们这些IT人来说,跳槽的频率应该是所有行业中相当大的了。那么我们跳来跳去,究竟该选择什么样的公司?大or小

建一个5G基站,到底要花多少钱?

自从国内5G正式宣布商用之后,全国各地的5G网络建设速度明显加快了。5G基站的身影,出现在越来越多的城市、角落。5G信号的覆盖范围,也在不断扩大。这意味着,5G的投资已经全面启动,并且在不断增加。一直

《从PPTV网络视频,到PPIO区块链分布式存储》

摘要:2019年11月26日,同济创业谷与PPIOCodeTalks联合举办了《创新X-区块链与创新创业》区块链技术分享会,本期我们为读者带来主题分享--《从PPTV网络视频,到PPIO区块链分布式存

十年软件通胀率:从 2009 到 2019 年,软件越来越昂贵

过去十年,软件定价逐渐上升。在我们调查的一百个商业应用程序中,价格平均上涨了62%,其中包括一些比较便宜的应用程序。如果用户现在花钱购买一款应用程序,那么它很可能比十多年前的价格贵98%以上。

两年Flink迁移之路:从standalone到on yarn,处理能力提升五倍

一、背景与痛点在2017年上半年以前,TalkingData的AppAnalytics和GameAnalytics两个产品,流式框架使用的是自研的td-etl-framework。该框架降低了开发流式

Python程序员进阶必备:从新手到高手的100个模块

在知乎和CSDN的圈子里,经常看到、听到一些python初学者说,学完基础语法后,不知道该学什么,学了也不知道怎么用,一脸的茫然。近日,CSDN的公众号推送了一篇博客,题目叫做《迷思:Python学到

走近科学,探究阿里闲鱼团队通过数据提升Flutter体验的真相

背景闲鱼客户端的Flutter页面已经服务上亿级用户,因此用户体验尤其重要,完善Flutter性能稳定性监控体系,以便及早发现线上性能问题,也可以作为用户体验提升的衡量标准。那么Flutter的性能到

浙江小学生戴上“金箍”:售价3千5的脑机接口头环,实时监测上课走神,自动报送老师家长

当最新“黑科技”被用在教育上,一件引起热议的怪事就发生了:小学生上课,要带上孙悟空的“金箍”了。这个硬件是一种脑机接口头环,可以检测脑电波,评判学生上课、写作业时是否集中了注意力,并给学生的集中注意力

丰巢刷脸取件被小学生破解,号称3D、深度学习加持的人脸识别究竟靠谱吗?

大数据文摘出品作者:曹培信经费不够,2D来凑?前些天,丰巢智能快递柜被“小学生”用打印照片破解,让人大跌眼镜。据《人民日报》报道,嘉兴上外秀洲外国语学校402班科学小队向都市快报《好奇实验室》报料:他

10后小学生都能教你学编程了!低龄编程的下限在哪?

大数据文摘出品作者:宁静最近,文摘菌经常收到读者留言,说b站上有一个10后小学生在教编程。小学生???教编程???话说文摘菌小学时候还只知道玩儿贪吃蛇……在感叹长江后浪推前浪的同时,文摘菌也赶紧去这位

一位从卖猪肉转行到前端开发小哥的自我救赎

一位曾经卖过猪肉的前端小哥自我救赎之路来自微信公众号:前端巅峰  的交流群真实采访花名:**郑伊健**一、你为什么要给自己取一个郑伊健的花名,有什么特殊含义特殊含义倒是没有,取这个花名,只是因为觉得郑

forEach无法跳出循环的自我理解

最近写代码才偶然发现forEach无法用return跳出循环,有朋友说用break可以跳出,感觉这个解决方案很瞎,试了试确实很瞎!首先break是用在循环体中的,forEach虽然是循环,但是代码写在

从词袋到transfomer,梳理十年Kaggle竞赛,看自然语言处理的变迁史

大数据文摘出品来源:medium编译:LYLM、胡笳自2010年创办以来,Kaggle作为著名的数据科学竞赛平台,一直都是机器学习领域发展趋势的风向标,许多重大突破都在该平台发生,数以千计的从业人员参

基于Go的语义解析开源库FMR,“屠榜”模型外的NLP利器

如何合理地表示语言的内在意义?这是自然语言处理业界中长久以来悬而未决的一个命题。 在2013年分布式词向量表示(DistributedRepresentation)出现之前,one-hot是最常用的

超8千Star,火遍Github的Python反直觉案例集!

大数据文摘授权转载作者:SatwikKansal译者:暮晨Python,是一个设计优美的解释型高级语言,它提供了很多能让程序员感到舒适的功能特性。但有的时候,Python的一些输出结果对于初学者来说似

HPE收购MapR,以Hadoop供应商为首的大数据时代落幕

Hadoop三驾马车之一的MapR陷入困境后终于有了着落,今年5月底MapR宣布由于“业绩极差”将被迫关闭公司,MapR给自己设定寻找资金的最后期限是7月3日,一个月后MapR被HPE收购。8月5日,

基于Go的语义解析开源库FMR,“屠榜”模型外的NLP利器

(由AI科技大本营付费 下载自视觉中国)作者|刘占亮一览群智技术副总裁编辑|Jane出品|AI科技大本营( ID:rgznai100)如何合理地表示语言的内在意义?这是自然语言处理业界中长久以来悬而未

这波技术社区的程序员,技术视野有点堪忧!

前一段时间写了一篇文章《凌晨1点突发致命生产事故,人工多线程来破局!》,只是一篇生产事故的记实文章,没想到在圈内流传甚广,其中有程序员对其中的细节有点疑惑,刚好国庆可以和大家再进一步探讨一下。现在技术

冬虫夏草之技术路线图之一【“技”——技术篇】

作为一名28年证券机构从业经历的老兵,杨松一直在观察和研究IT技术对金融机构的业务重构,以及证券业务变革相关的内容。今天,让我们来看看这位金融业内人士如何利用他28年的行业积累,通过“技”“术”“路”

“我是技术总监,你干嘛总问我技术细节?”

题图:fromZoommy每个周末的午后,把儿子送进EF读书,随后找个环境幽静的咖啡馆坐一会,这便是我一周中最放松的时光。在咖啡厅的气氛和环境这两点上,我似乎有强迫症,比如装修主色调的运用,地上装饰是