最近看到一个新闻,一名网络工程师跟运维工程师聊天,最后因为月薪问题吵起来了,网络工程师骂运维工程师就是个low逼,拿着互联网人的工资,干着网管的活,场景非常难看。
其实在我看来,严格意义讲这两个岗位之间没有什么高下之分,只是分工不同。
但在不可否认的是,这个圈子里有个鄙视链是一直存在的。开发看不起运维,运维看不起实施。
说到底是按照技术深度来的,讲道理也是开发的技术能力会挖得深一点,如果对技术兴趣和能力足够,尽量多考虑做开发吧。当然不是说其他的就比开发差,只是会更早触碰到瓶颈。
原因一:运维找不到方向
因为大多数运维找不到正确的方向,所以技术很low
究其原因,主要还是开发和运维算是两个完全不一样的科技树。
在国内环境下,开发方向的大学专业教育和社会上提供的培训,已经非常完整。而运维,非常欠缺。大学里几乎可以说是没有真正的运维专业的,所以大多数的运维都是靠自学或者一些培训机构,这也就导致了方向的错误,没有正确的方向,往往浪费大量的精力而且技术提升缓慢。
另外还有基础知识方面,运维其实很需要扎实的基础的,但是这块往往大多数运维人员都很欠缺,因为大学不会提供这方面的教育,社会上的培训也大多数是急功近利,所以导致基础很不牢固,也就决定了发展的上限。
最后,运维人员的数量也是远远小于开发的,在很多公司,你可以看到几十个开发,但是运维可能就几个人,所以遇到大神的几率就非常小了
原因二:运维设计面太广
运维的涉及面太广了,网络、系统、云,都需要了解。
有时候为了高效运维还得写点脚本啥的SHELL、PYTHON之类
可能不同于程序员的复杂大项目,运维只需要能实现一些功能就可以。
一个开发可以完全不懂网络知识,甚至都不需要知道子网划分,因为有网工搞这些。也不需要知道服务器、存储方面的知识。
牛逼的咱不讲,就讲平常一线的开发和运维。
开发面对的是BUG和新需求,很多事本地测试或者给你一台测试机,你就只管使劲造到掉头发就可以了。
而运维基本是直面线上环境,脑子不被自己误操作懵个几次都不好意思说自己是运维。
有时候就想着,多来点全新的需求,不怕犯错,无非就是个体力活,安心得很。
你说这事你的那部分已经做完了,我说这东西不管用,不是线上环境或服务器的问题,要不咱把网工弄来一起讨论?
运维在线上环境的权限上一定要尽量做到极致,出一次事从记过到开除到坐牢都是有可能的。
你以为删库跑路的是DBA? 不,其实是运维。
你以为运维整天吊儿郎当正事不干就会抖脚? 来活的时候都是“新活”,每一次都是“应急”,而且绝不能出错,心理素质不好是要崩溃的。
运维做的事就是等活,然后瞬间调动自己,短时间内判断和修复,还要沟通客户和开发,协调程序员、网工、数据库管理员以及设备厂商。
传统运维还得常年待在机房,7*24的待命,出去约个妹还得带着笔记本,装好VPN。
大家分工不同而已,何必相互为难。
开发管的是掉头发和爆肝
运维负责炸毛和挨叼背锅
大家都不容易,打工人何苦为难打工人?
网友评论