给1到10年运维人的修仙指南
今天跟大家分享一下运维人的职业生涯发展和相应的软硬技能提升,议题分为两个部分,第一是运维工程师成长的烦恼,第二是怎么走好自己的运维之路。 一、运维工程师成长的烦恼 第一部分里,根据我自己长时间的工作经验,把运维工程师按照工龄做了一些年限上的划分,比如任职三年、五年、八年……处于不同阶段,运维人也呈现出相当不同的状态。 1-3年:有技术的逗逼 (1)随性工程师 在工作时间内,一般是比较随性的工程师,做一天和尚撞一天钟,我也亲身经历过此阶段。这时候还没有什么责任心,不会有过多的想法,只负责去执行,而不做过多的思考。与工作时间内的“被动思维”呼应的是,下班之后夜生活比较丰富,撩妹、抖音、打游戏等。 (2)做技术容易“管中窥豹” 什么概念呢?一到三年的运维人大部分靠度娘,例如Nginx配置最大连接数只知道上网获取65535相关的配置,但是配置背后的原因和原理,他们不知道也不甚关心。至于各种一些文章里的配图,更不会做深入研究。 (3)工作态度积极,冲劲足 我曾接带过一个实习运维工程师:3月份入职,9月份离职。初来乍到特别散漫,做事只应付我们的基本期待。后来接受了一些思想指导,小伙子工作突然很有冲劲;他所做的事情,包括日报、周报内容的撰写,表现得判若两人。2015年4月份的22个工作日,他加班22天,天天至凌晨两三点。期间技能也得到了极大提升:比如让他测试集群的性能,积极去做之外,也会认真思考为什么去做这件事情;对新技术进行研究,思考怎么样把它快速地掌握。 (4)事务型人才 最后,我把各个行业的小朋友都称为事务型人才,顾名思义,只需要把事情做好,达到公司的业务目的即可。“顾头不顾尾”也是一种常态,我指导过一名90后的运维工程师,他做代码发布,只管发上去,无视后期事态,比如是否发布成功、业务是否可以访问等。 3-5年专业资深人士 (1)技术提升 技术的确得到一定的提升,这是生存规律。初入公司,一张白纸,为了掌握了解公司的业务,你会去学习,否则就只能被淘汰。 (2)“跳槽”惯性 技术提高以后,会陷入“跳槽”惯性。上面提到的2015年3月份到我这边的运维工程师,刚入职时转正5K,9月份离职去大麦网以后薪资一下到13K,的确这时候跳槽提升得很快。但是容易迷茫,如果频繁跳槽,发现好像跳到这家公司和那家去差不多,到底应该怎样去做,就不明晰了。这时候,我们运维的技术方向就发生变化了,基础架构运维和开发型运维开始分化,其中DevOps会更多一些,一些运维工程师会产生迷茫,到底是去做什么。我所认识的一些人做到五年左右,基础架构运维的事情还没有非常深入的时候,就去做了DevOps,发现原有的开源组件并不能用得很好,给公司以及个人的发展带来了一定的风险。 (3)技术能力与高薪预期的“错位” 技术能力提升减缓与高薪预期的“错位”,这一阶段的中级运维或高级运维都容易自傲。我面试的运维人有跟我同龄的,还有比我大的,他们中有些人技术知识还停留在五年前,却因为自己从事这方面有一定时间了,产生高薪的期望。这就造成错位,高薪期待和实际能力不匹配。 (4)事务型和思考型人才 3-5年运维人属于事务型和思考型人才,身为中级或再高一级的运维工程师,大部分人还是处于被领导的状态。有经验和学习能力加持,他们会思考什么是该掌握的东西,不过思考的强度往往还不够。 (5)缺乏总结跟复盘 最后,缺乏总结跟复盘。我相信运维人面对新的技术,或者做一些测试的时候,都会做笔记。那为什么还缺乏总结?很多时候笔记就只是一本笔记,并没有回翻笔记来复习,更不会及时更新笔记内容和分类。 5-8年:运维经理,至少运维主管 5-8年的运维人基本上是运维经理,至少是运维主管。但是,很多运维工程师是凭着技术能力和工作年限成为运维经理的,这中间要面对一个从技术到管理的跳跃,所以存在较多问题等待适应和解决。 (1)找不到自己的定位 升任到运维经理后,很多事情还是自己承担,导致团队里的其他兄弟分担任务很少,进步很慢,长远来看也不利于整个团队的发展。 (2)团队意识薄弱 不会带团队,不懂得利用团队的力量来满足公司的业务需要,还是做原来的角色。 (3)对管理角色的认知出现偏差 身份转变来得突然,面对新角色不适应,比如开始摆架子,趾高气昂,指使别人做这个做那个。另外,不习惯处理管理类事务,比如某一公司的业务在机房的哥们先是运维工程师,被提到了IT主管。每天都要做报表,他会觉得太烦了,宁可不做,想回去继续做一个运维工程师。 (4)思考与事务占比相对来说会更均衡 做了运维经理以后,你更多的时候要思考的是怎么让自己的运维更加有效率,怎么让公司形成这种标准化、规范化的运维体系以及运维技术体系。所以这时候,作为一个领导者,可能既要处理团队里疑难的技术问题,同时还要去规范运维体系。 (5)运维技术容易达到瓶颈期 公司里面处理线上事务特别多的时候,对于一个运维经理来讲,时间、精力用来补足管理,很少能进行技术知识的更新,所以技术知识往往就会停留在那个阶段。但是在做技术的圈子里有个特别好玩的现象,底下的普通员工如果要服你,就要看你的技术能力是否够强。技术能力不强,即使你的管理能力很强,下面的兄弟也不认你。 我遇上好多这样的情况。有一位运维工程师朋友认为自己经理的技术能力不强,瞎指挥。但纵然这位经理技不如人,他可以把一些任务安排有时间节点地完成,而且保证一定的质量,这就是懂得管理。而我认识的这个朋友,虽然他也做了八九年了,却始终是一个普通的基层技术人员,做不上管理岗。 8-10年:运维总监/运维架构师 8-10年的运维人,已达运维总监/运维架构师层次。这时候技术经验和管理经验都已经非常丰富,加上做了运维总监或运维架构师,他们都有比较好的职业习惯。 (1)知识陈旧 因为他们不再做一线的运维了,问题交给团队的人处理,自己只会给一个思路。比如说:不管做DBA还是做运维的,他们对听过的名词都熟得不能再熟,但就是做不到毫秒级的故障切换。不久有人来问我,你们是怎么能做到毫秒级故障切换的?我回答说我们对于技术的领域是一直更新的,Failover用的最多的还是Keepalived,Keepalived官方已经给了答案。另外做技术是我的兴趣,做管理是我的工作。 (2)学习能力下降 (编辑:ASP站长网) |