为什么开发人员停止学习:专家初学者的崛起

2020-07-08 15:52:23

我最近发布了一篇很受欢迎的帖子,名为“如何留住你最优秀的程序员”,其中我描述了最熟练的程序员在一份工作中往往想要什么,以及如果得不到他们为什么会离开。今天,我想发表一篇文章,重点关注组织中的软件团队,而不是开发人员在组织内或组织间移动时的个人旅程。这篇帖子在我写的时候变得足够长了,我觉得我必须把它至少分成两部分。这是第一部分。

在我之前提到的帖子中,我链接到了Bruce Webster的“死海效应”帖子,该帖子描述了一种趋势,即最有才华的开发人员往往是最有市场的,因此当事情变得有点糟糕时,最有可能离开的人会去更绿的地方。另一方面,最没有才华的开发人员更有可能留在原地,因为他们很难说服其他公司聘用他们。这是理解为什么像“super-duper-senior-principal-fellow-architect-awesome-dude,这样的头衔的人很常见的重要视角,“他们赚了很多钱,甚至可能拥有很多权力,但他们不太擅长自己的工作。”但这种观点仍然着眼于个人。只有当人们假设一个糟糕的群体是许多这些人碰巧在同一个地方工作的结果时(或者可能条件如此糟糕,以至于他们把除了这些人之外的所有人都赶走),它才能解释这个群体。

我相信,有一种独特的团队动力,它形成并导致了软件团队的腐烂,这种方式不能用导致有才华的开发人员蒸发的糟糕的外部决策来解释。毫无疑问-我相信布鲁斯的死海效应既是这种动态的催化剂,也是这种动态的逻辑结果,但我相信团队内部必须发生一些魔法,才能将外部的愚蠢转变为内部和无处不在的软件团队的无能。在本系列的下一篇文章中,我将描述一些软件团队倾向于功能障碍和职业毒性的机制。在这篇文章中,我将通过描述个人如何选择永久平庸并因此而收获回报来做好铺垫。

在我开始之前,我想请大家了解一下我的保龄球运动的历史。是的,我是认真的。

我是一个相当健壮的人。从小到大,我总是被选入任何人的前三分之一左右,参加任何正在进行的运动或游戏,无论是什么运动或游戏。我是个无所不知的行家,什么都不会。这让我产生了一种轻微的不恰当的感觉,觉得无需付出太多努力就能获得技能,当我成为一名保龄球手时也是如此。大多数打保龄球的人都会把拇指和两个手指放在球里,仔细训练投球的方式,使球一开始就很宽,然后勾手到中间。在没有耐心学习的情况下,我发现我可以很好地假装,只要不把手指和大拇指放在球上,有点扭曲我的肘部,然后把球扔到球道上。不是很漂亮,但很管用。

事实上,我打保龄球的次数越多,效果就越好,当我开始为了好玩而在下班后的联赛中打球时,我的平均水平真的开始飙升。不管怎么说,我都不是联盟中最好的--有几个保龄球手,包括我的一位前经理,平均得分在170到200分之间,但我在联盟打球的几个月内就飙升到了130140分,并一路进入了160分的范围。不算太寒酸。

但是后来发生了一件奇怪的事。我不再进步了。就在大约160米的时候,我达到了最高点。我问我以前的经理我可以做些什么来让我重新回到进步的轨道上来,他说了一些非常有趣的事情。改述后,他说了这样的话:

只要你一直那样打保龄球,你就没办法提高。你已经筋疲力尽了。如果你想变得更好,你就得学会正确地打保龄球。你需要一个不同的球,不同的投球风格,你需要像个大男孩一样把手指放进去。最糟糕的是,在你好转之前,你会变得更糟,在你回到并超过目前的平均水平之前,这将是一段很好的时间。

我抵制了一段时间,但厌倦了我的缺乏进步和停滞不前(这是我的个人特点-我绝对需要努力掌握,否则我会发疯),并听天由命于更艰难的过程。我买了一个保龄球,进行了定制训练,然后就开始打保龄球了。具有讽刺意味的是,我几乎在做完那份工作后立即离开了那份工作,在那之后的几年里,我可能已经打了8次保龄球,但我想,这才是真正的生活。当我真的去的时候,我从来不需要租保龄球鞋或在球道上筛选适合我手指的。

1980年,一对姓德莱弗斯的兄弟提出了一个技能习得模型,该模型后来对关于学习、过程和实践的讨论产生了相当大的影响。后来,他们会在这篇论文的基础上出版一本书,在那本书中,他们会将模型稍加改进,使之符合当前的形式,就像维基百科上显示的那样。该模型列出了技能获得的五个阶段:新手、高级初学者、胜任、熟练和专家。这显然有很大的意义,因为需要一整本书来描述它,但要点是,技能习得者从“教条地遵循规则,缺乏大局”转变为“直觉地超越规则,完全理解大局”。

在所有条件相同的情况下,人们可能会认为,在这些阶段中,存在某种自然的、线性的进步,比如空手道的收入带或企业界的金钱。但在现实中,由于感知和态度的原因,它不会以这种方式摇摆出来。在开始掌握一项技能的那一刻,一个人完全无能,这会引发一段最初的挫折期,并在等待某人(如教师)向收购者灌输流程步骤时受到阻碍(否则,就像德雷福斯和德莱弗斯所说的那样,他们“像婴儿一样,通过模仿和摸索来捡起它”)。然而,在成为一名完全印心的相对较短的阶段之后,一个人会达到这样一个点,通过练习,技能获得成为一种单独的活动,而重新焕发活力的获得者开始相当迅速地提高,因为他或她摘下了“低垂的果实”。然而,一旦所有的果实都被采摘了,不可持续的快速进步速度就会有所平缓,从那时起,进一步熟练掌握就变得相对困难了。我已经创建了一个图表来描述这一点(这实际上花了我令人尴尬的很长时间,因为我胡乱绘制了Logistic 1/(1+e^-x)函数的一个变体,而不是像普通人那样用油漆画一条线)。

这实际上正是我的保龄球运动在我从保龄球无能到一定程度保龄球能力的道路上所遵循的道路。我很快就提高到了胜任的程度,然后就完全稳定下来了。在我的情况下,改进达到了当地的最大值,然后完全停止了,因为我太忙了,没有时间继续我的道路,也没有时间进行我的重组。这是一个例子,就这篇文章而言,我将称之为“发展受阻”。(我理解与一个负载心理学术语的重叠,但为了我们这里的目的,请忘记这个定义。)。从技能习得的意义上讲,一个人通常会发现发展停滞不前,并保持在静态的技能水平,原因有两个:一是能力超支,二是愿意停止有意义的进步。

在本篇文章的其余部分和本系列文章中,让我们放弃第一种可能性(因为大多数专业程序员不会在最低能力或最低能力之前发挥最大能力),而考虑第二种可能性的一个有趣的具体实例:自愿停止改进,因为他们相信专家地位已经达到,因此不可能进一步改进。这种选择进入无限期的平庸是进入技能获得的间接阶段,我称之为“专家初学者”。

当您考虑Dreyfus模型时,您会注意到,随着时间的推移,有一种趋势,从严重地以规则为导向,对全局一无所知,到非常直观,完全把握全局。高级初学者阶段是技能获得者对大局一无所知的最后一个阶段。因此,这是收购者可能会将自己与专家混淆的最后一个阶段。一个称职的人在大局上有太多的把柄,不能把自己与专家混淆:他知道他不知道的东西。在高级初学者阶段,情况并非如此,因为高级初学者处于邓宁·克鲁格效应的“不熟练”一端,往往是“如果我不理解,那就一定很容易”的概念的缩影。

因此,高级初学者可以打破两种方式中的一种:他们可以转到胜任岗位,开始把握大局和他们在其中的位置,或者他们可以通过假设自己已经毕业到专家来“毕业”成为专家初学者。这实际上并不像听起来那么荒谬。让我们回到我以前的b

专家初学者无处可去,因为进步需要理解他有很多工作要做,而这并不是一个现成的结论。你会注意到,专家初学者的位置略高于高级初学者,但不在能力水平上。这是因为他没有足够的能力来把握大局,认识到他的处境具有讽刺意味,但他比高级初学者略有能力,主要是因为,嗯,作为初学者的广泛练习。如果你曾经听过“十年经验,或同一年的经验十次”的格言,专家初学者就是后者的缩影。这位专家初学者已经完善了保龄球的工艺,300分中有160分,他每周都做同样的事情,没有明显偏离常规或想要实验的愿望。这是因为他认为160分是可能的最好分数,因为他得分了。

毫不奇怪,软件不像保龄球。在保龄球中,反馈周期是几分钟的量级,而在软件中,反馈周期往往是几个月,如果不是几年的话。我谈论的软件不是编译、运行或单元测试的反馈周期,也不是几分钟或几秒,而是项目。在项目的整个生命周期中,开发人员可以获得编写代码、源代码控制、修改、测试以及在维护阶段使用以前的设计和体系结构决策的经验。有了我刚才描述的一切,开发人员能够有不到6个月的第一次尝试是幸运的,这意味着,在行业中工作了5年后,他们在应用程序开发方面可能有10个裂缝。(这是平均的-一些人会一直停留在一个地方,而另一些人会有几十个。)。

这意味着软件开发人员的快速获取阶段-高级初学者-将持续数年而不是数周。在这些年里,软件开发人员都在跳槽并获得晋升,尤其是在这些日子里。当他们轻而易举地通过快速收购时,他们也会轻而易举地通过软件工程师I和II等头衔,然后可能是“助理”和“高级”,最后可能会晋升到“领导”、“架构师”和“校长”。因此,当他们处于邓宁-克鲁格(Dunning-Kruger)和高级初学者主义(Advanced Beginnerism)的阵痛中时,他们被授予了听起来很专业的头衔,并被招聘人员告知他们是“摇滚明星”和“忍者”之类的--特别是在当今的经济形势下。唯一阻止他们进入专家初学者阶段的自然步骤是同行评审和与整个开发社区的交互。

但是,当高级初学者不够关心与更广泛的社区互动,并且出于任何原因与同行没有太多互动时,会发生什么呢?“每日WTF”充斥着这样的例子。他们失败了,即使他们确信失败是每个人的错,而且这个游戏的本质是这样的:责怪别人很容易,很容易就能缓解任何认知上的不和谐。他们得出的结论是,他们很快就达到了专家的地位,无处可去。他们已经正式成为专家初学者,他们已经准备好在组织中巩固自己的某些利基地位,并获得丰厚的薪水,因为他们周围的人,包括他们,都没有意识到他们可以做得更好。

因此,我们记录了专家初学者的崛起:他们来自哪里,为什么他们停止了进步。在本系列的下一篇文章中,我将探讨一名或多名专家初学者创造退化局面的机制,在这种情况下,他们会积极地导致拥有天才成员或本来可能是健康的团队动态中的溃烂和腐烂。