哥们别逗 了,写个脚本那真不叫运维自动化!

http://3060674.blog.51cto.com/3050674/1590803git

 

很久没写文章了,最近要来刷下存在感,近两年,运维自动化被炒的火的不行,行业趋势不可挡,如今企业招运维工程师都要求会一门开发语言。咱们公司也不例外,因为刚上市,一会儿有钱了,开始招兵买马瞎折腾,所以最近我也面试了不下十来个求职者,本成想能够很容易招到几个不错的小伙,结果却令我很失望,今天贴几个面试者例子上来,跟你们吐槽下:程序员

 

面试A君:面试

应聘职位:高级系统工程师  , 工资要18K数据库

此君简历写的不错,在360干过几年,简历上写的是维护公司的360网盘平台,管理着2000多台机器,写了不少自动化工具。而后我就让他跟我聊聊他作的自动化工具,哥们娓娓到来跟我讲他写的那些脚本(自动部署、批量命令、日志分析),从他的表情中感受他好像以为他作过的这些东西很牛B(其实都是一堆SHELL+PYTHON拼凑起来的粗糙工具,需求稍一改变就不能知足,脚本的扩展性极差),他说他如今的工做基本上80%都能经过脚本完成,说完后直视我,貌似是等待着个人承认,出于尊重,我只好说那确实不错。接下来我就拿他写过的批量并发执行命令的脚本跟他深刻聊了下,他说这个脚本是Python多线程并发的,1000台机器执行一次批量命令1分钟就能所有完成,我因而让他给我讲讲多线程与多进程的区别,在何时用线程或进程更合适,结果哥们说了不少废话也没有讲明白。而后我又让他用PYTHON多线程给我写个简单的生产者消费者模型,哥们愣是不知道这是啥东西?那我又问,若是你不知道生产者消费者模型是什么,那你的并发异步处理是怎么作的?哥们语塞说没在这方面作过深刻研究,我因而又问了几个其它方面的问题,好比他的Ngnix 日志是如何分析的?自动部署如何跟git结合的?监控报警接口是如何优化才下降误报率的?但回答的都不理想,而后,就没有而后了….。   在这里我只能说,我不是想打击他,若是你只是写了几个脚本就声称本身就是自动化大拿了,未免有点牵强。因此他被PASS掉了,由于我以为把他招过来,真的不会给咱们公司的自动化水平提升多少!api

 

 

 

面试B君:服务器

应聘职位:运维自动化开发工程师,  工资不能低于16Krestful

此君简历上说他擅长PHP\Python开发,在原公司作过运维自动化平台。我很感兴趣,让他讲一下他作的东西,主要是监控平台和CMDB资产数据库,让他着重讲了一下他的监控架构,他说他的项目主要是主动监控方式,就是监控服务器每隔一两分钟去轮巡一次全部的机器的SNMP接口,把各机器的基本系统性能信息抓回来,再经过RRDTOOL出图。他们有500多台机器散落在3个不一样地区的机房,我问他大家这种作主动监控轮巡一次得多少时间?他说1分钟左右,我说若是轮巡过程当中,若是有几台机器连不上怎么办?他说他的轮巡是并发的,连不上的不会影响其它机器的监控,我说可是你的线程池的线程个数是有限的,有几个线程由于机器连不上,那就会产生阻塞直至超时,但在超时以前这几个线程是不会再空闲出来的,所以确定会致使整个轮巡时间的加长呀。哥们想了想说,确实存在这样的问题。而后我问他有没有考虑过用被动监控方式,就是让客户端自动汇报数据呢?他说当时他们也这样想过,可是一想到要在全部的机器上装个客户就以为会增长复杂度,而且维护和管理不容易。我说采用被动模式确实会增长点复杂度,但会给你带来不少好处呀,监控客户端自动给你的服务器汇报数据会大大减小你主监控服务器的负载,而且可监控的东西要多的多呀,你还能够自定义插件,自动升级,而且还能够把监控客户端当作它用,好比自动化部署、任务下发等。多是出于尊重,哥们伪装赞成了个人见解。多线程

 而后我又问他们的项目是几我的开发的,他说算他在内有3我的一块作,我说那大家以前是如何协做的,好比接口互相是如何调用和约定的?他说基本上是每一个人写本身的接口,互相之间约定好如何调用。我问那大家有没有遵循什么标准?好比是统一用http api仍是其它的?接口格式是统一用Json仍是用XML 或其它?哥们说他们有的用JSON、有的用XML。我说大家没有用restful标准吗?哥们表示没听过。。。。。OH,好吧!若是你们开发时都不遵循必定的标准和规范,我真心不知道他们的系统之后如何扩展,不知道这个哥们离职后谁还能看懂他的代码?不知道这种拿一堆随心所意写出来的脚原本拼凑起来的所谓的系统能知足多少实际需求?架构

 

 

面试C君:并发

应聘职位:运维工程师    工资要求11K

 

哥们刚工做不到2年就要11K,真比我当时工做了2年挣的多多了(即便去掉通货膨胀影响),但若是技术好那也没有问题的。结果问了一堆基础问题都答很差,再要这些钱是否有点自不量力了?问他LVS,结果只是配置过,让他讲几种负载调度原理也讲不明白,问他平时怎么管理大量机器,他说用SaltStack 或本身批量写脚本,我问那你用脚本批量管理机器,是经过什么方式呢?他说是用SSH批量密钥登陆,我说那你给我讲讲RSA密钥认证原理吧,他接下说的就是怎么经过ssh-keygen命令,怎么把公钥拷到客户端机器上等怎么实现密钥认证的过程。我打断他说我想听的是原理,不是认证方法,为何须要把public_key拷到客户机上而不是private_key?为何COPY过去后就登陆不须要再输入密码了?结果哥们一点都说不出来,接下来问的一些其它问题也是这样,只知其然,不知其因此然,最后我说,你这种状况咱们给不了11K,若是低点你愿意考虑吗?哥们说不太会考虑,那。。。。好吧,只能打发他走了。

 

 

 

 

其它的一些面试者状况也好不到哪里去,一路十多个面下来,让我很失望,本觉得过了这么多年之后,整个行业的从业素质会提升不少。但结果却仍是老样子,因此你们能够想一想业内你们都在炒的运维自动化到底实际有多水?若是从业人员技术水平都这样,还谈个妹自动化呢?自动化真的是写写脚本,再拿个开源软件拼拼凑凑下就完了吗?在我看来这撑死了只能叫辅助运维,不叫自动化,自动化应该是真正的开始让机器帮你监测问题\发现问题\处理问题\解决问题\自我修复\自我维护\自带干粮,各模块之间尽可能低耦合\可扩展\可插拔。应该是真正能帮企业下降IT运营成本,使运营成本可视化\可测量\可对比,应该是真正能减轻运维人员的工做量而不是又制造一堆新的问题,应该是切合企业真正的实际需求作出来一些好用的工具和平台,而不是搞一些花里胡哨却最后扔在那里没人用的花架子(我本身在这方面就掉进过大坑,以前主导作的一个开源软件就是个失败案例)。 

 

总之最后给个人感受是,会开发的不真正的懂业务逻辑,开发出来的东西没人用,会运维的开发水平又太烂,写出来的代码烂到哭。想找个真正合格的运维自动化人才真是不容易。

 

 

 

我近期一共只面了10多个,确实不能表明全行业水平,有些真正技术牛人估计我也没有碰到,可是10多个样本里面一个合适的都找不到,我以为这也能差很少从侧面说明一个行业的总体平均水平了,这些求职者水平不高,却又想要高工资,我能说这是眼高手低、好高骛远的表现么?打铁还需自身用,若是真想要高工资,请先踏实点把自身技术水平提升,若是真想作架构师,那请把架构技术和思想学好,若是真要作自动化运维,请先把至少一门开发语言学好、学透,不仅是会写个脚本就完了,脚本只是脚本,那不是自动化,So,哥们别再逗了!

 

但愿此文能给业内小伙伴选择职业路径时提供帮助!

 

P.S: 我也不是什么大牛,只不过作好几年运维,作了几年自动化开发,大多数运维人员走过的路我都走过,上面写的这几案例在我本身求职时也发生过,我也是一个从月薪2500一路走过来的屌丝而已,我写这篇文章只是为了表达对这个行业的低质、粗糙、落后的现状吐槽一下,我也是这个行业里的一员,因此全部的问题也有个人一份, SO评论里骂我装逼的人我就不解释了,我这人就这风格,我写的其它文章比这篇可激进多了,So若是某些看官不喜欢,那就let it be 吧。 

 

 

 

补充:其实我上面面的这几我的,我都是能够把他们留下的,只是没有办法给他们期待的工资而已,论运维水平,A君要18K,但我以为他不值这些呀,我最多只能给到15K如下,由于若是我校招一个211学校计算机毕业的研究生也就给11-13就能够了,再培养一年的话,相信运维+开发水平都会比A君强不少!B君也是,一个连开发模式和标准都没搞明白的半调子程序员我能给他10K+就不错了,我如今手下的一个刚本科毕业的学生写出来的东西都比他强,有人说我对求职者要求过高,没有人什么都精通,我固然不要他什么都精通了呀,可是在我看来是一些基础性的、通用性的知识,若是你都不了解的话,在我看来只能算作不合格,不能说我要求高。 

 

 

 

 

下面附上我认为一些很好的问题,我回答了下:

---------------------------------------

问:个人问题不涉及技术原理,就是要问下运维工程师的工资怎么定的,一个熟练使用工具或者说本身写的脚本的人,起码是对运维这块有过多年经验的人,为何不值18k,这类人的定位彻底能够定位于一个能够干活的人,试问一个能够干活的人,怎么就不能值18k。若是招人都执着于原理,能干出活的人少,执着于原理何用,我绝对不是说懂原理的人不会干活。that's all

回复 花花工资hgz:

我很想认真的回答下这个问题,但一会我又要去面试一我的,因此只能简要回答了,我作过5年运维,2年开发到如今,你说的,在我看来,这个要18K的人就跟我最后2年作运维的时候情形是同样的,就是感受本身什么都懂了,实际上是什么都大概懂了,就像一个汽车修理工同样,干了好多年了,感受什么车都会修了,车子出了问题很快就能修好。可是若是这个厂商把车造出来时就有技术缺陷的话,这个他是不会去关注的。由于他只会修车,再深刻的好比说发动机的详细原理他是不知道并不关注的,他只能靠听声音来肯定是否是发动机出了问题。 我以为如今好多工做了多年的运维人员就是这种状况,工做多年也只是变成了熟练的修车工人,而自动化则是尝试改变修车行业的事情,熟练的修车工人不去多关注的话,那我是不看好他接下来的发展前景的,但一旦说到自动化,他若是只是本身闭门造车的话,可能造出来的又只是一个三蹦子,那怎么办呢?  在我看来,若是作运维时间久了,迷茫了,就应该想一想如何提升自动化水平,多跟开发人员多学学开发模式,不要只知足于只是把各类开源软件和脚本拼凑起来就完了,作运维的若是只止步于运维,不去多想一想若是作点创造性的东西的话,那你也就只能是一个运维。

--------------------------

问:是否是有些太矫情,运维最最重要的就是解决各类问题,原理,呵呵...

答:我看到不少相似的评论,以为运维最重要的是能干活,能解决各类问题,那咱们来讨论下什么叫能干活?什么叫能解决各类问题? 把把各类服务配置好、业务运行稳定不出问题算不算能干活?固然算!可是你是花了多少的成本和代价让业务运行稳定了?这个问题你本身有没有衡量过? 我买一堆F5,一堆豪华服务器让厂商把东西都给我配置好,出了稳定找厂商帮解决,这算不算能干活?一个优秀的运维人员能把负责的整个业务以最小的代价和成本管理的层次分明并努力尝试整个公司的IT管理环境,一个普通的运维会认为他也作到了这一点,可是是否真的作到了呢?谁知道呢?毕竟他本身相信了。

再说能解决各类问题,什么叫能解决各类问题?我相信大多数的运维人员所谓的解决问题就是处理各类故障,但不怎么涉及优化,尤为是业务级的、代码级的优化,运维一般只关注CPU、内存、负载是否太高,但业务很是慢怎么办?加CDN?加负载?加完后若是仍是慢怎么办?若是确实是由于代码写的很差致使慢怎么办?想过没有?固然你能够说这他妈哪是运维的问题,这是开发写的代码烂致使的问题, 可是若是你能告诉开发是他的哪块代码的调用可能致使了业务变慢的话,是否能更凸显你的价值呢?固然若是只去解决一些常规问题也无可厚非呀,但那就不要老想着拿过高的工资了吧!

附赠在群里看网友讨论看到的一段不错的话:

 ----北京-菜菜左 2014/12/17 12:12:07
建议搞运维的仍是要把计算机体系的基础知识打牢,万丈高楼平地起,基础很重要。看似没用只是由于你没学,因此你不知道学了是啥样。别人都说不重要只是由于你们都说不重要,也反映了运维行业的浮躁。不跟风不盲从,不迷信权威不吹水忽悠,走本身的路,不忘初心。这些话可能反对的人不少,就当我吹水吧。 

 

------------------------

问:文人相轻,作技术的也不免落入这个俗套,老是提一些别人回答不出的问题来显示本身的牛逼,忘了本身当初是个啥熊样,一我的的技术水平就凭你简单的问问就能作出答案,我服了你。

答:你本身想一想,我问的那些问题是很是规问题么?这是基础问题,任何一个正经干过几年运维或运维开发都须要知道的问题!他答不上来不是我为难他,是他自己技术功底不扎实,一我的的技术水平不能经过面试面出来的话?那还要面试干个蛋用?

 

-------------------------------

问:你怎么就只看到人家缺点 ,就没有看到人家优势。你作的那软件也那么渣渣 ,你都好意思拿出来说。作为面试者 你只见不得人家比你优秀。面了这么多人 不想一想是否本身是否有问题!

答:这个看官提到我作的软件是个渣渣,这个我认可呀,我就是作过一个失败的开源软件呀,我在博文里也说了呀,因此我才吸收了教训之后不能只作表面功夫呀,可是我面试的这些人多跟我以前同样呀,拼拼凑凑搞个花架子出来了就叫作自动化,看着好看但解决不了什么实际问题。写个脚本就说本身提升了企业生产力。我为何要招这样的人?你可能以为没有一我的一开始就很牛B,须要培养,我以为没问题呀,能够培养呀,但既然是让我培养你,就请你不要想着即拿比你实际能力高不少的工资,又不想让我揭穿你了吧。

 

 

---------------------------------

问:做为招聘者,你并无从一个管理者的角度出发,认为本身只是一个干活的,不是管理者。并且你面试了十几个,竟是没发现一个合适的。好好想一想是否是本身的问题?

答:我跟你保证,我没问题!面试十几个都没有合适的就表明我有问题了?为何不能是从业人员广泛水平不高呢?你这简直就是千夫所指,无疾而终的调调!

 

------------------------

问:其实楼主写这篇文章说白了仍是装13用的,本身都搞不清楚什么是自动化,真正的自动化是什么含义,什么样的环境适合什么样的技术,张口就自动化,上万台机器,显得很牛B似的,说白了,哄哄那些刚毕业的小弟还能凑乎,懂行的人一看这就是在给本身吹吹牛B而已。技术是在环境和场景下出来的,一个公司什么样的规模基本决定了什么样的技术实力,不是天天喊喊口号你就能涨起来的,以前也看过楼主的开源软件,号称自动化工具,说白了也就是个脚本集成工具而已,再加点页面展现,这有何难,你的就叫自动化了?别人的就不是了? 只能说太你吗自恋了

答:你这种评论我平时都懒的回,今天心情大好,回一下!

 

------------------------------

问:有要求能够,不过你认为要求一个运维人员,即熟练安装配置管理开源,集群管理工具,又熟练说出各类基础原理,还要熟练编写监控脚本,却只值18K?开玩笑~如今一个熟练的快递员都是10K的时代。一个工做3年的金融工做者都是20K的时代。
你的要求不算高,但起码工资给高些,会有人来的。

 

答:一个工做3年的金融从业者是20K,这个确实很多,但哥们,我本身曾在牛B的金融公司干过,而且我能够告诉你,他们不少的时候拿的比这个多多了,可是人家都是名校毕业,都是高知呀,作运维的若是连开发的东西都不会一些,只会各类照文档配置配置还敢要18K?在我看来这就是一个熟练工,一你没有名校学历,而你作的事情也没人家有技术含量,还敢要18K,脑子是否是烧坏了?我发现如今有太多的作运维的,看着整个行业工资不断上涨,也跟着蚍蜉撼树起来,我听过N多什么一跳槽就翻倍,就20多K了,就年薪40万了,本身也跟着开始漫天要价。你要价能够呀,但你得真有两把刷子,你要了18K,就请对的住 这18K的工资。

相关文章
相关标签/搜索