当前位置: 首页 > 科技观察

阿里的10年:一个普通技术人的成长之路

时间:2023-03-19 14:08:27 科技观察

不管是什么角色,成长都是我们每个人都必须经历的过程。作为一个技术人,成长不仅仅是技术的不断提升,还包括日常工作的方方面面。本文分享了阿里巴巴高级技术专家在阿里巴巴的10年成长之路,分享了他从一个普通技术人做起,从晋升、转岗、团队领导、工作等方面的经验和感悟,以及他在阿里巴巴的三个阶段.一、关于我宋健,昵称宋仪,2008年入职,专注运维领域12年多。2010年6月加入支付宝,从事监控、SRE、资源管理、运维产品等工作,经历并参与了支付宝运维从脚本化到工具化再到自动化、智能化的演进过程。在阿里10年按部门变动分为三个阶段:2010.6-2013.1,支付宝(系统运维部)2013.2-2015.12,技术支持(支付宝、阿里云、淘宝统一运维部后新BU、B2B等)2016.1-至今,天机(负责阿里全球数据中心和运维体系的“数字化、自动化、智能化”建设)二.我的心得1.支付宝关键词:开源监控,值班监控,应急响应我入职后加入的团队是运维部的监控当时团队刚刚开始组建,一切从开始划痕。好在有B2B兄弟团队可以借鉴经验,使用nagios快速搭建支付宝第一代监控系统。几个月后,因为双11,我们的工作地点从华兴时代搬到了中国电信二枢纽机房,因为当时支付宝的核心机房就在那里,我们需要现场7*24快速处理突发事件。届时,组里应该有6个学生,一个白班,一个夜班,一个平班。我们在值班期间维护了监控系统。随着业务的快速发展,服务器数量不断增加,很快一台nagios已经不能满足需求。经查,引入centreon解决nagios水平扩展问题。监控项的添加和维护主要是基于编辑nagios配置文件。没办法全人员开。因此,监控组还负责监控项目的维护。PE和DBA只需要整理需求,发邮件即可。但是,新业务和扩容的频率越来越高,每天编辑文件接受监控要求需要花费大量时间,经常出错。与需求方协商后,确定了针对不同业务组件设置监控模板的方案,然后想办法自动获取。对于服务器信息,当时没有专门的CMDB,后来终于实现了新机器上线时自动匹配模板添加监控告警。重要警报通过短信发送。报警短信需要和网上业务短信分开,避免相互影响,所以我们购买了几十台短信调制解调器,学习了如何通过服务器控制短信调制解调器发送短信。使用短信调制解调器接收短信以关闭警报的能力已经发展。这种情况持续了一年左右,逐渐趋于稳定。积累经验后,我们开始尝试引入外包值班,然后开始招收和培训外包学员,制定值班和应急标准,建立相应的流程体系。外包职责又持续了一年。由于监控可以看到所有业务数据,出于安全考虑,进行了外包。目前,监督职责的作用依然存在。办公室设在西溪全球运营指挥中心。有专门的办公室和访问控制。里面有各种炫酷的大屏幕。整个经济体的业务都由他们7*24小时守护着。这两年来,我马不停蹄地做事,不断地遇到问题和解决问题,遇山遇水架桥。2、技术支持关键词:统一监控、OD分离、资源管理。2013年,我的部门从支付宝调整到集团。加入集团后,我参与的第一个项目就是集团的统一监控系统。原来淘宝、支付宝、阿里云、B2B等商家都建立了自己的监控团队和系统。组织层级统一后,系统必须整合。新的集成系统称为alimonitor。当时的项目负责人是运维开发团队。我参与的时候项目已经开始,我是唯一一个监督团队的人。这也是我第一次参与大型的跨团队项目。因为刚适应组,和其他成员不熟悉,所以和大家配合起来很困难,但我还是积极参与项目,每天去开发组参加晨会,直到有一次我在晨会上气得哭了。但奇迹是,从那天开始,合作变得非常顺利,再也感受不到隔阂的存在。该项目历时近一年,并顺利启动。通过这个项目,我和开发组的同学们建立了良好的信任关系,对后续的工作有很大的帮助。开发团队负责集团所有的运维工具,除了alimonitor,还包括staragent、armory、aone等。有一段时间,这些工具经常出故障,甚至在双十一、双十二的关键时刻掉链子。后来业务组调了一位学长带队,并启动了运维工具的OD分离项目。应用完成了OD分离的标准化改造,解决了工具的稳定性问题。由于每个工具负责运维的一部分,所有工具承载的业务共同构成了集团的工具运维体系。这段经历让我对运维业务有了更全面、更深入的了解。工具PE稳定后,又接到了一份工作。我负责整个集团开发测试环境的资源管理。当时测试环境中有几万台服务器,但谁也不知道有哪些机器在用,谁在用。预算中增加了数千台物理机,成本浪费非常严重。我接手后,首先搭建了一个资源生命周期管理系统,所有新资源的申请都通过这个系统,对已有资源发起盘点和认领。所有资源都设置了有效期,到期后可以续费或释放。定期检查资源使用情况,结合停机恢复、减少闲置等运营策略,最终将测试资源盘点一清二楚。不仅年度预算0新增,双十期间还将回收上千台物理机,临时支持生产环境。后来,我继续尝试通过混科提高考试资源的利用率。在考察了多种方案后,我选择了与jstorm团队合作。但上线后jstorm任务经常占用测试机资源,影响业务的日常测试引发投诉。当时,技术限制最终没能继续推进。从参与跨团队项目到负责跨团队项目,再到做产品解决业务问题,这是我成长最快的两年。3、空间关键词:StarAgent、Argus、云监控。2016年初调入产品技术组,从事StarAgent的工作。SA是一个非常重要的基础产品,其核心功能是命令通道。几乎所有的服务器运行场景都强烈依赖它。但在过去,SA的表现并不好。很长一段时间,只有一半的人在兼职。我当时的想法也比较简单,就是想改变这种情况。我觉得产品不被重视的原因是命令功能过于单一,商业价值需要结合场景才能体现出来。所以首先要做的就是Portal,把SA从后台提升到前台。第一个功能是插件平台,为全网提供发布能力。发布的对象可以是各种运维脚本或代理。并且会自动安装新的扩展服务器。这样做的目的是为了打通SA最大的优势,全网覆盖的能力,让上层系统可以将更多的执行逻辑委托给机器,而不是转化为频繁调用SA的命令。插件平台的主要用户群体是各类业务运维系统,但一线开发运维人员往往需要登录服务器执行命令。为了覆盖这部分用户,推出了第二个功能WEB端。又可分为单机交互操作和多机批量操作,所以WEB端分为交互端和批量端两个子功能。WEB端在保证安全的前提下,解决了人工操作服务器的效率问题。插件平台统一了整个网络类型变更入口后,我们也看到全网代理越来越多,每台服务器有N个运维代理。对于代理集成项目,统一的新代理称为Argus。完成集团内代理整合后,继续向公有云迈进。目前公有云外部客户使用的监控代理和阿里巴巴内部使用的是同一套代码。Argus完成集团内多套监控系统的代理统一后,进一步分析会发现,所有监控系统的采集实现方式都是相似的。Argus的上游是配置,下游是通道。配置、采集、通道的结合是标准的数据采集,所以我们和alimonitor团队合作,复用现有的配置和通道能力,搭建一个覆盖全网的通用数据采集平台。随着自己在监控领域越来越深入,后来干脆专注于监控场景,把所有SA的事情都交给了。目前主要职责是为业务上云提供一站式监控解决方案,包括云资源监控、Host监控、服务监控、链路监控等。从事产品多年,但深入的产品没有达到我的期望。我觉得主要问题是过于关注产品技术本身,没有以商业价值为驱动,导致无法获得持续的资源投入。我将这三个阶段概括为三个词:做事-->做项目-->做产品。做事、做项目的重点是“把事情做对”。不同之处在于项目有一个额外的协作层。做产品的重点是“做正确的事”。不仅要关注当前的结果,更重要的是如何延续到未来。3、我的成长是“愚蠢天真,凶猛执着”。我想这句话可以形容我为人处事的风格。在为人处事方面,我会默认信任每一个人。在做事方面,因为我笨,所以我会比别人更努力。这些年来,我始终坚持一个领域,投入的时间和精力都比别人多。在经历了一次次的失败后,我不断地从经验和教训中学习成长自己。期间有好几次想退却。在最困难的时候,我总能想起一句有力的阿里话来安慰自己。1、关于升职互联网行业在招聘人的时候,经常有一句话把职位比作阿里的P,这足以说明阿里级别的重要性,所以升职对每个人来说都是非常重要的。但是当我们非常强调排名时,它也会带来问题。排名已经成为每个人的第一标签。合作时,我们首先看你的级别,而不是你负责什么。做事首先想到的是推广而不是价值。今年公司在这方面做出了调整,包括隐藏职级等,希望能让我们回归到以事物的价值和成就感来驱动自己。10年前加入支付宝时,我的级别是P4。到现在为止,我一共防御了8次,平均每2次防御成功1次。不过从P7晋升到P8用了5年3次卫冕……每次晋级失败后最难的就是调整自己的心态。我觉得我受到了不公平的对待。评委不客观,不理解我的所作所为,只能看到我的不足。如果这种想法持续太久,肯定会影响到我。如何调整?我的方法是先把我的想法摆正。我相信公司信任评委。公司一定希望为每个学生匹配到最合适的评委。评委主观上也要客观,不会刻意针对某个人。然后从自己找原因,评委的反馈是什么?为什么评委们会有这种感觉?没有表达清楚还是没有想清楚?失败的原因可以简单概括为两个方面:能力没有做到,包括软技能和硬技能。运气不好,对不上评委的气场。能力原因可以因人而异,但首先要认清自己的不足。技术上、业务上、表达上有什么问题?仔细阅读并理解评委的反馈。有时候反馈可能不是那么直接,比如未来展望不够有趣是因为你看不到你负责的业务的未来。你有没有想过企业的未来?多跟主管聊聊,主管肯定愿意帮你找问题。我觉得在20分钟之内向几个不熟悉的评委解释我一年、几年的所作所为,让他们充分认识和理解,不是件容易的事。运气方面,我个人能做的就是明年再战。多试了几次,运气还算不错。每个人都有需要提高的地方,成长是无止境的。只有在找不到或者不明白的时候,才可以简单地把原因归结为运气,这样才能调整好自己的心态。问题会逐渐明朗。这期间,上司需要给予更多的安慰和鼓励。2.近10年,我只正式换过一次工作,但想过很多次换工作,印象最深的那3次:第一次是入职两年后,大概2012年年中,第一次觉得自己遇到了瓶颈,现有的东西无法突破,就去找主管谈,主管也觉得我需要做更多的事情具有挑战性的。了解思路后,他也主动帮我找了团队,然后组建团队准备流程。当时有一次组织调整,支付宝整个运维部并入集团新成立的BU技术支持,事情也随之发生了变化。挑战在于拥抱变化,放弃工作调动。第二次是2015年底,当时集团de-PE,技术支持的庞大PE团队拆分到各个业务条线。我负责的tool&testPEteam也进行了拆分和调整,但对调整后的东西了解不多。很感兴趣。做了几年PE,感觉运维最大的挑战就是工具。想了半天,决定调到产品技术部负责运维工具。我选的产品是StarAgent,BU没变。第三次是2019年年底,SA做了将近四年,连续两次晋级失败,在我的带领下,SA从一个单纯的指挥通道升级为主机管理平台,成为所有人的平台运维系统和人事管理服务器。第一个入口。我觉得我已经尽力了,但我仍然不知道如何突破,我很迷茫。后来在上司的帮助下,我终于明白,自己一直在思考如何把事情做好,却很少去思考自己做的是不是对的事情,这让我越来越累。和主管商量后,调整了职责,专注做一件事,其他的事情都交给了。转岗的目的还是为了解决问题。每当你有跳槽的想法时,你应该先和主管谈谈,必要时也可以和主管或HRG的主管谈谈。不要担心如果你谈论它,你会被“贴上标签”。诚实沟通。主管肯定也想帮助你,但他可能没有意识到问题所在。问题只能在讨论清楚后才能解决。事实上,在没有沟通避免的情况下,找到一个新的团队更好。个人成长在当前团队有限,看不到当前业务的前景。如果沟通后确实遇到了这些问题,那么就需要转岗了。但除了协作或沟通等其他问题,你还需要慎重考虑。更换团队的成本非常高,与新主管和新成员建立信任需要时间。目前解决不了的问题很可能会在另一个地方遇到,新的团队也会带来新的问题甚至更多的问题。3、我做事的时候也经常看书,听听别人的分享。要学的方法论太多了,但每次看,听,都无所事事。最后还是走了很多弯路,碰壁了很多次,才慢慢的吸收形成了自己的方法。我的经历可以用两句话来概括。“天下易经”是一回事。“做全球第一的技术驱动的商业基础设施服务商”也是一回事。“统一云端和云端的监控数据采集技术”也是一回事。每个人每天都在做事。为什么有的人做的好,有的人做的不好?我认为看看他们所做的事情之间是否存在联系非常重要。做好的事情应该是:每天做的是每个月做的一件事,每个月做的是本季度做的一件事,每个季度做的是今年做的一件事。当您建立关系并构成更大的事物时,您所做的所有事情都有意义。一天一件事情的高度和一个月一件事情的高度是不一样的,还有复杂程度和解决它所需要的时间。每件事都应该做,每一个问题都应该解决,但我们的时间和精力是有限的。判断一件事情该不该做的依据是看它能不能成为你的月度、季度或者年度。如果可以,制定一个计划去做,否则就意味着这件事情不应该由你来做。99%和1%一个事物可以分为两部分:99%和1%。大多数时候,我们认为达到99%就可以了。付出的代价比之前的都高。你想做吗?我认为我们应该尽可能地向前推进,因为我们越深入,我们就越有竞争力。至于最后是5个9还是6个9,就要看跟行业的关系了。距离。99%必须完成,1%需要突破,深度和壁垒往往体现在最后的1%。每完成一件事提高0.01%也是一个突破,0.01%100次就是1%。但是如果每次做到99%就停下来,那我们和流水线上的工人就没有本质区别了。我们都在重复做事情,只是重复的事情不一样。完成一件相关的事情让自己成为服务,避免完成一件不相关的事情让自己成为资源。1%体现业务的广度,1%体现技术的深度。规划需要业务广度,落地需要技术深度。两者结合才能保证你做的事情的正确性和竞争力。4、带团队的目的是做事,但一个人变成多人,多人做一件事情接近100%。对于团队负责人,我可以用三句话概括最重要的事情:明确定义团队的一件事,一件事是团队的目标。团队的目标必须是长期的。最好先想清楚几年后会是什么样子,推导出一年的目标,然后拆解完成目标涉及的技术领域,最后确定季度或月度的目标和负责人每个领域。我是2014年开始带团队的,虽然每年都在做计划,但是早年主要还是以listing为主。每一份报告都得到了老板的认可。直到过去两年我才明白这一点。回顾这几年,带领团队更像是一个PM,不断为产品创造新的特性,却缺乏上线后的长期演进计划,导致支持工作越来越多,工作越来越辛苦对于团队成员来说,缺乏产品的深度也缺乏竞争力。在老板和其他团队的眼里,他们只是把我们当成资源,只要支持业务的需要就行。当业务方不向老板抱怨时,他们就不愿意再投资。队员们看不到希望就会想转会。调动后,没有新的工作。工作人员补充说,大家要做的事情越来越多。为了不让大家这么辛苦,他还负责答疑解惑,做各种日常事务,最终让团队陷入恶性循环。这次经历让我真正明白了一句话:“用战术上的勤奋来掩盖战略上的懒惰”。让更多的人加入进来做这件事情。想要把事情做的更好,肯定需要更多优秀的学员加入。同时,每支球队都会有人员流动,所以第二重要的是保证球队不断有新鲜血液。加入。一开始,领导团队通常是通过组织调整。最初几年,我没有招人的想法。缺人的时候,我找老板要人。后来,我逐渐意识到,我是在完成自己的目标,而不是帮助老板带领团队,这才意识到招聘对团队的重要性。至于招聘策略,我会倾向于多校招聘,只有少数专业人才需要社会招聘。校招最难的是第一年,因为第二年这些学生可以推荐后辈,基本上每年都不会中断。第一年如何招人?如果实在找不到更好的渠道,内部公共海池是个不错的选择,总能筛选出一些优秀的学员。如果学校每年都招新生,新生就变成了老同学,人才梯队自然而然就建立起来了。随着团队成员越来越多,管理问题就会暴露出来。我觉得做管理最重要的就是让每个学生知道自己的月度、季度、年度是什么,然后定期和他们沟通,了解在实现目标的过程中遇到的问题并给予帮助和建议,让学生知道自己努力的方向。与更多的团队合作,形成更大的东西。BU的一件事,是通过BU内部多个部门的协作来实现的。部门的一件事情,需要部门内多个团队的合作才能完成。重点项目基本多。团队齐心协力,一个团队的力量总是有限的。另一方面,这些年我大部分时间都是一个人在工作,负责独立的业务。好处是我有比较大的自主空间,不需要靠别人来判断人的脸色。但是,此类企业通常不在主干道上。是有限的。在这方面,我觉得我现在做的还不够好,我还有小农的意识。我需要继续加强与兄弟团队的合作,一起做一件更有价值的事情。4.总结我在阿里度过的最好的10年。我觉得很幸运。公司的同事都很有智慧。我继续与优秀的同事一起工作。我的认知和行为也受到影响并逐渐改变和改善。在过去的十年里,我得到了很多同事的帮助。感谢每一位帮助过我的同学,也感谢担任过导师和团队的朋友们。因为有你们对我的包容和支持,我才有了今天。今年我充满信心和期待!