技能与教育
在IT行业,拥有正确的技能一直很重要,尤其是当你想跟别的工程师有所区分的时候。随着变化的进程不断加快,你会发现你最喜欢的技术栈已经被新的东西所取代,拥有正确的技能无疑会变得更加重要。
如果你正在阅读本书,恭喜你——你已经在正确的方向上迈出了伟大的第一步。本书的各章是写给那些正在寻找"更多"的东西、不满足于过去几十年以厂商为中心的传统投币模式的IT专业人士的。
我们将深入研究几个具体的重点领域,以提高你的IT教育,并将你的技能包带到下一阶段。
学你所不知
当我们与同行或客户谈论他们可以做什么样的事情来开始自动化时,最常见的反应之一是:“我甚至都不知道这是可能的!”
事实上,在IT行业工作有一种倾向,就是让人封闭在一个泡泡中:不断听到相同信息的不同版本,并且手头上几乎都处理着相同的工作。对技术专家来说,这是最危险的情况之一,因为这比单纯的不了解另一项技术学科(technical discipline)更糟糕。在这种情况下,你不了解你未涉猎的领域。你可能从来没有想过你可以用Python来控制你的杂物间的开关,因为这种控制场景从未进入过你的眼界。如果你只是呆在泡泡中,你将不知道外面有什么,也很难成长为一个技术专家。
幸运的是,预防这种情况很简单。经常性地走出你的舒适区。跳入某种在你的"泡泡"之外运作的环境。有足够多的技术能让你生趣,在你挑战自我去探索一个新的领域之前,你甚至永远都不会发现它们。
这将为你自己的职业发展带来巨大的价值,但它也从本质上为你的组织带来了新鲜想法。这种好处并不总是切实易见的(tangible),这一点可以通过获得参加会议(尤其是你的技术学科之外的会议)的资格是多么难得来证明。如果你所在的职务能负责决定投资哪些会议,请意识到这是将新鲜想法带入你的组织最经济(the least expensive)的方式之一。
总之,要学会走出舒适区。在企业IT领域,技术不会有太大的变化,因为我们的文化非常重视和依附于IT厂商。这些厂商的既得利益是保持事物的不变(constant);快速变化不符合他们的销售模式。我们可以做的一件事就是不要再从厂商那里获得所有的想法和指导。与其去参加你的厂商为期一周的大型营销活动,不如去参加一些小型见面会,比如你当地的网络运营商团队。或者也许去查看一些完全不在你技能包范围内的会议,比如开发者或自动化会议。
重视基础
在任何技术学科中,我们总是听到一些新名词,如“数字化转型(digital transformation)”和“软件定义(software defined)”来描述最新的耀眼的技术进入市场。这些术语带给你的感觉就是——你在技术领域中已经落后了,购买最新的物理产品或虚拟产品将使你回到技术领域的前沿。
事实上,就技术方面来说,我们大多数人其实都有点落后于时代。尤其是在企业IT领域,跟硅谷公司正在使用的且被认为是最前沿的技术相比,技术栈可能落后5年、10年甚至更多。然而,从你的厂商那里购买最新的耀眼产品从来没有(never has)并且也将不会(never will)为你解决技术落后的问题。如果能够通过购买新产品解决技术落后问题,我们早就解决这个问题了。技术停滞不前的真正原因是,除了传统的厂商驱动的消息和我们时不时的盲从([译者注:盲从指企图通过购买新产品来解决技术落后问题]),我们对人才和技能的投资是不足的。
本书主要关注的是与厂商无关的技能包、流程和文化,原因是技术并没有真正发生太大的变化。速度和流量(speeds and feeds)变得更大、更好,行业有时能够倾向于往奇怪的方向发展,它总是摇摆不定 (it's always a pendulum)。旧的模式又变成了新的模式,而最底层使用的基本技术通常是相同的。你从最早的CCNA时代就熟知和喜爱的TCP/IP,最新的软件定义网络产品仍与它紧密相关。最新的无线产品的核心还是要还原到射频技术(RF,Radio Frequency)。
这是基础设施从业人员可以向软件开发人员学习的经验之一。一般来说,基础设施从业人员的“建设”能力不如“运维”能力,而软件开发人员则习惯于像建设者那样思考([译者注:即一般来说,软件开发人员建设能力更强])。为此,软件开发与其说是一项技能,不如说是微小技能的集合。就像画家学习画笔技巧和调色科学一样,软件开发人员也会学习编程语言、工具、算法和硬件知识,他们明白,当下一个大项目需要他们时,这些微小技能终将在那一天派上用场。
如今,特别是随着开源软件在IT领域越来越重要,对系统或计算机科学基础的需求从未达到如此之高。学习Linux。探索一种编程语言。这些基础知识将帮助引导你更多地理解我们长期以来在IT领域习以为常的东西。新的IT产品层出不穷,但它们始终都是在硬件和软件上运行的。因此,无论你是想进入一个新的学科,还是想在你目前的领域中深耕,重视基础知识是在IT技术栈这短而浅的变化中长期保持相关性的最佳方式。
认证?
不可避免地,我们必须回答一个永远流行的问题:“在自动化时代,IT认证的价值是什么?”这是一个有趣的问题,特别是因为每个人对这个问题都有不同的答案,我们每个人在IT行业中所处的位置不同。
认证意味着你对所涉及的材料很是熟悉。所以,虽然今天的IT认证存在一些问题,但不可否认的是,这是一个值得探讨的有趣的权衡问题(trade-off)。认证不能在一定程度上灵活地定义你在该领域的能力,但它是具体的并且很受雇主认可。如果没有认证,你就得从头开始每一次面试,并向你的潜在雇主证明你很清楚你所吹出的牛(you know what you're talking about)。认证是一个很好的方式来简化(short-circuit)面试流程,当然,如果你是IT行业的新人,这是一个非常有用的工具。
但是,认证会给你带来有一定局限性的东西。当你积累更多的经验时,这种简化(short-circuit)的价值会随着时间的推移而降低。此外,认证通常是先为厂商服务,所以他们不会100%地覆盖你可能想知道的东西。你可能会发现,在你职业生涯的初期,更多的依靠认证是有用的,而随着你经验的积累,你可以更深入地研究基础知识,减少对厂商的依赖,向雇主证明你所知道的一切。
如果你专注于基础知识,IT认证就会成为一种作战工具,而不是决定职业的教育途径。认证可以完美砍掉招聘过程的初始阶段,对于一些雇主来说,认证是一项要求。但是,了解基础知识不仅能帮助你在面试中脱颖而出,还能确保你在IT风向变化时继续在技术阶梯上攀登。
自动化会夺走我的工作吗?!
关于自动化最常见的问题之一是:“我的工作会受影响吗?”的确,人们普遍认为,自动化将意味着工程师数量的减少。毕竟,如果机器可以做我的工作,谁会付钱给我去做手动配置?
这种想法似乎是基于一些不正确的假设。第一个假设是,自动化在某种程度上是瞬息万变的,是昼夜之间就会发生的,但事实从未如此。自动化总是循序渐进的,而且在每一层都是不完美的。你先解决最简单的问题,然后逐渐向更大的问题进行挑战。你偶尔会回过头来改进你去年写的东西。
另一个不正确的假设是,一旦实现了自动化,工程师就无事可做了。这也是不正确的,不仅是因为上一段中给出的第一个原因,还因为自动化可以解锁你以前没有的“新技能”。自动化确实可以消除需要一个满腔热血的人来填补某个角色的需求,但自动化会带来前所未有的新挑战,并且那些满腔热血的人应该被重新分配去处理新的问题。所以,虽然某种角色可能会被自动化所取代,但在技术栈更高的位置上,总会有新的机会出现。
因此,在一个"后自动化"组织中,角色和责任显然将发生变化。你仍然需要优秀的、训练有素的员工,只是需要对他们进行重新分配,以应对引入自动化后发现的新挑战。
写在最后
译自Network Programmability and Automation Skills for the Next-Generation Network Engineer第十一章的Skills and Education一节
博客链接🔗:www.uglysht.club/2021/04/07/…
目前小弟正在阅读翻译(兴趣使然)本书,后续会发布中文版的链接,敬请期待。