这个夏天,再一次coding with her

“毕竟我们只有这一次结对的机会,一个题目总要善始善终,所以不知不觉就写到了凌晨两点,和小伙伴用git协作,寝室只有我的电脑屏幕发出微弱的光,感觉夜晚如此静谧,而我们的大脑和手指都在激烈又高速运转着,我喜欢这样忘我的感觉。”

再遇见

在参加完第三季ThoughtWorks最佳编程体验之旅活动后,凯欣在自己的博客中写下了这样的回顾,这是她第二次参与最佳编程之旅。同样经过了为期四周的线上编程挑战,同样是从一千多名网申报名者中脱颖而出,最终与其他127名学生一起来到ThoughtWorks位于北京、武汉、西安、成都、深圳五城的根据地体验结对编程。

(第三季最佳编程体验——五城集结)

这次活动从开始报名到最终落幕共历时一个月,大家在其中学会的第一课可能就是——坚持。平心而论,今年的线上题目难度并不高,在题目截止之前,ThoughtWorks工程师还在线上分享过程中“无心插柳”的讲解了考题,并对同学们在这一过程中所遇到的问题进行解答。意在让大家遇到难题时能够选择直视问题、正面出击,毕竟在真实的工作场景中,“退缩”从来都不可取。

但即便如此,仍然有近90%的报名者在两轮线上答题赛中退出。最终,留到最后的128名同学在6月8号聚集在了一起。提到这次相聚,凯欣用了“久违”二字。这其中并不全是怀念,在去年的编程体验中,她算是抱憾而归。在侧重于“交付完整产品”的比赛中,由于纯粹追求设计思想与代码质量,忽视了内部研究,最终与第一名失之交臂,还错失了心心念念的“无人机”奖品。在朋友圈看到活动信息后,她第一时间报了名,想看看今年的玩法会有什么不同。

确认过眼神,遇上对的人

第三季最佳编程体验之旅的主题是“Coding with her”,作为全球最佳女性科技雇主,ThoughtWorks认为在科技领域男性和女性没有差别,在校招过程中也一直坚持男女比例1:1。在第一天的碰面中,同学们就见到了来自ThoughtWorks气场全开的几位小姐姐,她们都是公司内部非常厉害的程序媛,能文能武,可以利落的解决技术问题,也可以很好的兼顾工作与家庭,被内部同事称为“刀马旦”。

初遇“刀马旦”,倾听她们讲述ThoughtWorks的文化理念、职业经历与个人实践,学生们也在这个过程中“确认眼神、找到对的人”,定下后面两天结对编程的coach。凯欣选择了北京办公室的大姐大——禚娴静作为coach,因为“喜欢她的气场,感觉莫名亲切,喜欢投缘的人。”

紧张Coding,快速交付

作为第二次参加的“过来人”,凯欣对结对编程的概念及方法、TDD(TDD是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码)等实践方法都有所了解。在听完讲解、拿到需求后,就迫不及待的想要开始做整体设计。

这时大姐大却提醒她们,要着眼于当下需求,“我们就很听话地从实现第一个需求开始测试驱动开发,我写测试,小伙伴写实现,一路乒乒乓乓,极其尽兴,几乎忘了所有人的存在,沉浸在程序世界无法自拔,不知不觉就到了五点半截止时间,代码还有一点不太完美的地方,纠结要不要继续改,担心犯规什么的,我们俩最后一致决定要完成它,在最后完成所有基础需求的时候,我们给大姐大做审阅,大姐大咔咔咔指出n个不足,最有感触的一句话是:测试要从需求层面写,我当时好佩服啊,架构师就是不一样,一眼就能看出问题,给我们宏观的把握,接受完指点后感觉自己好幸运,那天晚上非常愉快地从大厦出来,和小伙伴一路商讨,回顾大姐大的点评,想到代码有哪些不完美,我们俩就哪哪都不舒服,也顾不上什么规则了,决定晚上回去继续做。”

在为期两天的编程和showcase过程中,大姐大一直守护在身后,对凯欣小组所遇到的问题进行引导。在这个过程中,回答问题并非主要目的,更重要的在于“授之以渔”,让她们拥有解决问题的思路。这不同于课堂上的直线教学,在真实项目中,问题是无法精确预见的,只有解题思路能够常存心中。这也是为什么ThoughtWorks要把最终脱颖而出的学生聚集到一起、让大家去体验真实的开发过程和工作场景。

(凯欣小组)

最终,在最后一天三分钟的showcase过程中,凯欣和小伙伴赢得了在场coach的称赞,并成功拿下“小蜜蜂”奖品。更让她开心的是,这次奖品的设置是从多个角度进行衡量的,——“这和平时的单一评判标准(分数)决定学生好坏的片面评价不一样,衡量一件事就该多方面衡量,每个方面做的出色的同学都该得到鼓励和表扬,这一点就比第二期的活动做的更好, 很走心。”

尾声

6月10日下午,为期两天半的线下结对编程结束,走在回去的路上。凯欣在回味大姐大点评的同时或许也会想到大姐大的开场分享,“我不知道我50岁的时候会在做什么,但是,一想到很可能是在写代码,我就很开心。我也曾经无数次的想过要选择放弃,但是我站在这里就是最好的答案。”


更多精彩洞见,请关注微信公众号:思特沃克

Share

不一样的入职之旅

不一样的旅程

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期待不一样的你。


更多精彩洞见,请关注微信公众号:思特沃克

Share

写给新人的一封信

情从何起

又是一年毕业季,回想起自己从校园到职场的过渡,也曾有过许多迷茫与困惑。而今已经踏入软件行业四年,自己也积累了一定的经验与认知,因此想要给想要进入这个行业以及已经身处其中的新人们分享一些Tips。

所谓新人

这里的新人包含在校的科班/非科班学生、半途转向培训班的培训生以及正在纠结于是否要进入软件行业的弟弟妹妹们。当然,这其中还包括一只脚已经踏进软件行业,却心存迷惘的探索者,正如2013年的我。

认知误区

不可否认,任何行业都存在一些流言蜚语,当今备受关注的软件行业更是如此。新人们或多或少听过一些,而这些流言蜚语也在无形之中影响甚至左右了部分新人的思考和最后的选择。我从其中挑了一些出来:

  • 软件行业薪资高,想拿高薪就削尖头进来?
  • 身体被掏空,青春饭只能吃几年?
  • 花点钱参加一个培训班,随意写写代码就能谋得一份好工作?

我特意将这些言论以疑问句的形式罗列了出来,如果你给出的是“肯定”回答,那么要提醒你,你已经进入认知误区。为什么是误区?下面就据我的经验来回答这些问题。

高薪蛋糕也得有我的一口

身边参加软件培训的人越来越多,女生偏多的是软件测试,男生偏多的是Java Web软件开发、Android开发、IOS开发,一般周培训期为3~6个月,费用从9k~1.8W不等。

需求的增长带来了市场的增长,被冠名为“速成班”的培训机构犹如雨后春笋搬层层冒出,随之而来的问题是,毕业于培训班的从业人员素质却达不到专业标准。因为他们不光想要速成,而且想要速速挣取高薪。可结果呢,真的拿到高薪了吗?真的找到好工作了吗?

不一定!

我所了解的主要有两种,一种是因为真爱来参加培训,他们在培训过程中付出了极大的努力,能够踏实的从低起点开始积累历练,这种人显然不是冲着高薪而来的,不过经过几年的积累,他们的薪水会快速增长。而另一种则是因为不喜欢自己所做的事情(或者觉得工资低),但又不知道要做什么,看着身边软件行业的朋友都拿着比自己高的薪水,于是花血本参加一个培训,挤进软件行业,拿了一份比自己之前工资高了不少的工作,可仍然因为没有太大兴趣,没有持续投入提升自己,几年如一日,不仅薪水几乎停滞不前,还要干着自己并没有兴趣的工作。

假如把这两种划分到两个极端的话,那么更多的人是处于这两个极端之间的。

如果只打算混一份较高薪水的人越来越多地充斥在这个行业,必然会导致这个行业的整体质量下降,越来越多的人就失去了本可以在找到自己喜欢做的领域之后去创造社会价值的机会。

360行,行行出状元。相对来说,软件行业目前是高薪行业,但不要只盯着面的光环,应该更多地去思考自己是否喜欢(适合)这个行业,即便不是100%真爱,也要有为这个行业去创造价值的愿望。如果只为生计,何苦找一个外界看来很苦逼的行业,苦了身体还苦了心。

最后,不可否认,软件行业的薪资水平确实要高于其他大部分行业。

培训班会送一份好工作?

现在软件培训班(速成班)肆起,而专业的讲师却供不应求,不少培训班的讲师鱼龙混杂,良莠不齐。这样一来就会产生一个问题,很多一腔热情的学生,在启蒙阶段,也是最重要的阶段被某些老师给误了。就我个人的亲身经历来讲,我在开始培训之前在网上找了一套黑马的Java基础教程(毕向东)进行自学,然后花巨款(学生时代的巨款)报名参加了西安某机构的培训。黑暗之神也降临到我身上,第一个老师授课水平很低(对比了视频教程的老师,以及在自学时发现很多知识缺失和疏漏)。而我比较幸运的地方在于没有被那个老师误得很深,因为我有那套视频教程,加上自己一直啃技术书,因此在一天满负荷的培训之后,还要用晚上和周末的时间来消化这些知识。还好在众多学生反馈下,老师被替换成一个学校的名牌讲师(注重传授原理,带着大家去亲手实现框架的原理),后来跟这个老师学习到了很多宝贵的东西。

如果你很幸运,在启蒙阶段遇到了一位良师,要好好珍惜!如何珍惜?无非就是多付出汗水。因为培训班的授课量很大,一天8小时的课程,留给你专门练手的时间不多,而这些课程都是承前启后的,一旦前面积累了太多未消化的知识点,越到后面就越吃力了。而消化这些知识就是一个非常有挑战的问题,也是必须要解决的问题。对于一般人而言,只有牺牲大量的课后时间,此时需要将几乎所有的逛街看剧闲聊时间都节省下来,反复地进行编码和思考,直到消化掉当天所学习的知识,这个过程是比较痛苦的,但一定要坚持:

  • 编码和思考,直到消化!
  • 编码和思考,直到消化!
  • 编码和思考,直到消化!

最后,不要过于相信和期望培训班给你分配工作,现在已经不是大锅饭的时代了,只有自己能够对你的前途负责,所以扎扎实实将基础打好,多付出汗水,勤加操练,方可在后期游刃有余。

畏惧身体被掏空?30岁就干不动?

双肩包、格子衬衫、衣衫不整、发如干草、加班狂魔、绝顶聪明、目光呆滞…

这些都是曾经或者正在被贴在程序员身上的标签,都在突出一个观念:程序员,一个苦逼的职业,缺乏个人生活,加班无极限,最终身体被掏空!

事实是这样子的吗?

的确,不可否认程序员加班是常态。可以将加班区分为主动加班和被动加班。先说说何为主动加班?就拿我自己身边的事例来讲,比如上一个新项目的时候,对新的技术栈不熟,那么晚上和周末得花大量时间啃书写代码,一方面提升自己的能力,另一方面能够更高效地开展项目,以及引导后续加入项目的人。又比如,学习新的技术、翻译技术书籍以及写博客等,都会占用大量的业余时间,这个时间不比那些经常加班到很晚的伙伴少,甚至多得多。主动加班需要有一个前提: 热爱你当前所做的事情,以及有强烈的欲望去提升自己。

我个人对被动加班没有太多的经历,但经常有所耳闻。被动加班大多是出于以下几个原因:

  1. 加班文化,领导没走,我也不敢走,或者公司有不成文的加班规定。
  2. Team给分配的工作量太大,不可能在工作时间完成。
  3. 自己的技术能力不足以胜任当前的工作。
  4. 项目上线前,需要几乎24小时值守。

具体对待加班的态度,因人而异。如果你是崇尚自由,热爱技术的程序员,你肯定更愿意主动加班,所以我不建议你去有浓厚加班文化的企业。我非常推荐你来ThoughtWorks

加班会不会让身体被掏空呢?(这其实触及到养生的范畴了)答案是几乎不会,对于热爱编码的程序员,写代码是一件快乐的事情,只要不连续熬到深夜凌晨(存在一些精力充沛的狂热者经常熬到深夜),注意饮食以及适当的锻炼,不会有太大的影响。当然,如果你不幸加入了一个黑工厂,经常连续加班到12点以后,我建议你果断离职。

劝君更近二行码

如果你正在犹豫要不要从事软件开发行业,如果你也有以上类似的认知误区,而且阅读完这几条仍然不能解惑。不妨先问问自己,是否有对软件开发的兴趣,是否享受实现一个复杂逻辑的成就感,是否愿意用自己的课余时间来敲代码。

如果你没有软件开发基础,也可以当下采取行动去做初步探索。不要着急掏巨款去报名参加培训班,先自己去尝试写代码,在写的过程中确定自己对它的态度。推荐两种探索途径:

  1. 自学。建议从视频教程开始,比如Java基础教程(毕向东)。
  2. 试听课。参加一些培训机构的免费试听课程,试听课程的老师一般都是授课能力不错的。

不管你采取什么途径,勤加练习是不可避免的。不能只做一个听客,动手去敲,将一个个从简单到复杂的逻辑用代码实现,然后收获实现后的成果,不断验证自己的兴趣点。 劝君更近两行码,编程高手从来都是源自于不断地操练和思考,勇敢迈出你的第一步!

最后

说的再绚烂,想得再周全,没有迈出第一步,都是空谈、空想

所以很多时候,有些人具备了想法,只是缺乏一丝丝勇气,有些人具备了勇气,只是缺乏一点点坚持。当不确定要不要做这件事的时候,去体验一下就知道了。

如果你是我所提到的新人之一,希望本文对你有所帮助,如果你不是新人,并且也想给新人一些Tips,欢迎在文章后留言评论。

本文来自:ThoughWorks袁慎建

博客地址:http://sjyuan.cc/a-letter-for-newer/


更多精彩洞见,请关注微信公众号:思特沃克

Share

七个月的“修炼”

原来我并没有自己认为的那么聪明。

这是我在领导力培训结项那天,从一个我认为非常聪明的同学口中听到的话,有些讶异。

当“聪明人”遇到同类

你可能是这样的人:从小成绩优异、不用怎么努力就能成为别人家小孩眼中的“学霸”;很多东西别人可能需要2小时才能学会,但你15分钟就能上手;你考上了全国最好的大学之一、毕业之后找到了一份大家都艳羡的工作,并且在工作岗位上如鱼得水。

(图片来自:http://cargocollective.com/)

这样的“High Profile”,成为了你成长过程中的一种定势:

  • 你似乎明白自己的聪明之处,也知道怎么使用它;
  • 你发现大部分时候,你的想法都能得到大家的认同,并且为自己和他人创造价值;
  • 你很有想法,并且能用超强的执行力让它成为现实。

于是,不知不觉中,你开始成为一个别人眼中的“聪明人”,也给自己贴上了这个标签。你依赖于自己的判断,并且在很多决策上坚持相信自己。如果有和你相左的意见,你也倾向于去说服别人接受你的想法。

久而久之,你成为了那个总是发出最强音的人。你会主导讨论、决策,你的团队成员习惯于跟随你的判断,很少提出不一样的声音。

然而有一天当你和同样优秀、有想法的同伴共同完成一个项目,大家在意见上产生了分歧又难分对错。这时你要怎么办?你是要坚持说服对方,还是会停下来听听对方的观点里是否有可取之处?在面对不同意见冲突的时候,你该如何推进项目发展?在面对可能发生的挫折时,应该如何处理和面对?在“匹夫之勇”无法奏效时,如何将团队价值最大化?

在这次培训中,我们中间的很多人,或许都找到了答案。

公司今年组织的“高潜力人才领导力行动学习培训”共分为3个小组,每个小组都会指派一名外部教练和一名课题导师。我们需要通过团队5人的共同努力,依据外部教练给我们导入的解决问题、高效决策、自我认知和团队协作的方法论,带着问题去做任务,以行动来解决公司在运营和发展中的实际问题,在解决问题的过程中发展个人领导力和团队领导力。

“即便所有人的想法一致,也可能是有风险的”

这是我们小组遇到的一个真实场景:在一次知识导入的模拟练习中,我们小组成员需要各自完成作业,最后在每道题的选择中达成一致。说巧也不巧,有4个成员在答案的选择上都出奇的相似,所以在时间有限的情况下,我们不得不采用“多数暴力”,说服了唯一一个持有不同意见的同伴,使他服从多数人的选择。

然而,真理有时候真的掌握在少数人的手里。最后答案公布的时候,我们发现,那唯一一个持有不同答案的同伴,个人得分最高。而这四个多数者,在多达8道题上都马失前蹄,使得团队效能受到严重影响。

看到这里你可能要呵呵呵了。你可能会说,在时间资源极其有限的情况下,一个团队能够做出的选择大多是采用多数暴力,这也是规避风险的一种方式。但是我从中得到的启示是:当团队中大多数人的想法都非常一致的时候,也还是存在风险。

不同的人在做出决策的时候,他们内心的渴望、成长经历、知识结构、行为风格都会对决策本身产生影响。因此我认为,如果把每个人都看作是在不同系统相互作用中形成的复杂个体,那么决策就不是一个单一行为,而是一个系统行为,这也让决策过程变得更加复杂。

但人都是有趋同性的。我们往往愿意去支持那些和我们想法一致,或是类似的答案:强逻辑型的人会更愿意去支持那些用逻辑所作出的选择,感性的人则偏向于相信以直觉得出的回答。

这也就是我们小组所遇到的困境所在:当四个强逻辑的人所作出的选择类似,且面对巨大的时间压力时,团队中的多数人选择了迅速抱团,忽略那个微小的不同声音,使得团队的表现大打折扣。

那么,当团队在朝着同一个方向飞速前进,在决策过程中很快就能达成一致的时候,我们是否应当停下来想想:所有的决策过程是否经过了充分讨论?是否听到了全部成员的声音?是否接受了不同思维模式带来的不同看法?是否考虑过更加多元的可能性?而作为持少数意见的人,是否应该坚持观点,不被“多数暴力” 所征服?

“凡事在变好之前,需要先变坏”

这是一位我很喜欢的外部教练在培训中说过的一句话。

他说完之后我接了一句,我说,”老师,你这句话恰好和我很喜欢的一句话相似,叫做’凡世间之事,有明之处必有暗。'”

(图片来自:http://cargocollective.com/)

这是道家学说中我很喜欢的阴阳理论。大意是说,阳的背面一定有阴。如果你只看到阳,那么阴面可能隐藏在你没有发现的地方。

我们小组在培训中的经历,让我更加相信这个说法:凡事在变好之前,需要先变坏。

从立项以来,我们从一开始的焦头烂额,想办法切分、具象化课题,到之后的建立调研方案、收集调研数据、实施调研、找干系人访谈、确定行动计划,再到推翻重建、建立新的方法论、找其他的干系人再谈、再到最后的输出理论框架、结项,可以说是经历了无数次的纠结、争论、质疑、和解、重建。往往是在好不容易达成一致,看到前方“仿佛若有光”的时候,又被课题导师的一个问题重新打回起跑线。沮丧是有的,焦灼是有的,进退不得也是有的。

团队在这个过程中经历了很大的考验。大家都很有想法,也都愿意坚持自己的想法,由于存在不同的思维模式,我们花了非常多的时间在争执、解释、说服上。教练告诉我们,团队发展有一个“暴风雨”时期,越过了这个时期的团队就会成为一支真正具有凝聚力的队伍,反之则可能分崩离析。

也就是说,团队在磨合过程中需要经历“相敬如宾、相互试探、产生冲突、冲突激烈爆发、理解并达到和谐”这几个阶段。我们这个团队虽说没有产生“手撕队友”这么惨烈的场景,但是大家在着急去推进项目发展的时候,在面对冲突的时候,往往也会因为缺乏有效的解决手段而束手无策,或者选择视而不见。这反而加深了彼此之间的误解,使得项目发展进展缓慢。

比如,我们曾经卡在一个环节:在原因分析的时候,我们得出的表因、过度因和根本原因都指向了一些并不”可实施”的解决方案。换句话说,我们分析了老半天的原因,最后竟然是无法从目前的资源和行动上得到解决的。经过了好几次的讨论之后,我们各执己见,因此并未得到一个压倒性的、有价值的解决方案。当陷入这样的困境时,我们几个都沮丧到了极点,开始怀疑:是不是一开始的想法就是错的?到底是哪个环节出了问题?时间所剩不多,我们还能不能完成课题?

最后,实在走投无路之时,我们选择了开外挂:找外部教练和课题导师寻求帮助。他们从不同角度给我们提供了很多有价值的信息,我们重新整理思路,终于让项目重回正轨。

那么,在遇到“坏”的情况发生时,我们到底应该怎么办?是逃避它,还是直面它?

首先是否应该想想,我们所陷入的困境,会不会是因为闭门造车?有没有好好利用外部的可用资源?

其次,从我的经历看来,我认为要建立一种“接受事情可能会失败”的心态。记得我的精神导师有次在和我聊天的时候说:“你要接受,这个世界上可能有80%以上的事情都是做不成的。”

(图片来自:www.gratisography.com)

最后,是面对“坏”的情况,需要认识到到越过“坏”而看到“好”的可能性。这不是成功学的鸡汤理论,也不是说遇见了“坏”就一定能通向“好”,而是要接受,“坏”的出现可能并不是最后的终点,它也可能是在通向“好”的路途上遇到的一次考验。

信任感和同理心

在第一次参加培训的时候,我记得外部教练带我们做了一个很有意思的活动:让每个人在一张大白纸上画出自己的人生历程(重要的里程碑事件)并分享,队友之间相互提问。

在大家的经历中,我听到了独自去异国打拼的艰辛、听到了由家庭带来的困扰,听到了高考失利带来的彷徨……很多经历和心情甚至引起了同伴的共鸣,感觉“于我心有戚戚焉”。

后面回想起来,发现教练的这个安排真是用心良苦:它是一次破冰,能让我们这些平时并不熟悉的人能够很快彼此熟悉。但更重要的是,通过这样的一个过程,让我们的团队磨合变得更顺畅了:当我们充分了解之后,就会理解他/她的一些决定也许和以往的人生经历直接相关,从而变得更加宽容。

初级同理心的建立,套用一句很老套的话吧:“因为懂得,所以慈悲。”

一次独特且有趣的体验

之后的故事也并不是那么完美,不是大家拉着手快快乐乐的就把项目做完了。但是基于大家一致的目标、以及相互在试探边界过程中所建立的信任感,我们在磕磕碰碰中建立了很妙的友谊:在一些队友的时间相对紧张时,会放心把项目交给其他的队友去推进;争论的时候大家都会自然地进入到“对事不对人”模式,以致于即使有时候说话直接,也能被理解;我们识别出了每个人身上最闪光的地方并加以充分利用,将团队价值最大化。以致于队友在结项的时候还在和我感叹“我们俩居然没有打起来!”,而我对他的结项赠言也成了“继续愉快的相爱相杀吧”。

这段长达7个月的旅程虽然已经结束,但是我相信对于我们15个人来说,它一定会是一个全新的开始。至于培训是否能够产生作用,于我而言主要在于以下三点:

  1. 你是否具有足够的灵活性,去创造一种“微环境”,允许成长和改变发生。
  2. 对于接受到的信息/方法论,你是否从根本上接受和认同它。
  3. 你是否愿意付出一定的时间成本,去不断刻意练习,使好的思维、行为方式成为习惯。

在年纪渐长,开始对自己有了清醒的认识、逐渐建立起边界、形成了独立人格的当下,还能有机会在团队中,和一群聪明优秀的人一起,相互探索自己的内在和潜力,相互认识自己和对方,真算是一次独特且有趣的体验。

Share

然而培训并没有什么用

人们对于培训这件事情总有一些不切实际的想法。

我们期望,那些不具备某些能力的人,通过培训就具备了。就像洗车一样,通过一个黑屋子,出来就是一辆崭新的车。

1-car

而实际上,在专业领域,一个更悲观的论调是被广泛认可的,那就是:培训没有用。

1、既然没有用,为什么大家都在搞培训呢?

其实我们应该反过来想这个问题,既然行业里普遍认为培训没有用,而到处又都在搞培训。那大家的印象里一定有“培训有用”的印象,所以才会不断地去做培训。问题就变成了,“我们什么时候觉得培训有用了?”

从我个人出发,来ThoughtWorks之后,我接受的最有用的几个培训分别是TWI、OO BootCamp、DDD。

上完培训颇有顿悟之感。受启发之后,我拿学到的东西去跟其他人交流,发觉有的人顿悟,有的则是不明觉厉;有的在接受培训之后会发生较大改变,有的则像什么都没发生过一样。

我对比了一下这些不同的人,可能的原因是这样的:这些培训之所以对我们有用,是因为我们在参加培训之前就已经在软件开发的各个方面都积累了足够多的经验,就差有人给我们梳理一下了。

所以我常常用最后一块馍来比喻培训。用吃饱的感觉来比喻顿悟的感觉。

2-insight

后来我跟其他人的交流,则是拿着最后一块馍去喂别人吃。同样差这一块馍的人,吃下去马上顿悟了。但是还没吃到足够馍的人,也就只能听个热闹。

2、培训到底有没有用?

当充分准备好的人,遇到充分准备好的内容时,是有用的。而这里面最难满足的条件是充分准备好的人。这是可遇而不可求的。

不知道大家看到这个结论的时候什么感觉,反正对于我,一个专职做培训的人来说,简直是死刑判决一样的感觉。

当我开始去给毕业生做培训的时候,这个“没准备好”的情况就越发的严重。我们完全可以在培训前就预言:培训完几乎感觉不到变化。当想到这个,我的内心几乎是崩溃的。

好吧,虽然现实很坑爹,但生活还要继续。

既然培训有用的关键在于充分准备好的人。那么有没有这么一种情况,人并没有充分准备好,但是培训依然有很好的效果的呢?为什么出现了效果呢?

我个人的经历里,只碰到过一次:韵涛(ThoughtWorks交付总监)的战略课。

当时这个课程,其实我也没有完全听懂,很多内容停留在“我以为我懂了,其实完全没懂”的状态。

但是为什么效果好呢?因为这个课程在我心里种下了一个种子。就像是盗梦空间里说的那样,“在意识的底层被注入了一个想法”,我看到一个企业的行为,就忍不住去分析一下,他们的战略是什么?为什么要这么做?可不可以做别的?有什么在影响他们的决策?

我觉得后来这无穷无尽的自我训练,才是我成长的关键。

3、也许培训的重点不是培(讲课),而是训呢?

编程是一门手艺活,这个世界上的手艺都是练会的。基本功不熟练,说别的都是骗人。也许生产“准备好的人”的最有效方法,就是我们早就非常熟悉而又深恶痛绝的那个——题海战术?

于是我们出了下面的一些题目(大概70道),要求学生做简单的集合运算。

 

然后,魔鬼般的训练开始了。当时的场景让我想起了:

4-devil-training

训练开始之后,我跟徐昊交流了一下经验,当时的对话场景是这样的:

我: blah blah……

徐昊: 这类似于体育里的体能训练。

我: 是的。

徐昊: 体能训练不是应该天天练吗?

我: ……

于是,本来只打算做一遍的基本训练,变成了天天都在练的体能训练。当然考虑到不能一天都练这个,于是我们简化了一下,每天做的练习类似于:“选出一个集合中下标为偶数的元素,在选出的元素中,选出元素为偶数的元素。将其按几位数分组,对每一组求中位数,放到一个数组里为最终结果”。

掐表,不能超过一个小时,当然难度也是一直在加的,除了条件会改以外,还会让他们抽取一个filter的高阶函数来用等要求。

4、这些简单粗暴的训练会有用吗?

结果是出乎意料的,进行过这些训练的同学,他们不但写代码的速度提升了(这简直是一定的)。

而且相比没有进行这些训练的同学,在面对一些比较抽象和复杂的编程技巧讲解时,更能跟上我的节奏,有的甚至还能指出我的错误。

是的,准备好的人诞生了。虽然还没有达到我们期望的那种“有sense”的人,但是相对于他们自己,有了明显的突破。而诞生的方法,是我们最痛恨的题海战术。我们总会变成我们最讨厌的那种人是吧。一个被题海折磨的人,若干年后成为了出题折磨别人的人。

5-training

当然,这是开玩笑的。

曾几何时,我们开始相信一个都市传说:中国人没有创造力是因为填鸭式教育和题海战术扼杀了我们的创造力。于是我们对于这种简单粗暴的方法总是下意识的排斥。

那我在这里不得不给它辩护一下:这个方法,粗暴是粗暴了一点,但并不简单。

5、实际上,题海战术与创造力并不矛盾

任何领域只有对基本能力拥有直觉般熟悉才有更高级的综合应用,包括创新。

而建立直觉般熟悉的最快方式,要么在短时间内进行高密度的训练,要么只能用更长的时间获得,反正训练量是守恒的。

但一个方法再有效,人们恨它,也不会有太多人用。为了兼顾效率和人性,我们的思考不能停止。既然题海战术没有错 ,为什么我们这么恨它?

我想来,大约是因为没有针对性。

假设有10个知识点,其中9个我已经不需要训练了,有一个我还很弱。但是我眼前这10道题,只有一道是针对那个弱项的,我训练一次弱项,必须训练9次强项,这显然是充满浪费的。

而每个人又都是不同的,哪些是弱项,哪些是强项,何时加难度,何时引入更复杂的练习,到什么阶段限定什么时间长度选什么题,都要根据人处于的阶段不同去做调整。要有压力而又不能压垮。这个环节上我们需要个性化的关注。那就不得不考虑教练的角色。人的问题需要人解决,想想看也是个让人很头疼的事。(要么就是强人工智能,强人工智能还没有诞生,诞生了……还要培训干什么……机器就该取代人类了)

6-robot

所以,一个真正有用的培训,我们需要培(讲课),需要训(练习),还得是大量的。不仅如此,为了让人能坚持下来大量的训练,还需要教练的个性化关注。这些条件往往无法同时具备,难怪培训是没有用的。我们进行了长时间的探索,得出了行业通行的结论。是不是一个很悲剧的故事?

我个人觉得不是,我们起码不再像一个原始人一样去看待这个结论,“培训没有用”从一个神谕般的断言,变成了一个由具体的,可以看得见摸得着的原因支撑的结论。问题被细化了,那么就给了我们质疑的着眼点,给了我们改进的着手点。坚持分析、实验、改进,也许未来我们就能看到一篇文章——《培训真的有用》。

 


你想看到的洞见,都在这里

wechat

Share