作者 | 三月
本文经授权转自 CSDN 技术头条
最近大家都在讨论某打车软件的外卖业务上线 24 小时就紧急下线的问题, 官方给出的解释是”短期订单暴涨超出预期”,业内人士分析,是之前该公司在打车业务上积累的智能调度技术不足以支撑新的业务形态。
由此,越来越多的人开始意识到,未来决定企业胜负的因素里,技术壁垒或将成为最后也是最关键的一个。
不过,本次我们要讨论的不是公司如何做出一个技术壁垒,而是作为一名普通程序员的你,在这个技术人才越发金贵的时代,如何成为一个有能力进入优秀团队的人才,并与团队共同做出技术壁垒,而不被残酷的洪流淘汰。
你大约也不想人到中年油腻且焦虑吧。
身边的程序员大多都呈现出一种知识恐慌的状态,出现新的技术就在第一时间开始啃,从人工智能、Vue 到 Docker、区块链,每个领域的新技术层出不穷, 往往老的工具刚能熟练应用,新的工具就以快、稳、简单把它取代了,这时候自己在老技术上攒的经验就不值一钱;另一方面,你在啃新技术的时候,有的人已经踩完了它的坑,并顺利接入了业务。
同时,每一个领域的工具可谓琳琅满目,面对瞬息万变的业务,选择就是一件争分夺秒的事情,如何在第一时间选出对的工具来服务各不相同的业务,就要看技术人对工具了解的深度了。
▌学习,到最后一定是主动的
不同的技术人处在学习的不同阶段。
1-3 年的技术人往往还在迷茫期,这段时间,大都是在业务中遇到一些什么问题,然后去网站搜博客、在一些知识库里搜文档,找到一段能解决问题的代码然后直接粘贴复制过去,这个阶段的学习,还处在被动的阶段,是被业务 Push 着去学,目的是解决眼前的困难。
3-5 年的技术从业者就会开始在业余时间了解行业竞对及国内外的技术动向,能够在新技术展露头角的时候第一时间感知到,并开始进行了解和学习。这个阶段的学习状态是由被动向主动转换的过程,但是大多数人还没有形成自己的判断力,碰到什么新的技术,都想试试。
5 年以上的技术人,在踩过一些坑,了解到一些技术的共性之后,对自己没有涉及过的技术就有了一定的判断力,能够结合不同的场景“对症下药”;同时对自己的职业生涯有了一个相对明确的规划,能够把精力集中在某一领域去学习深造。
▌大牛不完全是业务成就的
小白经常会犯一个误区,就是觉得大牛的本事是经历了丰富的业务场景造就的。其实资历只是一块敲门砖,很多 5 年以上的程序员,在面临一些略有挑战的业务场景时,还是会举棋不定,甚至轻言放弃。
举个简单的例子,美团点评的技术学习氛围一直比较浓,曾经有个职级颇高的技术领导在开展新业务的时候涉及到一些自己从未接触过的领域,于是每天都跑去图书区查相关的资料,一坐就是很久,而后不断尝试,摸索一段时间才找到最终的解决方案。
人和业务,是相互成就的状态,很多时候,机遇伴随着的是无尽的挑战,你看到的那个风轻云淡的大牛,曾经也和你一样,面对 Bug 手足无措。人与人之间距离的扩大,中间隔的就是做了对的努力而已,就像电视剧《我的前半生》里说的那样,精英必须要非常努力,人前才能看起来毫不费力。
喝完鸡汤,我们来点干货,学习贵在坚持,而保证坚持的一个方法就是“构建有效的奖励机制”。
▌学会构建有效的奖励机制
学习的困境
如今,有那么多热门技术(例如:数据分析、机器学习等等),每一种都充斥着各种各样或免费或费用很低的资料、课件、分享、培训。从理论到实践都有讲解。
许多同学自己也制订了详细的学习计划,计划把全部业余时间都用到了吸收各种新的知识技术上。可是,很多人花费了大量时间,最后却好像没学到什么。这又是为什么呢?
困境的原因是多方面的:
直接原因——精力分散,不够专注,各个方向都有涉猎,但却都仅限于略知皮毛。
深层原因——驱动力不足以让自己专注。
根本原因——没有足够渴望的目标,无法调动自身能量形成驱动力。
有效学习的驱动力
其实,无论哪个区域的内容,最为有效的学习都无外乎:带着问题学习。
我有一个问题,迫切的想要找到答案。我在读的书、在听的课、在看的代码里就有这个问题的答案,或者至少能帮我找到解决它的思路——在这样的背景之下去学,自然能够专注得起来,深入的下去。
很显然,扩展区的学习,如果和核心区目标一致,能够迅速将学习成果应用到本职工作上去,那想必能达到事半功倍的效果,至少能够持续获得学习的动力。
如果对现在的工作并没有很大兴趣,非常想要投身进入其他领域,那么不妨考虑一下脱产学习。这样一来精力集中;二来也是背水一战,逼一下自己。
如果既和工作无关,又没有热爱到足够为它辞职,恐怕就需要极大的毅力和自制力才能有效的学习了。
所有的理论、方法、工具、提示,都只有在驱动力具备的情况下才能够生效。
学习的驱动力的问题,是他人无论如何无法代替或帮助你产生的,必须要靠你自己解决。找到自己足够渴望的目标,以目标实现的前景为激励来促使自己产生驱动力——这是一个人必须独自完成的任务。
有效学习的方法
有效学习有三个要点:目标明确,系统性强,足够深入。三者缺一不可。
知识技术那么多,如果今天学点这个,明天学点那个,搞成狗熊掰棒子肯定收获甚微。
就算有很多东西要学,想要高效地学到一定深度,而不是隔靴搔痒,就需要在一个时间段内集中攻击一个领域才好。
如此一来,选定目标是最重要的。学习之初,首先要有一个明确的范畴:要学习哪个领域里面的哪些内容;学了这个东西,最终会把它用到什么事情上去,要用来干什么。
这样就可以确定一个知识体系,并进一步确定,对这个体系中的内容需要了解到什么深度。
有了体系和深度目标,就可以列举出所需要掌握的各个知识模块,然后细化成大纲。这个大纲就是学习计划。
有了计划之后,针对各个模块给自己设定完成学习相应内容的 Deadline,然后按部就班的开始执行。可以设置一个奖惩机制,如果完成了学习计划,就奖励自己一下,否则,要惩罚。
成果验证
如果长时间没有成果检验,学了好久都不知道自己学得怎么样,慢慢的也就没心思继续了。无论学习什么,能够认识到自己在进步,这一点很重要。
但是,很多时候,自己本身就是一个学生,并没有足够的水平来做评判。而且,没有外在参照时,就算有水平也很难客观认识自己。
毕竟,就算正衣冠,都还要以铜为鉴。明晓学业的进退,就更需依靠外界的反馈。
外界的反馈中,最直接也最易得的就是考试。在学习某专业知识后,去考取一个资格证,是得到正向反馈的最简单的办法。
有些职业技能,没有什么通用的权威资格考试,比如各种各样编程语言、机器学习等,但学了就可以直接用来做项目。
这类技能,可以通过自行选择一些小规模的项目,参加相关竞赛,或者去求职来进行验证。
还有些扩展区的技能,比如手作、烹饪、绘画之类,既没有什么资格证书可考,也不会直接用来求职。不过,运用所学习到的此类技能,却可以创作出完整的成果。
这种情况下,可以创作/制作作品出来,和家人亲友共同欣赏。
无论是学习什么,都应该自己主动去寻找验证成果的方式方法,并不断收集外界反馈,来帮助自己判断目前的学习状态和水平,从而促进学习。