为什么协作编码是终极职业生涯

为什么协作编码是终极职业生涯

时间:2020-7-8 作者:gykj

进行编程的第一步就像是学习一门外语。最初,语法没有意义,词汇不熟悉,一切看起来和听起来都难以理解。如果我刚开始时像我一样,那么流利就不可能了。

我保证不是。当我开始编码时,学习曲线让我很受打击。我花了十个月的时间自学基础知识,试图消除自我怀疑的感觉,这种感觉我现在被认为是冒名顶替综合症。直到我开始参加适合初学者的聚会时,我才意识到如何协作进行编码为人们带来了惊人的可能性。您只需要合适的人社区即可与其一起练习。

对我来说,那个社区是Founders and Coders,这是免费的JavaScript训练营,它帮助我将职业从文案写作转换为编码。即使是现在,在完成课程不到一年的时间里,我也很难相信我会得到开发软件的报酬。

协作编码就是关于解决问题和一起发现解决方案的。它包含诸如配对编程之类的技术,几家高科技公司都非常重视这些技术,以便在面试过程中进行筛选。它还可以培养有用的技能,如果您仅在家编写代码,则很难学习。

无论您是刚开始从事技术行业,还是有多年的工作经验,协作编码都将永远有用。在本文中,我们将研究这些常青技能如何使您在软件开发方面长期成功地工作。

完美配对

我对结对编程的初次经验是在面向初学者的聚会上,名为“每个人都编码”。它是这样工作的:人们经常与从未见过的人们结伴在一起,以在同一台笔记本电脑上共同解决JavaScript难题。一个人扮演“导航员”的角色,并提出他们认为应该编写的代码。另一个人(“驾驶员”)在笔记本电脑上输入他们的建议,并在不清楚的地方提出问题。您将继续执行此操作,并频繁交换角色,直到两个小时的会话结束为止。

从理论上讲,这很简单。实际上,没有那么多。

我发现有一个我不认识的人在打字时看着我的屏幕很让人分心,而且我不愿意在换班时交出控制权。我发现导航更加棘手。如果一个想法先不经过伴侣的手就无法从头脑中进入计算机,那么您所说的每个单词都至关重要。它要求我们双方进行一定程度的交流,而这是我们根本不习惯的,而且我相信,如果我们分开工作可以分开学习。

幸运的是,我们坚持了下来。第二周我又去参加聚会。从那以后,我已经与数十位开发人员结伴了数百小时,而我所学到的东西超出了我最初的想象。

结对编程是一种非常快速的学习方法。一旦克服了最初的尴尬,该方法的神奇之处在于它可以立即产生结果。一些反馈循环(如股票市场中的泡沫)可能需要数小时,数天甚至数月的时间才能产生修正。配对编程需要几分钟,甚至几秒钟。当您放错分号时,两双眼睛可以比一个人更快地发现错误。是否需要在StackOverflow中搜索有关流氓错误消息的线索?您和您的伴侣可以各自阅读不同的主题,从而将找到答案所需的时间减半。

该流程图将结对编程反馈循环显示为三个步骤:写入,运行和重构。
结对编程反馈回路(大预览

对于更棘手的问题,暴民编程可能会更进一步。此方法需要团队的跨职能部门在一个人打字时实时聚集在同一台计算机屏幕上并实时集思广益。

“所有杰出的思想家都在同一时间,同一空间,同一台计算机上从事同一件事。”

-敏捷教练和Mob编程培训师Woody Zuill

尽管这似乎是一种低效的工作方式,但诸如Woody Zuill之类的暴民编程倡导者表示,由于每个人都可以在编写代码时实时查看代码,因此无需进行单独的代码审查实际上可以节省时间。除了生产力,我认为围攻不仅是学习代码的方法,而且是学习其他人如何解决问题的一种绝妙的方法。如果结对编程使您所接触的视角数量增加了一倍,那么暴民编程将提供更多的见解。

十名开发人员挤在一起使用mob编程解决问题的笔记本电脑。
有时候,十个头脑比两个头脑好。(大型预览

这并不是说配对(或实际上是围攻)是一帆风顺的。最初我挣扎的事情是将我的自我放在一边,问一些我认为听起来很愚蠢的问题。在这种情况下,最好记住您的伴侣可能有相同的想法,尤其是当您俩都刚刚起步时。

如果您发现自己与某个可能在工作中的高级人士配对,请不要害怕动脑筋,并以您的好奇心打动他们。即使是比您领先的人,也可能会想到更高级的人不会发生的事情。我最喜欢的一对结对编程人员只比我多了几个月的经验,但是他们似乎总是确切地知道我将要犯哪些错误以及如何引导我朝着正确的方向发展。当这些开发人员说没有愚蠢的问题时,他们是真的。最好的一对程序员可以畅所欲言,而无需表现出奇妙的表情或担心看起来愚蠢的恐惧。

结对编程需要练习,但是值得完善。研究表明,结对解决问题的程序员往往更自信,更有生产力,并且对工作充满热情。无论您是在寻找下一份工作,还是正在招募新员工,结对都很重要。

版权所有:https://www.eraycloud.com 转载请注明出处