我发现中国的IT市场有个很独特的现象,只要某个技术方向存在蓝海,就会有一大批的培训机构涌入。然后培训机构开始批量生产这个技术方向的从业者,过不了几年,当供大于求,这个方向就卷麻了。

我2020年入坑网络安全,起初是为了实现自己小时候做黑客的理想,并打算在这个行业长期发展。但是没想到短短3年,网络安全就卷上天了。
网络安全的市场本来就小,岗位不多,利润也不大,甚至头部厂商的利润还不如王者荣耀卖皮肤的钱。但是只要是个培训机构,基本上都有网络安全这个方向的课程。

我入坑网络安全三年,发现网络安全其实是最看天赋的一个方向了。要想攻防能力出众,你必须知道如何挖掘漏洞。Web方向的代码审计,软件安全方向的逆向工程,主机安全的系统内核和恶意代码分析,还有移动端安卓和IOS安全,随便哪个方向都够喝好大一壶的。掌握了这些知识还并不代表你能够有产出,,那些绕过防御措施的骚姿势,,资质平平的人真很难想出来。但是即使掌握了这些东西,也只有少数头部公司的安全研究部门才有招聘需求。然而大部分安全从业者都是脚本小子,他们就只会黑盒测试一些Web系统,而且测试的漏洞都是非常简单且老掉牙的OWASP TOP10漏洞。渗透能力全靠Github上其他安全研究员公开的漏洞利用代码。

有时候想想,觉得网络安全真没意思。费好大劲学好安全技术,花好大劲审计出来的0day漏洞,报告后过几天就被修复了,自此之后,这个漏洞就不再有价值。而且要审计0day漏洞,你也得像程序员那样掌握编程。甚至很多时候,你还要比程序员更熟悉这门编程语言的特性。网络安全工作就像是打猎一样,,你跑遍漫山遍野,却没有发现任何猎物。也就是说你辛苦半天,到头来极大可能没有审计或测试出来漏洞。这种感觉太难受了。有那个精力,为什么不去当个程序员去做建设。程序员需求大,薪水也很容易就超过网安了。

我自认为自己搞网安天赋平平,很难做到头部大佬的级别。所以,这些天一直在想自己的出路。思来想去,最终我把目标定在了运维方向。

我认为只要一个公司的业务还在盈利,还在正常运转,就一定是需要运维去保障的。运维是一个非常古老的方向了,却也经历过很多次技术的变革。自动化,容器和云技术的出现,使运维不再是一个苦哈哈的岗位了。普通人一提起运维,首先想到的就是7x24小时值守。其实现在由于云计算的发展,很多公司都上云了,并不需要去值守。你只需要保持电话畅通,出事能找到人就行了。至于是否电话打过来,完全取决于你的工作做的如何,你工作做的越好,业务就越稳定。由于自动化技术的发展,运维也不再是苦力。通过我的了解,那些掌握了K8S的运维,薪资并不比同级别的开发低。

开发对于企业来讲,是研发部门。当公司效益不好,首先会节衣缩食,减少研发的投入,之前的研发部门就会被大量裁员。但运维则比研发好很多。只要业务还在正常运转,运维还是比较稳的。

通过这两个月学习运维,我发现运维并没有什么难的,也难怪很多开发看不起运维。很多时候,都是照着文档操作执行命令就行了,甚至不用过脑子。

运维中涉及的shell编程和ansible,也没啥难度,这些脚本语言并没有面向对象的概念,大多数时候,你只需按照部署服务的流程,按照顺序把命令依次写进脚本就行,配合简单的循环和判断即可。用到的循环和判断,也是非常简单的,也不需要你去考虑异常的处理。

通过对运维的学习,我发现运维的壁垒并不高。也难怪很多大专学历的运维也能找到工作,甚至还听说有高中学历入行运维的。相比起Java,,面试各种八股文,框架源码实现,运维感觉还是挺简单的。

总的来说,我眼中的运维还是比较稳的。但除了稳,由于其壁垒不高,因此薪水也不太行。

我想,运维和开发结合起来也许是一个很好的方向。传统的开发不懂运维,传统的运维不懂开发。按照谷歌SRE运维的理念,谷歌SRE运维部门的组成就是由研发人员组成的,技术栈则是一半的运维,一半的开发。

总之,我认为未来运维发展的趋势应该是谷歌那样,谷歌用1000人去管理百万台服务器,用研发去推动运维。要实现大部分运维工作都由程序去介入,开发能力必不可少。

以上算是我学习运维的一些想法和思考吧,目前先计划入运维的坑,然后再去做运维开发,希望真成功入坑运维后不要被打脸了。。。