为何同样工作多年,别人写代码流畅自如,而自己却仍频繁被基础问题绊住脚步?
面对复杂的 bug,同事总能迅速解决,而自己却常常陷入迷茫,不知所措?
同样是开发者,为何有些人技术进步日新月异,而自己却仿佛停滞不前,多年的工作经验并未带来显著的能力提升?
这些问题,《刻意练习》有答案。
01 刻意练习是什么?
刻意练习与普通练习之间的区别,在程序员群体中同样显著。其核心在于两点:明确的目标设定与高度的专注。
首先,刻意练习要求程序员为每一项技能提升都设定明确且可衡量的目标。比如,在编程领域,提高代码效率、掌握新的编程语言或框架、优化算法等,都是可以进行刻意练习的具体目标。这些目标清晰明确,每一次的练习都能朝着这些目标迈进。
以两个程序员小李和小张为例,你就知道什么是刻意练习,什么是普通练习了。
案例1:程序员小李,他在编程上投入了大量时间,非常勤奋,但他的勤奋在于,只是按照任务要求编写代码,缺乏明确的目标和深入的思考。他没有主动寻找难题挑战自己,也没有定期回顾和总结自己的代码,更没有寻求高手的指导与反馈。
案例2:然而,另一位程序员小张是这样做的,小张同样热爱编程,但他更注重技能的提升。他为自己设定了明确的目标,比如掌握一门新的编程语言,并在实际项目中应用。为了实现这个目标,他主动寻找相关的教程和书籍学习,同时参加在线编程社区,与高手交流心得。在编写代码时,小张注重代码的质量和效率,不断尝试新的算法和数据结构。他还定期回顾自己的代码,找出其中的不足并进行改进。通过这种不断设定目标、练习、反馈与改进的流程,小张的编程技能得到了显著提升,成为了团队中的佼佼者。
大家可以看到,与小李相比,小张的成功在于他进行了刻意练习。他没有仅仅停留在完成任务上,而是不断挑战自己,设定更高的目标,并寻求改进的方法。这种专注和持续的努力,将会让他在编程领域取得显著的进步。
综上所述,刻意练习就是通过明确的目标设定和高度的专注,来不断提升自己的知识和技能,成为团队中的顶尖高手。而那些缺乏刻意练习的练习,即使投入大量时间,也难以达到同样的水平,他只是在无效重复而已。
02 为什么要使用刻意练习
刻意练习为什么能够使小白成为大师,它背后的底层原理又是如何呢?
一、大脑可塑性:俯卧撑的世界纪录和伦敦出租车司机
大脑的可塑性是人类不断挑战自我极限的基石。从俯卧撑的世界纪录演变,从1980年日本人的10507个俯卧撑,到1993年美国人在21小时内完成的46001个俯卧撑,这些数字不仅彰显了人类身体的潜能,更深刻揭示了大脑在持续挑战下的惊人变化。
全世界最难开的出租车是伦敦的出租车。因为伦敦的街道完全没有规律,它跟中国完全不一样。所以外地人不要指望到伦敦,用GPS就能够搞得定,用GPS在伦敦都很难开车。伦敦的出租车司机是一个特别严格考试的一个群体。他们考这个试是给你特定的时间,然后给你很多个这个犄角旮旯的点,你要准确地到达那个地方。一旦你考上伦敦出租车的这驾照,你就可以有一份非常不错的收入。所以很多人就会拼命地去考这个伦敦的出租车驾照,这个是需要长期练习的。
后来心理学家就把这些拿到了出租车驾照的这些伦敦司机拿来做大脑部的扫描,发现了一个很有意思的现象。跟他们对比的是什么人呢?是那些公交车司机。因为公交车司机是沿着一定的路线在开车。还有普通人。结果发现这些伦敦的出租司机的海马体的后边都比正常人以及公交车司机都要大得多。
伦敦出租车司机通过长期复杂的路线记忆训练,大脑的海马体后部显著增大,展现了大脑结构与功能的重塑能力。这种可塑性意味着,通过持续的训练,我们可以不断拓展大脑的潜能,挑战身体的极限。
二、心理表征:刻意练习的核心
心理表征是刻意练习的核心,它是指个体对某一事物形成的下意识反应,是训练达到高度熟练的标志。从打字时的键位记忆,到足球运动员在比赛中的流畅传球,再到象棋大师下盲棋的能力,这些看似不可思议的技能背后,都是心理表征在发挥作用。心理表征的形成需要长期的训练与积累,它使个体在面对特定任务时能够做出下意识的、高效的反应。在阿根廷世界杯的经典传球案例中,球员们通过长期训练,将踢球动作转化为下意识行为,形成了对球场局势的完整心理表征。而业余观众与专业解说员看球赛的视角差异,也源于心理表征的完善程度不同。因此,刻意练习的目的就是创建和完善心理表征,使个体在专业技能上达到前所未有的高度。
03 如何使用刻意练习
《刻意练习》这本书提供的方法论是 3F 原则,即 Focus(专注)、Feedback(反馈)与Fix it(修正),是提升自我、跨越停滞阶段的重要法则。在此基础上,我想在 3F 之前添加一个步骤,设立目标。经过【梦想岛】自律社群运行一年来看,很多人无法坚持,无法自律,无法实现自己的减肥目标或者学习目标,很大部分原因是因为根本不会定目标。所以整合之后刻意练习的4个步骤如下:
第一步:Goal – 目标(符合SMART原则)
设立合理的目标是刻意练习的前提和基础,而一个合理的目标应当符合SMART原则,即具体(Specific)、可衡量(Measurable)、可达成(Achievable)、相关性(Relevant)和时限性(Time-bound)。以从软件开发小白成长为架构师为例,一个符合SMART原则的目标可以是:“在接下来的两年内,通过系统学习和实践,掌握至少三种主流编程语言,熟悉软件开发的全流程,并能独立设计并实现一个中等规模的系统架构。”这样的目标既具体又可衡量,同时考虑到个人的实际情况和时间的限制,为实现从软件开发小白到架构师的转变提供了明确的方向。
第二步:Focus – 专注
专注是刻意练习的基础。在软件开发的学习过程中,要求学习者全神贯注,将注意力集中在当前的学习任务上。比如,一个初学者在掌握编程语言时,需要专注于每一个语法细节,通过不断练习和实践,逐步构建起坚实的编程基础。
第三步:Feedback – 反馈
反馈是进步的阶梯。在软件开发的学习过程中,主动寻求专业人士的反馈至关重要。学习者可以通过参与开源项目、向资深开发者请教等方式,了解自己的代码质量和架构设计方面的不足,进而进行有针对性的改进。反馈就像一面镜子,帮助学习者发现自身的盲点,指引他们前进的方向。
第四步:Fix it – 修正
修正是成长的必经之路。在获得反馈后,学习者需要勇于面对自己的不足,积极地进行修正和改进。在软件开发领域,从初学者到架构师的转变过程中,每个人都会遇到技术瓶颈和挑战。在这个阶段,保持学习动机变得尤为重要。学习者可以通过设定小目标、记录学习进度、参与技术社区讨论等方式来保持学习热情,不断跨越停滞阶段,最终实现自我超越。
综上所述,以上4个步骤不仅适用于软件开发技能的提升,也渗透于我们生活的方方面面。通过设立合理目标、专注学习任务、寻求专业反馈并据此修正自己的行为,软件开发学习者能够在刻意练习的道路上不断前行,从软件开发小白成长为架构师。在这个过程中,可能会遇到困难和挫折,但只要保持专注、勇于接受反馈并积极修正自己的不足,就一定能够实现技术精进和超越。
04 你眼里的天才们离不开刻意练习
很多人认为天才是天生的,如莫扎特4岁谱曲,6岁演奏,还具备完美音高,能准确分辨每个音符。然而,事实并非如此。在这本书中,作者打破了天才的神话,指出莫扎特并非天生具备完美音高,而是得益于他父亲的全职培养。莫扎特的父亲是作曲家,他在培养莫扎特的过程中,积累了丰富的经验,最终将莫扎特培养成了杰出的音乐家。
同样,帕格尼尼也被视为天才。传说中,他曾在演奏小提琴时,连续三根弦崩断,却仍用剩下的一根弦完成了演奏,且演奏得十分流畅。这一壮举让人们惊叹不已,认为他是天生的音乐天才。
然而,经过深入调查,作者发现帕格尼尼的这一壮举并非偶然。事实上,他之前为了追求一位女士,曾创作了一首去掉中间两根弦的曲子,只有一根粗弦和一根细弦,模拟男女生对话的感觉。这次尝试让他萌生了挑战只用一根弦演奏的想法。于是,他进行了大量的练习,直到完全掌握了这一技巧。在公开演出时,他故意绷断三根弦,用剩下的一根弦完成了整首曲子的演奏。
这本书揭示了一个事实:所有的天才在表面上看起来似乎都有着不可企及的高度,但事实上,他们之所以能成为天才,唯一的秘密在于刻意练习。他们拥有一套系统性的方法,不断地突破自己的边界,从而达到了令人瞩目的成就。
因此,我们不应该盲目崇拜天才,而应该学习他们的方法和精神,通过刻意练习来提升自己的能力。只有这样,我们才能在各自的领域里取得更大的进步和成就。
现在知道你跟大师的区别在哪里了吧?从现在开始,给自己设定一个清晰的目标,专注地投入在这个目标上,然后找个能够链接到的相关领域的高手,请别人帮忙指导,平时请个咖啡或者请顿饭。然后根据大师的意见不断做出调整,如此反复,假以时日,你也离大师不远了。