You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

8.6 KiB

春节特别放送(二)| 聊聊能力陷阱和终身学习

你好,我是胜辉。今天正好是除夕夜,先在这里祝你虎年春节快乐。趁着过年这个轻松的节日气氛,这次我就不讲那些技术知识了,咱们来“务虚”地聊一聊。

规避“能力陷阱”

当你在某个领域工作了几年后特别是到了5年乃至10年的时候你已经在这个领域有了比较深厚的积累。那么恭喜你此时的你可以说真的是“有所专长”了。

通过这么多年的积累,你不仅在技术上有颇为独到的见解,也对在这个领域里如何做事情,应该有了自己的沉淀和思路。一方面有技术能力,一方面有做事方法的指导原则,你在这个领域做成事情的概率似乎变得越来越大。

但是,有时候事情不会总是朝着一个方向走。比如,技术栈本身也经常发生迭代,组织的业务重心也可能发生变动,新的语言和框架不断涌现……这个时候,我们的经验会是推动我们迎接变革的沉着底气,还是反而会成为制约我们的沉重抱负?

甚至还有这样一种“可怕”的场景,你依赖多年的技术栈忽然有一天被公司告知:这个栈要下去,新的栈要上来。你要不要跟着往前走?

这其实是已经发生过很多次的事实。从“去IOE”到“上云”从授权软件模式到开源软件模式技术和商业的形式一直在演变。这催生了很多新的技术热点也悄悄地让不少岗位的光芒逐渐黯淡。

凡此种种,都提醒我们一个重要的事实:技术工作本身就一直在迭代演进,而且其迭代的速度可能远远超过其他行业,在互联网企业这一现象尤为明显。

当然,我也不是在鼓励内卷,贩卖焦虑。其实,在技术变迁的表象面前,我们内心可以沉静一些,不用过于担心。这是因为:技术的底层都是相通的,不同的包装出来的概念和产品,常常是“新瓶装旧酒”,或者是老理论的新实践。

这是战略上我们可以有用的底气:只要计算机基础知识掌握得越牢靠,我们就越有希望在技术潮流的动荡中立于不败之地。

有没有战略,一时半会儿看不出区别,但长远的效果非常明显。在战略的指导下,我们可以看清楚迷雾,认定我们坚持的方向,一步步走向我们的目标。一时的风潮或者人言,也难以扰乱我们的脚步。

在战术上呢?我觉得还是要重视,特别是要避免前面说的“能力陷阱”。我们通过多年的沉淀,逐步在某个领域建立起来的能力十分宝贵,但同时也不能沉湎其中,要适时地观察周边的技术趋势,结合自己的技术底蕴作出正确的判断,也就是正确的战略。

重视“终身学习”

但是,想要跳脱出自己的舒适区其实是不容易的,这需要这样一个能力:终身学习的能力。其实,与其说是“能力”,不如说是“意识”,是“认知”。不知道你有没有想过,为什么你知道了很多道理,但还是过不好这一生呢?是不是因为:你不去做,或者自认为要做也无法做好,其实本质原因是你并没有真的认同?

我相信人人可以终身学习,只要我们从内心认同这个观点。在技术领域,我觉得这一点尤其重要。

说说我自己吧最初工作是在央企做运维在那个时代的运维主要靠对操作系统和业务系统的了解来工作基本很少用到自动化体系。之后很快迎来了虚拟化、云计算、DevOps我就发现得学习Linux然后为了让运维工作简便有效率又去学习Python写自动化代码为了把流量管得更好学习TCP/IP学习抓包分析等网络的问题能解决大半的时候我发现自己对内核的网络行为是一个很大的盲区于是学习内核网络的知识……

至今,我还时常惶恐自己的知识掌握还远远不够,正应对了那句话:知道得越多,知道自己不会得也越多。好在,每当我读完一本厚厚的技术著作,或者解决完一个比较棘手的技术问题,内心就平静一些,丰盈一些。这应该就是知识带给我的力量感吧。

强化技术思考力,而不是技术能力

那是不是我们见到新的技术就扑上去学习,就可以了呢?最近几年的思考,让我觉得技术思考力,比具体的技术能力更重要。我记得在一个论坛上看到一名工程师发帖说“某某大公司来的人连Docker也不会”当时就有别的工程师指出“Docker有什么会不会的呢如果是怎么用一两天就熟悉了如果是熟悉Docker底层代码那是另说。”

前一个工程师就是把技术知识误当作技术能力的典型例子。这个问题容易出现在初级工程师身上。其实,对待具体的技术,我们在战略上可以“藐视”,也就是“我们只要想学,总可以学会”。我就算笨一点,别人学一天就会的东西,我就花两天。前提是,我真的认为这个东西值得我花两天。

那要达到这个认知,就需要你真的想得很清楚,你认同你要学的东西是在你的规划路线上的,是会对你产生价值的,你甚至甘愿在这段时间里忍受寂寞。这句话的反面就是,你如果想时时刻刻得到认可,那大概率是会局限在自己擅长的事情上,很难去更广阔的领域为你的下一次升级做储备。

打造自己的能力“焦点”

我另外一个建议是:要有焦点,也就是你的核心竞争力。这个焦点不是说你只去掌握非常细分的领域,而是说,你有一个核心可以提炼的能力特征。

比如我现在对自己的认知是:我可能在开发上比不过我团队里专门做开发的同学,我可能在思辨上也逊于其他更资深的同事,但我在网络分析和流量管理这个主题上,是有非常强的信心的。那么围绕这个核心,我要做的,就是把周边的技术拼图块给完整拼起来。

为了持续地构造这方面的能力,需要开发的时候就做开发,需要做产品的时候就做产品,需要加强领导力的时候也去学习怎么做到这一点,无论是什么,我们想清楚这件事情在自己规划的职业路线上的价值,那么就会少一些摇摆不定,多几分沉着坚定了。

如果你是做业务开发的,那么可以想一想,你的核心竞争力是不是这一块业务相关的开发,比如你对业务非常熟悉,开发能力对业务需求来说足够用,那么你大概率会有比较强的竞争力。

如果你是做运维开发的,那么应该想一想你对系统和网络的掌握,能否明显超过其他工程师,然后思考如何把运维体系做到更高的可用性和更高的效率,甚至是有能力打造出一个自动化运维平台,那么你在这方面的竞争力也会很强。

我也见过一些不太好的例子。有个别同学对新技术的热情很高,这一点很值得肯定,但问题是见什么都学一点,只学到皮毛,比如学到一些命令、怎么搭建等等,而没有真正理解这个技术或者产品的构建原理是什么,基于什么样的技术设计、为什么要这么设计。

“见山是山,见水是水”,你觉得每个产品都不一样,那可能是你还没看透它们。在很多地方浅浅地打一口井,甚至都因为太浅而算不上是井,那么说得残忍一点,你投入的时间,并没有获取到对应的该有的能力。这一点一定要注意。

当然也有非常正面的例子。有个新同学加入团队,刚开始半年就自己提出,愿意多做一些业务相关的工作,而不是着急着先做开发。这样做了半年,他已经对具体业务摸得很透了,之后开始做业务开发,可以说是顺风顺水,就完全没有别人那种“虽然在做开发,但不知道自己开发的东西是什么用途”的窘况,而是各种项目做一个成一个。

在这个过程中,这位同学也很快想清楚了自己要打造的核心竞争力是什么,做事情的时候不光自己很聚焦,别人也愿意在各方面给予帮助,因为别人都已经明白他的路线是什么,能给团队带来的帮助是什么。

好了,今天主要跟你聊的就是这些,也希望你能够不断学习、不断进步。另外,你在技术变迁的过程中,有没有也经历过这种困惑或者选择呢?你自己对终身学习又是怎么看的呢?欢迎在留言区分享出你的观点和看法,我们一同成长。