当我们在说照顾的时候,我们实际上是在给新人减压。当我们在说容忍犯错的时候,我们实际上说你可以犯一两个错误。减压更像是在塑造一种更好的学习体验,或者说更愉快地学习方式。
学校的时候,学习倾向于理论性的学习。
工作的时候,学习倾向于应用性的学习。
两种不同方式有着不同的区别,即一个广度,一个深度。
在构建系统的时候,通常我们需要一个基本能工作的系统,其次在系统不断开发的过程中。我们对于深度了解的需求已经变得比广度更为重要。
故而,在一个以产品为主的开发团队中,在早期他们更需要那些有广度和速度作为支撑的开发人员,在后期则需要以深度作为支撑的开发人员。
两种人才可以在不同的时期发挥着重要的作用。
在《认知设计》一书中,提到了下面的学习体验,即"流"(Flow)。而在我们学习的过程中,我们也会有类似的学习过程。
如在早期我学习Emcas和GNU/Linux的时候,也曾经放弃过,虽然在当时我已经读过Linux内核。然而,在应用之前进行理论学习并没有卵用。
通常我们会有类似于下面的学习体验,对于一本书来说有下面的体验似乎也是一件很不错的事:
只有当我们保持一个学习的过程,才会让我们在这一步步的计划中不会退缩,也不能退缩。
在前面,我们已经说了足够多的废话,来支撑我们的标题。
在上篇《如何构建理想的开发团队》中我们说到了一点,即结对编程。在结对编程中会存在至少三种模式:
采用结对编程不仅可以提高新人的水平,对于老人的能力也是很大输出。即之前别人输入我们脑子中的想法,我们需要再传递出来。对于程序员这一类人必然会有很大的提高,如果你不擅长表达的话。
所以,我们所说的照顾实际上是一个更好的学习体验。
很我时候,我们总是局限于第二步,故而无法更好地指导他们完成工作。
围观我的Github Idea墙, 也许,你会遇到心仪的项目