感觉技术停滞时,该怎么办?(离开舒适区,刻意练习)

在旧文《技术方向的选择》的末尾,我写道:“停留在原地纠结,什么也不会改变。”。当做出了选择就该出发了。为了习得一门技术或技能,我们需要不断地练习,但如果一直在练习,却感觉不到进步,那么再努力的人生,也是枉然。

理论

关于习得甚或精通一门技能,最著名的理论如今恐怕是「刻意练习」,如果非要在这份练习上加上一个期限,那就是:一万小时。

关于「刻意练习」,不少书或文章都讲了很多案例来说明它的有效性,但总结起来就下面三点:

  1. 只在“学习区”练习,练习时注意力必须高度集中。
  2. 把训练的内容分成有针对性的小块,对每一个小块进行重复练习。
  3. 在整个练习过程中,随时能获得有效的反馈。

刻意练习是为习得真正的技能所设计的,它和获取知识不同,知识就是那些你知道即为知之,不知即无知的东西,可以通过读书获得。但技能是那些你以为你知道,但如果你没做过,就永远不会真得知道的事情。

如上,刻意练习的首要一点是练习必须在学习区中进行。以程序员的编程技能为例,到了一定阶段,你感觉技术能力提升不了的原因,很可能就在于你每天都在编程写代码。程序员的工作初期基本每天就是编程写代码,在早期你不够熟练时你还能感觉到进步,这种进步就是从不熟练到熟练。但单纯的编程实战其实并不能持续地提高一个人的能力,想想体育运动员,没有一个运动员每天的过程就是参加比赛。

在程序员足够熟练了之后,每天的这种实战型工作就不会再是处于“学习区”的练习了,而是进入了“舒适区”的自动完成。真正的专业竞技体育运动员每天的日常训练都是在“学习区”的刻意练习,而上场比赛则是进入“舒适区”的自动完成。而很多熟练程序员的日常工作则是在“舒适区”的自动完成,工作之外则是另一种“舒适区”的娱乐休闲。

停滞,就是这样发生的。

重复

重复的刻意练习,让我想到了一种数字 —— 无理数。无理数,是一种无限不循环小数,取其无限不循环之意。

刻意练习的关键点之二,有针对性的重复练习。重复,这个词很误导人,重复的本身是练习过程,而非练习内容,每一次的重复过程中都会根据反馈进行有针对性的调整,以取得练习效果的进步。

一直在重复但却感觉不到进步,除了前面所说的脱离了“学习区”的低效重复,还有可能是重复的次数还不够。有时我们会不自觉地低估了习得一项技能所需要的重复练习次数。近年在我身上就有一个鲜活的例子,在工作十年后我重启了学习掌握英语这门技能的练习,但第一年完全低估了需要重复练习的次数和强度。

第一年,仅仅在每日的工作之余,花上一节课的时间(近一小时)来进行听说读写的练习,即使每日都能保障一节课的时间(实际并没能),一年下来不过区区 300 多小时,分散在听说读写四个分支上,结果就是没有哪一项在那一年结束后让我感觉到一点点的进步。

万维钢有篇文章叫《用别人预测自己》提到了一个概念:基础比率(base rate)。

所谓基础比率,就是以前的人,做同样的事,做到的平均水平。

如果别人做这件事需要那么长时间,基本上你也需要那么长时间,因为你没有那么特殊,只是每个人都会觉得自己是特殊的、例外的。所以,当我一想学英语人群的基数和真正算是掌握并熟练运用这门技能的人数,以及他们所花费的时间,我就知道自己大大低估了需要重复练习的次数。

重复的刻意练习总是辛苦的,但这个过程不应当让你感觉痛苦。就像跑马拉松的人,他的目标是跑完全程到达终点,过程是很辛苦的,但如果鞋子里钻进了一颗小石子,那么就不仅仅是辛苦了,还很痛苦。先要解决痛苦的根源,才可能跑完全程到达目标。

重复,是可以没有痛苦的,但必然辛苦,从没想过会舒适的跑完全程。

反馈

在刻意练习过程中,随时能获得有效反馈其实是一件挺难的事。

就像程序员学习编程技能,谁来给你反馈呢?我们又不像是职业竞技运动员,有教练,还有各种分解技战术动作的分析师,分析你的各种赛场或训练表现,给予反馈。更谈不上针对个体的薄弱环节,随时获得反馈进行修正。

程序员最直接的反馈来自简单粗暴的 bug 或者系统故障。进一步,如果公司有一定规模可能会有测试或 QA 人员来给程序员提出反馈。更进一步,如果公司建立起了很好的代码评审文化, 那么会有其他程序员对你的代码与编程工作作出反馈。但若这些都没有,我们还能如何获得有效反馈?

在我早年的工作中,公司确实就没有能提供反馈的机制,无导师、无测试、无代码评审,就靠简单粗暴的 bug 和系统崩溃来提供反馈,我后来还是找到了两条你可以主动把握的反馈机会。第一,主动找你觉得值得信任或佩服的同事帮你找找茬,提供点反馈。第二,即使已经实现了一个功能,再想想有没有开源的类似东西,去搜一搜,看看开源的实现是怎么做的,在这个过程中就完成了通过别人的代码来向自己的实现提供反馈。但这样得做法都是在主动加重自己得工作负担,也是走出舒适区的第一步。

一些大公司都会有自己的代码维护与分析工具,并随时根据提交情况给出评测报告,这就是一种随时提供有效反馈的自动化机制,身在其中很多程序员往往忽视了这一点。

珍视,每一次反馈的机会。

...

刻意练习,一万小时,多么神奇,似乎无所不能。还有什么是一万小时刻意练习无法解决的问题吗?目前对刻意练习最大的批评是,刻意练习的案例证据多是来自“认知复杂性”较低的活动,如棋类、乐器、体育运动等,但对于“认知复杂性”较高的活动,如销售、管理、投资等作用有限。怎样通过刻意练习成为一名卓越的销售、CEO 或像巴菲特一样的投资大师,从哪里练起?练什么?怎么练?

一技之长背后是一万小时,然后是两技之长,然后到十技之长么?人生哪有那么多一万小时,最后留下一点思考,也许这是下一阶段需要回答的问题。

作者:瞬息之间

>>>【评论有礼】6月6日-30日评论每日更新的“新闻资讯和软件更新资讯”,评论点赞数超过 20 的可登上每周更新的“源资讯”和“软件周刊”两大栏目,点赞数超过 50 的还将获得 5 活跃积分奖励和开源中国定制好礼。详情

http://www.oschina.net/news/86171/how-to-face-technical-stagnation

时间: 2024-08-09 10:44:46

感觉技术停滞时,该怎么办?(离开舒适区,刻意练习)的相关文章

成长,就是反复在自己的非舒适区磨练时再多坚持一下

记得上一次这么坚持,是在2013年11月份研一参加校运会跟大一大二的学弟比赛5000米的时候-- 那次也是很难受很难受,圈数少数了一圈,为了保持第一的位置,在倒数第二圈花了大部分力气冲到终点,结果被告知还有一圈--脱水加体力不支--本来都打算放弃了,喝了口水,很艰难地边跑边走地过了大半圈,剩下100多米,感觉体力恢复了一点点,就告诉自己,既然已经坚持了这么久,而且也还有点点体力,难得还有机会站在学校的运动赛场上,不如最后再尽力拼一把吧,于是咬着牙使出了我自己都觉得不可思议的力量,5000米的最后

C++ Primer 学习笔记_102_特殊工具与技术 --运行时类型识别[续]

特殊工具与技术 --运行时类型识别[续] 三.RTTI的使用 当比较两个派生类对象的时候,我们希望比较可能特定于派生类的数据成员.如果形参是基类引用,就只能比较基类中出现的成员,我们不能访问在派生类中但不在基类中出现的成员. 因此我们可以使用RTTI,在试图比较不同类型的对象时返回假(false). 我们将定义单个相等操作符.每个类定义一个虚函数 equal,该函数首先将操作数强制转换为正确的类型.如果转换成功,就进行真正的比较:如果转换失败,equal 操作就返回 false. 1.类层次 c

读枯燥的技术书时怎么集中精神?

/** * 得到汉字字库的集合 * @return */ public static Map getChinaWordStorage() { BufferedReader bu=null; try { Map map=new TreeMap(); bu=new BufferedReader(new InputStreamReader(new FileInputStream(getPropertiesByKey("chinaWord")),"UTF-8"));//文件

C++ Primer 学习笔记_101_特殊工具与技术 --运行时类型识别

h2.western { font-family: "Liberation Sans",sans-serif; font-size: 16pt; }h2.cjk { font-family: "微软雅黑"; font-size: 16pt; }h2.ctl { font-family: "AR PL UMing CN"; font-size: 16pt; }h1 { margin-bottom: 0.21cm; }h1.western { fon

GPS和北斗卫星授时技术在时频领域的应用和发展

GPS和北斗卫星授时技术在时频领域的应用和发展  安徽京准科技 www.ahjzsz.com   咨询微♥ ahjzsz 一.GPS信息与信息时代 信息时代的特点:一是信息量急剧增加(如需海量存储器):二是信息传输的数字化(如数字通信的发展):三是信息享用的全球化(如互联网的普及):四是信息技术应用的集成化(如ITS---智能交通系统). 信息的主要来源: 除互联网.电视网.移动通信网外,还有很重要的卫星信息源(如导航卫星能给出最重要的位置和时间信息:遥感卫星能给出各类地球表面的遥感数据). G

对一次系统上线的思考-走出“舒适区”

今天,本来计划是会对系统进行一次更新,将这上一周做的需求和修改的bug 发布出去,然后明天开始新的计划,本来团队已经对这个目标达成了一致,大家努力的测试,争取今天能够上线.后来有一位负责的同事说,今天要是上线更新不了,就明天吧,反正我们也没有对需求方承诺具体的上线时间,明天再测试一天,没问题在上线吧.大家一想也对,干嘛非得逼自己今天就上线呢.明天上线不也一样吗?反正我们也没承诺今天必须上线.于是乎大家就这么愉快的下班了. 但是,在回家的路上,越想越不对劲,我们什么时候开始给自己找借口了?我们什么

我用了两年,做到了收入翻番(舒适区危机篇)

和2017年的税后收入相比,19年的税后收入预计能翻番,当然基数绝非是5万10万,毕竟17年的时候我已经达到了Java高级开发的职级.而且在这基础上,尚能做到生活工作平衡. 回想起来,作对了不少事,也走了不少弯路,所以打算用若干篇系列文记录这一过程,一方面也算个总结,另一方面也把走过的弯路写出来,希望各位朋友看了有所收获. 1  在外企舒适区,工资性价比高,但个人所掌握的技术太没竞争力 在2017年初的时候,我在外企也享受了一段比较舒适的时光,到什么程度呢? 1 早上应该是9点上班,但9点半办公

【转】跳出舒适区改变自己,真的好么?

不断跳出自己的「心理舒适区」真的能够让人们取得更大的成就吗? 心理舒适区是一个科普心理名词,概念是比较宽松的,并没有严格的学术定义.心理舒适区很好地说明改变自己带来的不适感是成长的必然,不能因为不舒服的感觉而回避成长(改变自己). 乍看心理舒适区这个概念,大家都会觉得很有道理,有受启发.可是仔细一想,我在舒服圈里(心理舒适区)过得很自在,为什么一定要我跳出舒服圈呢?例如,我做教师这份工作做得得心应手,每天工作生活也很愉快.如果不能一直待在舒服圈,我是不是要辞掉教师工作,当当医生.律师什么的,扩大

如何学习新技术、团队技术选型时要注意些什么

首先,要说明的是,这里的“新”不一定是指时间上的新,在后文中,也可能是指,对于个人(或者团队)来说是“新的”,就是说,这个东西,即使出现了很久,应用广泛,但是个人(团队)没有使用过,那么也可以说是“新”的. 本文地址:http://www.cnblogs.com/xybaby/p/8655593.html 为什么要学习新技术 计算机知识日新月异,经常会涌现出新的语言.框架.思想.虽然说这些东西不一定都是从0到1的创造发明,也许只是微创新,或者将某个领域的思想用到了新的领域.不管怎么样,都能开阔思