附录B 一次学徒培训的号召

Dave Hoover

注解

这是我2007年8月22日发表在自己博客上的文章[1]。这次行动号召(call to action)面向那些有能力雇佣学徒并建立学徒培训项目的人。即使你目前没有这种能力,我也希望你能把这些内容记在心里,伴随着你慢慢走过学徒生涯。

上周在2007敏捷大会上,我悄悄溜进了Bob大叔有关专业技能和职业精神的最后30分钟演讲中。当Bob大叔谈到工艺技能的时候,他主要在讲一些工艺方面的详尽细节,比如特定的实践方法和工具,但他还是有一张幻灯片是关于学徒训练的。他有些激动地抱怨现在的大多数高校,怪他们不能使毕业生掌握足够的技能,以便在上班的第一天交付高质量的软件。(更不用说数不胜数的从其他领域转向软件开发的人们,他们甚至连Bob所说的“不合格的计算机科学教育”都没接受到。)Bob认为我们需要把这些年轻人,也就是这些毕业生和新来的人,作为学徒带一带。他还声称最有效的学习环境应该是这样的:数量不多的学徒和数量更少的熟练工一起工作,而他们一起接受来自师傅的指导。听着Bob大叔的演讲,我的耳朵就像在听音乐,直到他询问观众席中有没有人在这样一种环境中工作。

我自豪地举起了手,然后我环顾四周,发现只有我一个人举手,这时我的心沉了一下。

在大会剩下的时间里,我因为发现Obtiva的软件工作室是如此稀奇的事情而感到一丝骄傲。同时我也在抵御一种沮丧和失望的感觉,因为我们这个行业能为毕业生和新来者提供的学徒机会这么少。我最大的失望是发现一些小公司(1~20名员工)完全由经验超级丰富的、世界一流的开发者、教练和和培训师组成。我能理解你们的压力,知道你们为什么只雇用那些已经小有名声而且有5年以上职业经验的人,但我认为,你们是在损害这个行业,因为你们不声不响地推诿了顺路带上几个学徒的责任。

当毕业生和新来者寻找第一份工作的时候,他们会去哪里呢?他们自然是去招收入门新人的地方。恰恰是这一点埋没了我们最大的一部分潜力,因为有潜力成就卓越的人们待在乏味臃肿官僚的开发组织中会逐渐丧失信心。设想一下,如果年轻的Nathaniel Talbott,由于缺乏经验和资质,不能做太多有趣的事情,只找到了一份“入门级”的职位,而不是成为RoleModel软件公司的第一名学徒,那结果会怎样?当然,很可能会有另外一个人为Ruby编写单元测试。而Nathaniel仍有可能成为不错的软件开发者。但我确信Nathaniel的学徒过程已经对我们的行业产生了影响,而我们的行业因为这种影响而变得更好。

学徒培训不只是雇佣入门级的新人那么简单。学徒培训是把一名学徒跟一名熟练工联结起来。并不是说他们一直结对编程,而是说熟练工要督导学徒的进步,对学徒来说,则是在物理距离很近的地方,有一名有经验的开发者,他可以随时向他请教。

此外,学徒也不一定都是入门级的新人。我们的第一批学徒大体上都有一到两年的工作经验。有些是未完成学业的在校生。有些最近才毕业。有一个人到年龄很大时才重启自己的IT生涯。学徒是那些愿意接受初级职位从而使学习机会最大化的人,而不是那些往经济收入最大化的职位上拼命攀爬,慢一分钟都不行的人。按我的经验,如果学徒拥有才干和正确的态度,其经济上的成功必然会伴随着学习的成功水到渠成。

请您考虑在自己的组织内建立学徒制度。我相信,面对着人才匮乏问题,学徒培训是我们这个行业最大的希望。

我很幸运地进入了优秀大学,在那里学习了很多的理论知识(那时还没有现在这么多理论)。然而,真正让这种经历闪光的是我参加过的学徒培训。一个毕了业的学生把我收入麾下。他没有直接教我什么,但他通过一些例子让我明白杰出的程序员如何思考。跟以前的课程学习相比,月复一月地在他旁边工作使我吸收了更多关于设计、编码和调试的实用知识。

后来,我又加入了伦敦的一家创业公司,在那里我参加了另外一种学徒培训。我的新老板向我指出:软件开发中人的因素和技术“同样”重要。他让我理解了软件方程式的业务一端,并教我杰出的开发者如何基于技术实力打造个人人际关系。

我从这两种完全不同的学徒培训中“毕业”,成为一名比刚起步时更有实力的开发者。因为这些经验,我现在是一名学徒培训的信徒。和师傅们一起工作是学习工艺的最佳途径。

——Dave Thomas,在McBreen的《Software Craftsmanship》一书中,xiv页

[1]"Red Squirrel Reflections"(红松鼠沉思录),参见:http://redsquirrel.com/cgi-bin/dave/craftsmanship/a.call.for.apprenticeship.html.>"Red Squirrel Reflections"(红松鼠沉思录),参见:http://redsquirrel.com/cgi-bin/dave/craftsmanship/a.call.for.apprenticeship.html.