首页 > 其他 > 详细

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

时间:2018-08-22 18:11:44      阅读:153      评论:0      收藏:0      [点我收藏+]
聊天的画风已变!

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

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

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

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

我刚把NP的题看完。

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

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

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

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

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

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

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

更多的是Python,Ansible等书籍。

难道,这个世界变了么?

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

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

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

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

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

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

机遇和挑战

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

或者

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

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

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

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

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

业界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帮我减轻了两个负担:

  1. 它可以同时大规模部署和配置网络设备。
  2. 帮你省去登陆设备,敲入命令的时间。

但是,初期的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。
  • 其次,对于特定日常基础运维工作,你可以通过简单修改案例中的代码,轻松搞定一些重复的工作。

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

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

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

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

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

  • 要么自己写一个代码来搞定。
  • 或者你若是还不太熟练的情况下,直接复制专栏代码,改改命令行,设备用户名密码就可以用了。

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

若有人对你说。

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

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

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

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

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

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

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

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

4.免费vs付费 ?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

总结

网工们,现在的我们正处于技术变革的过渡阶段,一方面大家仍然舒适于传统的网络技术区域,另外一方面世界正朝着新的技术进发,运维自动化,SDN,虚拟化等技术层出不穷。

你可以选择多带几把刀(传统网络技能),或者带上一支枪即可(编程技能)。

选择权在你。

技术分享图片

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

原文:http://blog.51cto.com/gingerbeer/2162956

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!