不一样的入职之旅
不一样的旅程
在ThoughtWorks,新加入的应届生将获得为期五周的出国留学机会(ThoughtWorks University,简称TWU),社招加入的小伙伴将会参与为期三天的TWI。除此之外,公司还将提供诸如NHO、Session、Workshop、Buddy/Sponsor、TL、极光计划(领导力)等数不胜数的培训。所有这些培训都将让你的职业之旅变得不一样。
而更不一样的是,ThoughtWorks北京办公室联手思沃学院推出了一个本地化项目人才培养计划,针对某本地项刚刚入职的5位新人(应届生)进行 "封闭式" 脱产培训。旨在通过为期四周的高强度培训,帮助新人快速融入到项目中。作为教练,我来说说它到底不一样在哪里。
受思沃学院“以学习者为中心”的教学启发,我给此次培训起名为以学习者为中心的项目驱动培训,一来培训目标很明确 – 让新人更好更快地上项目实战,二来以项目为驱动力的培训是一种强有效的能力培养方式。
不一样培训体系
不同于象牙中“以老师为中心” 的填鸭式教学,以学习者为中心强调的是以学生为中心的启发式教学。然而,初出象牙塔的新人可能仍然保留了较为强烈的学生 - 老师的象牙塔意识。所以作为教练,我们首要任务是识别出他们的意识形态,并帮助其调整。
整个培训贯穿了一个宗旨 – 让新人通过培训后能够更快、更好地为项目做贡献。在大目标的指引下,制定合理且可以落地的验收标准,以可验收的目标为导向。
ThoughtWorks的特色文化(敏捷)时刻在督促我们:在培训过程中坚持持续、反馈、优化、并将敏捷实践渗透到培训中。同时,通过教学过程的反馈环来强化技能成长。别出心裁的是,我们推崇辅以运动健身来提高培训的可持续性和高效性。
以学习者为中心的项目驱动培训的培训体系涉及以下几大方面:
意识形态的更新
意识形态,某种意义上又回到了认知的问题。对于刚从象牙塔中走出来的新人,他们对学习的认知会直接影响他们的学习方式和学习效率。
削弱象牙塔意识
之前当小Buddy的经验告诉我,刚步入职场的新人思维中往往充斥着较强的象牙塔意识。典型的表现是在遇到问题后的第一反应是跟老师索要答案,而非自己先冷静下来去跟问题对话。作为教练,如果每次遇到这样的求助都无条件的给予帮助,只会助长其这种意识。面对这种问题,我们会采取以下措施:
拒绝出现老师词汇。从平时语言交流形式上淡化老师还在的心里暗示,以此帮助摆脱依赖心理。
传授解决问题的套路。扭转他们的意识,在这个过程中需要通过一些新的工具去帮助他们养成新的习惯。
关于解决问题的套路大致可以分为如下几步:
冷静下来与问题对话,了解问题是什么(核心)。
找出关键错误信息,尝试独立解决(利用互联网/问题库)。
如果在预期时间内没有解决,尝试寻求他人帮助,并带上自己的调研结果。
"放弃"。当上述三条都没有奏效的时候,起身活动,让大脑放松后再开始。
削弱象牙塔意识是一个持久战,我们会在培训过程中不断地加以引导。比如,在遇到这种现象时可以反复问他们:问题的关键信息是什么?可不可以快速验证一下你的猜测?应该去哪儿找到答案?谁可以提供帮助?通过这些问题激发他们去思考改变。
建立Owner意识
左边做减法,右边做加法。此时应该抓住机会培养他们的责任意识。像 Retro、Code Review、Standup 这些日常敏捷实践可以交由他们去主导。而一旦作为Owner,他们除了能自己快速地掌握,还会去思考其背后的本质。更重要的是,Owner意识的提高会驱使他们不断地自我学习,突破自己,追求卓越,给他们未来的成长打好基调。
明确且可验证的目标
某些项目(Account)在培训新人的时候,针对检验目标,通常是抽象模糊的,比如 能够进行良好的团队协作。对于培训,在开始之前我们得回答两个问题:新人将具备什么能力?能通过什么检验?这两个问题本身没有标准答案,我们会把握住一个核心点:基于项目的需求因地制宜。所以,目标的制定需要PM/TL的参与,我们邀请了PM/TL以及长期从事应届生培训的思沃学院的老师共同来落地这些目标。下图是针对5位新人制定的目标和Checklist:
有了目标,还需要一个循序渐进的培训计划针来达成目标。在做计划之前,教练会先画出一条技能培养主线,后续的每日计划沿着主线推进,并根据知识点的依赖性安排先后顺序。
关于目标,我们会做到公开、公平以及共享,即让每一位新人明确培训的目标。
围绕项目的技能树
教练在培训开始前花时间将项目上相关的技能进行梳理,并通过一些工具(比如思维导图)可视化出来。下面是我们项目的技能树:
下一步是要针对这些技能划分优先级,通过不同的Flag标记出来,比如图中橙色星星表示在培训中重点讲解和实践的,红色星星需要了解,蓝色会被提及。构建项目技能树可以遵循一个方针:技能树的枝枝叶叶都源于项目,两个关注点:关注技术栈 & 关注业务分析。
那么如何让新人消化并吸收技能树枝叶的营养对教练来说是一项具有挑战的任务。除了需要大量时间去准备,还要非常用心,但也不是没有套路可循。
教学反馈环
针对每项技能的教学,教练会按照 讲解 -> 演示 -> 练习 -> 巩固 -> 拓展 -> 反馈 -> 分享的模式展开。
讲解。授人鱼不如授人以渔,最好的方式是莫过于让新人掌握技术框架的实现原理。比如在讲解Spring IOC的时候,可以使用Java反射、注解来实现一个IOC容器。然而,在较大的时间压力下,新人接受度达不到预期的效果,这就要求教练要学会讲故事,借用通俗的比喻来介绍知识点,通过必要的可视化工具(比如时序图)来提高讲解接受度。
演示。教练提前准备一些演示习题,在讲解完后通过习题来演示技能的应用。
练习。Time-box限时编程练习,建议使用表格记录下新人每次完成时间。通过反复的限时练习来培养他们编码的感觉并形成肌肉记忆,不用在意他们优秀的记忆力,因为后面还有验收环节。
巩固。布置一定量的课后作业,一方面是为了巩固学习,另一方面是不让他们松懈。实践证明,适当的忙碌和压力能够增强新人的安全感,但要当心过于繁重的作业影响睡眠和第二天的培训。
拓展。这是激发新人自我驱动去扩展知识的好机会。比如,绘制概念图 – 在绘制概念图的时候会扩展学习不少相关的技能。
反馈。针对编码训练,教练会通过验收习题(不同于练习题和作业)来Time-box获取小伙们对知识掌握的反馈。验收习题会 回归项目,从项目代码库中找出相关技能应用场景来验证。
分享。分享作为一个附加环节,针对重要知识点,我们会鼓励新人进行Session分享,在分享过程中检验学习成果,同时可以激发他们集体思考和讨论。
上述的反馈环帮助教练高效地传授和验收知识技能点,同时也对教练提出了较大的挑战,如何让这个过程发挥更好的效果?如何准备有针对性的习题?如何将习题有效的串起来? 等的都需要教练花大量时间去思考和总结。最后,提倡在整个教学过程中:多用肯定词,少用或尽量不用否定词。
持续改进的反馈
持续改进是ThoughtWorks的优良传统。很多时候我们在收集/给予大家的反馈,目的是让自己和对方更好地成长。这在培训过程中也不应该有例外。在开始阶段新人的反馈意识并不强,教练会有意识地给予引导,引导他们去提出有效的反馈。对于教练,我们将尝试以下几点:
提醒新人随时针对培训和教练提出反馈,以及互相之间给予和收集反馈,提高他们的反馈意识。
肯定和赞美新人的进步和良好表现,提高他们的自信心和积极性。
及时指出新人的不良编码习惯和学习方式,纠正他们的编码习惯,千万不要错过这个良机。
对于新人,他们同样可以给出有效的反馈:
对培训整体的适应程度,帮助教练调整培训强度和进度。
对知识点讲解的接受度,帮助教练优化知识讲解的方式。
除了及时的反馈,定期的Retro也是有助于持续改进的优秀实践。
特色的敏捷文化
敏捷跟ThoughtWorks关系就像社会主义跟中国的关系。
以敏捷著称的ThoughtWorks,敏捷是我们的特色文化,就像家常便饭存在于日常工作中。所以在培训我们不是把敏捷挂在口头上,而是让它们渗透在各个环节中。教练自身要对于日常的敏捷实践了如指掌,并能够担任敏捷教练职责。
Standup、Code Review、Retro、TDD、Pair、IPM、Kick-off、Desk-check 等敏捷实践都可以植入到培训中。关于这点,要把握的核心宗旨是:敏捷无处不在。教练在开始担任敏捷教练,之后交由新人去主导,让他们逐步具备成为敏捷教练的能力。
需要特别强调的是 TDD 和 Code Review(TDD 没有作为Check point)。TDD 对于新人会有较大的挑战,甚至引起一些抵触心理,但它非常值得为之付出努力。而 Code Review 是一个发现和纠正新人不良编码习惯的好时机。这两点对于他们日后成为优秀的程序员至关重要。
《我在ThoughtWorks中的敏捷实践》一文对敏捷实践做了详细的介绍。
保持运动健康的状态
作为程序员,辛苦是不可否认的事实,如何在辛苦的状态下持续快乐下去(痛快)。我们得拥有一个健康的体魄,并且不要吝啬让身体回归自然 – 生命在于运动。
说到运动健身,大家第一反应可能是健身卡、速干衣、跑步鞋、蛋白粉、功能饮料等。有人会雇专业的健身教练指导,我更建议将运动融入到工作生活中。如果能将久坐8小时之后去健身房锻炼1小时转换成8小时每隔1小时运动7分钟,便可以杜绝腰椎盘突出、颈椎病、肩周炎 等职业病。
在培训过程中除了保持合理的节奏,预留出休息活动的时间,我们会在办公室空旷区域开展集体的运动,比如平板支撑、开合跳等。更重要的是,加强身体锻炼有利于教练授课的可持续性和高效性。
我在《改善程序员生活质量的3+10习惯》中提到的一些小的习惯可以帮助你保持健康的状态。
不一样的宗旨
以学习者为中心,它与象牙塔中以老师为中心的填鸭式教学区分开来,如何找准这个中心,我们始终把握住以下三点:
教练应尽量少讲课,多去引导启发学习者去思考和学习,并提供足够的辅导,通过必要的测试来收集和给予有价值的反馈。
学习者应清楚学习理由和学习目标,并明确自己的目标(具体、公开、共享)。旨在提高学习者对学习目标的重要性认识,从而进行有效的自主学习。
教练通过必要的课堂知识分享,并充分赋予学习者选择学习的权力,培养他们对自身学习成长的责任意识。
期待不一样的你
在ThoughtWorks,学习是一件终身大事,培养人更是我司的立足之本。以学习者为中心能够激发学习者高效学习成长,以项目为驱动力,有助于打造一个短期内专注度极高的目标。
如此不一样的职业之旅,我想你一定会喜欢,如果你已经心动了,赶紧行动起来吧。聚集了一群优秀小伙伴的ThoughtWorks期待不一样的你。
- 相关阅读 -
点击【阅读原文】可至洞见网站查看原文&绿色字体部分的相关链接。
本文版权属ThoughtWorks公司所有,如需转载请在后台留言联系。