刻意练习这个词是我很早之前在知乎上看到的,是我一直忽略的东西。

从上大学起我就在想程序员是一个什么样的职业。我拿去和很多职业做了对比

  • 匠人,比如说那种铸剑师。开凿矿岩,冶炼铁矿,制作胚子,最后冷萃,打磨抛光

  • 武士。练习体力,意志力,心理素质,战斗技巧,不断和人战斗

  • 音乐家,比如说吉他手。学习音乐基础,指法,识谱,演奏

在我心里,做这些的工作的人们应该是对自己的事情怀有自我驱动的意愿便会十年如一日地做下去。我觉得做程序员也应该是这样的。做一行喜欢一行。

前不久我在一个 OJ 上又看到了这个词。这让我重新找到了之前看过的那篇文章并开始重新思考自己关于技术的理解。

刻意练习意味着对于你所关注的事情的态度像是我上面提到的几种职业人对于自己工作所持有的态度

强烈的动机

持续的练习

动机,比如:喜欢一个事物本身(我喜欢吉他的声音所以练习吉他),喜欢一个事物带来的反馈,比如技术上的提升让做技术人的职业生涯走得更高,获得更多的利益。不论出于什么样的动机,甚至是很对动机组合在一起的复合的动机,最终带给人的是 motivation

相对于动机的浅显易懂,持续的练习成为了阻碍大部分人的屏障。

因为天赋精神状态练习数量练习是否科学这些都是决定一个人走是否能向更深层次的因素。

天赋因人而异,但因为他是相对的并且是低概率的所以在一些非极端的场景下都不会凸显出来。一些极端场景比如各类竞技,LOL 游戏中的 faker,游泳比赛中的菲尔普斯,NBA 里面的各种怪兽… 他们都为自己的工作付出了大量科学的练习。以至于和对手之间的比试很大程度上的确是在—拼天赋。

而对于绝大多数人,我认为更重要的是要拥有良好的精神状态,加上科学的练习方式以及持续的练习会是高概率走向领域深层次的必要条件。

良好的精神状态来源于对自己身体和心理健康的管理。虽然这是浅显易懂的道理,可是依旧有很多人输在了这一层。他们往往无法专注,时不时身体出现异常,总是被生理上的问题困扰。

足够的练习数量是在数字上衡量一个人技艺水平的方式,这很简单也很直觉。比如说我们生病了喜欢找看起来年龄较大富有经验的医生,高级程序员的招聘 JD 上总是习惯性的出现要求 3 - 5 年或者更多。

但我想说的是,很多无意义的付出的确是没有回报的。

科学的练习方法是技术人一定要学会掌握的技能。如果你是身边有一群更优秀的人,那么你的行为容易得到纠正式的反馈,同时观察到他人的练习方法自身也可以学到更多。如果没有这样的条件,那么也或许可以根据我总结的下面四点找到属于自己最科学的练习方法。

  • 设定精确的目标计划 短期内的,比如一周或者两周将要做的事情。这些事情一定是经过了仔细评估的

  • 保持专注 这是高效练习的原始动力

  • 有效反馈 能积极快速认识到自己这样练习方式是否正确

  • 在舒适区面前保持理性 不断练习不断产生成就感,不断割舍掉成就感往下一个目标走去

以上,便是我认为的技术人的刻意练习。