网工2.0 - 给你一次逆袭的机会

  聊天的画风已变!

  你好,我是姜汁啤酒,咱们又见面了。

  不知道你是否注意到,网络技术群里面的聊天画风慢慢开始变了。

  以前,聊天内容是这样的。

  兄弟,最近实验敲得咋样啊。

  我刚把NP的题看完。

  嗯,我准备学点安全和语音的技术。

  而现在的聊天内容,以我的《老司机网络运维-读者群》为例。

  大家讨论的不光是日常网络故障和经验汇总。

  慢慢地,朋友们开始研究如何学习Python。

  如何把玩Juniper的PyEZ模块实现日常运维自动化。

  连这13周年庆学习专栏送书活动。

  大家购买的不再是什么思科学习指南。

  更多的是Python,Ansible等书籍。

  难道,这个世界变了么?

  我的回答是:世界不仅变了,而且速度超乎你的想象。

  若现在的你,仍然像昔日的王朝,固守传统的网络技术疆土。

  那很抱歉,云技术,虚拟化,SDN,NetOps网络运维自动化会慢慢撕开你坚固的防线。

  所谓和你一条战线上的厂商们,纷纷倒戈。

  思科IOS-XE系列的设备,华为CloudEngine系列的设备纷纷开始支持SDN,Python自动化,更别说Juniper以及其他大厂,全都自愿的,不自愿的投入了未来技术的怀抱。

  新的网络技术时代 - 网络工程师2.0 到来!

  机遇和挑战

  每一次新的技术出现,并存着机遇。

  若你抓住了,就会被技术的浪潮抬升到新的高度。

  若负隅顽抗,最好的结果就是随波逐流。

  正如文章标题所述,这是一次逆袭的机会,也是一次挑战自我,提升自我的机会。

  在这网络工程师2.0时代?我到底需要准备什么?

  我不想提前回答这个问题。

  相反,我相信你通读完此篇文章以后,答案自然而然就在你的脑海里面了。

  而你所收获的,可能不仅仅这一个答案而已,也许包含了认知的升级,更有可能是职业生涯的蜕变。

  让我们先看看一个简单而实际的问题。

  明天,都需要什么样的人才?

  你去找工作,或者跳槽。不用说,是为了挑战自己,为了获得更好的工作环境,提高生活质量?

  而你所能遇见的工作机会,换个角度来看,就是招聘公司的业务发展需求,或者说是行业的发展需求。

  既然是发展需求,就存在一个时效性问题。

  可能,今天这个行业需要这样的技能型人才,但是并不能代表明天还是这样?

  例如,对于网络工程师来说,好几年前,大家会思科的东西就好了。可是现在,因为华为市场规模不断扩大,公司又要求你会华为的技能,难保明天又有什么新的东西出来,搞得你措手不及。

  这种情况下,就会出现两种可能性:

  要么被动的跟在后面跑,人家需要什么,我们再去学习。

  或者

  具有一定的预见性,提前做好准备,当机遇来临,你就是那第一批人。

  想想大数据、人工智能刚刚兴起的时候,第一批吃螃蟹的人,就可以当着雇主的面,漫天要价。

  那作为网络工程师的我们,该如何去把握市场业务的发展方向,让我们不那么被动。

  其实很简单,看看业界的巨头都在干什么,招聘什么样的人才。

  他们的今天,就是许许多多普通公司的明天,把握住了这一点,就是变被动为主动的关键。

  业界IT巨头网工招聘要求分析

  限于篇幅有限,此处展示了三个在业界名声赫赫,也非常具有代表性的公司。

  Google,亚马逊,Facebook。

  首先看看网络一哥Google的网络工程师招聘要求。

  Google 网工招聘简介

  职位:网络工程师

  最低要求:

  计算机相关本科学位。

  熟悉一个或者多个通用型计算机语言,包含但并不限于:C,C++,Python,Java,Go。

  熟悉网络架构,企业级网络管理,排错,和日常运维。(注:google把自己的网络定义为企业网。)

  亚马逊AWS招聘简介

  亚马逊这几年的AWS云计算服务是一路狂奔,是不折不扣的市场领跑者,让我们看看他们都需要什么样的网络工程师。

  职位:网络工程师

  最低要求:

  科技领域相关的本科学位。

  3年以上大型网络工作经验。

  熟悉网络路由协议:TCP/IP, BGP, MPLS, ISIS and/or OSPF

  熟悉Cisco IOS和JUNOS

  熟悉自动化,包括bash/shell脚本,Perl、Python编程。

  Facebook招聘简介

  最后让我们看看Facebook的招聘要求。

  Facebook,不用说大家都知道,全球使用最多的社交平台。

  职位:网络工程师

  最低要求:

  2年ISP运营商、CDN运营商、或者大型企业核心工程师或者设计工程师工作经验。

  熟悉IS-IS,BGP,MPLS,并具有使用(OpenConfig,NetConf,YANG)等工具的经验。

  熟悉业界网络硬件和软件架构,以及掌握发展趋势。

  实际编程经验,包括不限于Python、Go、Perl等语言。尤其是控制和管理网络相关项目的编程经验。

  熟悉并协调厂商网络产品研发和支持的工作。

  具有展示技术PPT的沟通能力。

  分析小结

  我不知道,当你看到以上行业领头羊的招聘需求以后,你是否有了些感触?

  你会发现,基本上以上几个职位,都提到了同一个东西:写代码的能力。

  什么Python,Perl,Go,Java语言,都是必备项。若要是没有这个编程能力,连筛简历这一关都过不去。

  有朋友就说了,人家是全球的规模,我们相比小得多,没那个必要,参考意义不大。

  如果这样想,那可能就错了。

  要记住,他们代表着(也把控着)网络行业的发展方向,他们的今天,就是我们的明天。

  你要是还没觉得有什么危机感,让我们继续往下看。

  谁说只有网工可以配置设备?

  讨论此话题之前,看几个小例子:

  当年,苹果研发iPhone的时候,诺基亚嘲笑说,你搞的啥玩意儿。连个实体按键都没有。

  谁会用啊?

  不用我说,你也知道最后谁输谁赢。

  同样的,当阿里巴巴在杭州倒腾支付宝,腾讯后来玩微信支付的时候。

  银行的柜台员工们并不认为这和他们有什么关系,银行ATM机的制造商们还在那里逍遥的过着小日子。

  几年以后,大家都不怎么去柜台办理业务了,一切都电子化,谁还去取现金?

  ATM机制造商怎么办,柜台人员怎么办?

  回到网络行业,我也给你说一个我自己的感受,这也是促成我学习编程,写这份专栏的最根本原因。

  在我刚开始学习Ansible的时候,我发现Ansible帮我减轻了两个负担:

  它可以同时大规模部署和配置网络设备。

  帮你省去登陆设备,敲入命令的时间。

  但是,初期的Ansible,我还是得输入需要执行的CLI命令行。

  换而言之,我只有熟悉思科,Juniper,华为等设备的命令行才可以,若不是网络工程师,就不会。

  可是,后来Ansible迭代进化了,各个 厂家分别更新了自己的Ansible模块,你只需要提交相应的参数,就可以完整的配置网络设备。

  例如,传统情况下,你需要配置思科的接口,你需要这样:

  interface gi0/0

  ip address 10.1.1.1 255.255.255.0

  no shutdown

  但是,现在的Ansible,你只需要选择对应的厂商模块,然后传递给Ansible对应的参数,例如接口名称,IP地址。

  如下所示,给了接口名称和IP地址,完工。(若还不理解,专栏里有详细介绍)

  - name: set GigabitEthernet0/0 IPv4 Address

  ios_l3_interface:

  name: GigabitEthernet0/0

  ipv4: 10.1.1.1/24

  Ansible就帮你完成所有的命令并配置设备。

  你完全不需要了解特定厂商的配置内容。

  再次强调,你不再需要了解某个厂商的配置细节,照样可以把工作干得好,干得快,干得漂亮。

  如果网络工程师不需要配置设备,剩下的也就只有两个看家本领:

  扎实的网络知识。

  丰富的网络项目和故障处理经验。

  可是唯一存在的问题是,一个公司如果大量的维护工作都自动化了,它会招聘多少网络工程师?

  5个,10个?

  我猜,可能1-2个经验丰富的网工+2个码农的就搞定了。

  那剩下的人怎么办?

  你说呢?

  未来的网工 - 网工2.0

  有句话说的好,最好的防守就是进攻。

  传统的网络工程师,是指熟悉网络技术,例如路由交换,安全语音,以及各个厂家的设备调试等技术。我个人称之为网工1.0时代。

  可是正如我上面所述,现如今因为网络大规模化,云计算化,数据中心化带来的运维自动化需求,以及厂商针对自动化开放的程序接口,使得那些会自动化的软件开发工程师、或具有写代码能力的网络工程师,在工作效率和层次上远高于传统的网络工程师。

  这就好比人家用枪,你还在用刀,完全不在一个量级上。

  所以,若不想被历史的车轮碾压,最好的办法就是升级自己,让自己的技能也能赶上时代的潮流。让自己成为新一代网络工程师,即所谓的网工2.0。

  我该学习什么才能升级?

  首先,你需要选择一门编程语言。至于选择哪一个。

  不用说,你光看各个IT网站头版的广告就知道,编程语言Python是最佳选择,尤其是初学者。

  作为一门专注于解决问题的语言,所有的各种工具早已有人给你写好,你只需要专注在你所需要实现的程序功能即可,当然python还有很多其他的优势,这里不再陈述了。

  除此之外,我为什么推荐Ansible作为另外一个学习的对象和工具。

  因为它同样也是极其容易上手,非常简洁明了,厂商支持程度也很高,就算对编程不熟悉的朋友,经过一番讲解之后,也能上手写自己的Ansible自动化脚本,马上就能看见成效。

  啰嗦一句,编程语言也好,还是自动化工具也好,选择可是五花八门,在我们有限的时间和精力之下,选择一个业界流行,大家认可的工具,并潜心研究,才是正道。

  相反,若各个工具都有所染指,虽然可以成为和朋友的谈资,但是真正用起来,你会发现哪一个都不怎么会用,浅尝辄止。

  如何克服编程恐惧症?

  有部分朋友说 :“姜汁哥,不瞒你说,我搞网络就是因为对编程不感冒,不是那块料。要不然我早去干编程了,说不定现在随着哪一家初创公司上市,都财务自由了。”

  这位朋友,其实我也不瞒你,我和你一样,当时上大学也学过编程,但是就是怎么都入不了门。

  有句话说得好,不是你不会,而是身上的压力还没到那份上。

  我个人接触了一些做自动化的朋友,加上自己涉猎Python + Ansible这一方向后,我就开始有深深的危机感。

  上有老下有小,丢工作了可不是一件好玩的事情。所以我硬着头皮就啃了下来。

  可就在我啃的过程中,我发现一些学习编程的小窍门和方法,这对于初学者来说,尤其有帮助。

  我暂且称之为“基于需求的编程学习法”。

  由于此方法不是一句话就能说清的,我特地把这一民间偏方写成一篇文章,放到了新开的专栏《网工2.0晋级公攻略 - 零基础入门Python/ Ansible》内,共大家揣摩。

  网工2.0晋级攻略 - 零基础入门Python/ Ansible

  说了这么多真心话,怎么也得给大家介绍下自己的新专栏。

  此专栏目的只有一个:作为过来人和你一起入门Ansible和Python。

  为了实现这个目的,此专栏存在如下奇葩风格:

  1. 注重思路分析和细节讲解

  其实写代码和画画很类似。

  首先你需要知道画什么。

  其次你脑海里面有一个即将画的物体的大概轮廓。

  最后再动笔。

  在此专栏里面,我们会一起针对每一个案例详尽剖析,从需求,到构思,最后到代码的生成。

  以及每一行代码所要表达的意思以及相关的含义,都会仔细讲解。

  2. 提倡拿来主义

  本专栏提供了多个Python和Ansible的基础案例和实践案例。

  我提供的这些案例,最终达到两个效果:

  通过案例让你熟悉并掌握Ansible和Python。

  其次,对于特定日常基础运维工作,你可以通过简单修改案例中的代码,轻松搞定一些重复的工作。

大连妇科医院哪家好   http://www.dlgcyy.cn/

  第二条即为我所说的拿来主义。

  例如,某一天厂商报了一个软件bug,需要升级IOS、才能解决。

  这时,领导急着让你搜集全网所有设备的软件版本。

  你若是手工一个个的弄,费时费力,还不讨好。

  但是学习了本专栏,你就有两个选择了。

  要么自己写一个代码来搞定。

  或者你若是还不太熟练的情况下,直接复制专栏代码,改改命令行,设备用户名密码就可以用了。

  3.不纠结于高级编程技巧

  若有人对你说。

  你的代码不够简洁,代码写得比较low,写得像流水账。

  以上问题如果是程序员之间的交流,我完全可以理解,毕竟他们是吃这一碗饭的。

  但是,作为一名初学者,作为一名网络工程师,我的观点是,去他的代码质量,先能写,能用再说。温饱都没解决了,给我谈什么艺术情操

  现在这个时代,计算资源过剩,刚开始入门编程,你完全不用考虑代码的执行效率等问题。你执行10个循环和执行一万个循环,对你来说,仍然是一秒钟的时间。

  所以,在这个专栏里面,我尽可能的采用大家容易理解的方式来实现程序的功能,而不是为了做个人表演show,虽然我表演爽了。

  可是你阅读起来,就很不爽了。

  再次重申:这个专栏,就是带你如何从不会编程这个0,到会基本的代码技能这个1的质变。

  而从会基本代码技能,到写的很漂亮,那就靠你未来的一步步的练习精进了。

  4.免费vs付费 ?

  最后一个,付费也算是本专栏的一个优势。

  你可能会说,Ansible和python的东西,网上最不缺了。

  我干嘛犯得着花这点钱来买专栏?

  我不会反驳你的观点,相反,我觉得你说的很对。

  一起看看网上的免费资源,大致分为两类:

  给你个100G的python视频,慢慢去看吧。

  这100G搜集了各路神仙的python视频,表面上你拥有了全世界,可是你却少了一个东西 - 时间。

  回忆一下,这100G视频,你看了百分之一了么?

  各类博客文章散布全网,需要通过搜索来获取。

  不可否认,很多大神写的博客文章,的确很详细很独到。

  可是,以Ansible为例,要么你是在需要用Ansible的时候,才想到去搜相关知识,并找到一两个网站。

  或者,你无意间浏览到某个Ansible为主的网站,并习得了相关技能。

  但是这些技能都是碎片化的,你很难系统的把它拼装到一起。

  还有一个问题,你无法去搜索那些你不知道的东西,所以有一个人系统的带领你一起走,事情就变得很简单了。

猜你喜欢

转载自blog.csdn.net/weixin_44239023/article/details/89478175
今日推荐