第5章 恒久学习
如果我们放纵自己,我们将总是需要等待一些消遣或其他事情结束才能安心工作。只有那些对知识非常渴求,以至于在不利的环境下仍能坚持探索的人才会取得更大的成就。从来就没什么“有利条件”。
——C.S.Lewis,"Learning in War-Time"(战时学习),"The Weight of Glory"(荣誉的分量)及其他演说
Andy Hunt,一位很受人尊敬的软件技师,曾多次表明一种观点:软件开发由两种主要的行为构成:学习和交流(《Pragmatic Thinking and Learning》[注重实效的思考和学习],第3页)。基于这种思想和观点,我们可以得出:学徒期的主题就是学习,成功学徒的显著特点就是能证明自己的学习能力。学徒总是渴望有机会用技能替换自己的无知。当一个学徒面对他必须应付的工作复杂度,还有看似会把人淹没的信息量,这绝非易事。除了学习“具体技能”这种基础的活动,学徒还必须学会如何学习,显然,向着熟练工的转变过程并不会消除学习的需要。师傅们的特点之一就是:他们愿意放下辛苦得来的特定领域的专长,以便学习新东西。对那些为精通技能而长途跋涉的人们,学习是一种恒久的行动。
跟“恒久学习”有关的模式可应用在你的整个职业生涯中,但考虑到学习对于学徒的重要性,早一点把它们运用到职业旅途中非常重要。对想要成长更快的学徒来说,“提高带宽”是一种基本行动,而且该模式还能促动其他几种“恒久学习”模式,如“质脆玩具”、“使用源码”和“不断实践”。所有这三种模式都来自于对新信息的全面接触,或者对获取新知识的渴望:你是否在实践一种新技术,为学习新平台而构建一些东西,或者在研究一种革新性开源工具的源代码。这个相对具体的模式之后是一些更“软”的自我发现(self-discovery)模式,从“且行且思”开始,到“记录”和“分享”你所学到的东西。有两种关键的模式将伴随你一直到学徒期之后的岁月,它们是“建立馈路”和“学会失败”。为了转变成熟练工并最终成为师傅,你需要善于建立反馈回路(feedback loop),也需要对自己的弱点了然于胸。