《程序员成长路线图:从入门到优秀》摘录 — 程序员应该具备的基本素质(中)

Aaron Griffith是一名来自Hunter
Industries的程序员分析师。近日,他在博文“群体编程之于内向的人”中分享了他作为群体编程团队成员的经验。根据高级顾问Woody
Zuill的定义,“群体编程”是一种软件开发方法,整个团队在同一台电脑、同一个地方、同一个时间从事同一项工作。对于外向的人而言,这个概念行之有效,但对于内向的人而言,同一大群人在一起工作并不简单。Aaron指出,这是一项令人愉快且有益的锻炼,但对于内向的人而言,有一些挑战,不过很容易克服。

Aaron在分享中指出,内向的人更喜欢小一些的群组设置,更善于通过写来表达自己,喜欢有一个专用的工作空间。相比之下,群体程序员同整个团队在一起工作,进行口头对话,并且在一个开放的楼层中工作。因此,对于内向的人而言,成为一名群体程序员可能很困难。

 

Matt
Schartman在博文“我的群体编程经验”中分享了他作为一名内向的群体程序员所面临的挑战:

6、外向

作为一个相当内向的人,频繁的交流比我以前在公司里的许多工作都更耗精力,虽然可能更有趣。一天工作下来,我经常发现自己渴望回家,用一本好书或者一个节目让自己恢复精力。

   

作为一个内向的人,Aaron在一个群体编程团队中工作,他分享了自己对于克服这些挑战的观点:

程序员的性格对成长有很大影响,无论原来是外向还是内向性格,只要从事这个职业,只要和计算机打交道,其性格都会有点向内向方面转变的趋势。我们看到不少程序员不善于和别人交谈,怕见人,甚至从内心里不愿意和别人交谈。这样的自我封闭其实对自己并无益处。程序员的性格还是要尽量外向一些,要乐于和别人交谈,要主动和别人交流。和别人交流并不一定要限于技术,用户的需求、公司成长情况甚至对方个人生活等方方面面都可以进行交流。这种外向的性格可以让程序员见识更多的人,见识更多领导,见识更多的高手,见识过去不敢见识的人,也可以积累更多的社会关系。

内向的人和外向的人有许多不同的特质。这些特质与群体编程有不同程序的兼容性。我不认为,这些特性中的任何一项会让群体编程对于内向的人而言成为一个不可能,但他们要比其他人面临更多的挑战。

 
 

他分享了如下建议:

澳门新葡亰手机版,7、技能
 

我的建议是,一名内向群体程序员只需要做自己,并对提供和接收反馈持开放态度。如果你有什么担心,让人们知道。不是每个人都清楚内向的人与外向的人之间的细微差别。对于内向的人和外向的人如何互补,并在一个工作环境中共存,分享你的关切、文章和博客,这对团队中的每个人都有帮助。如果你是一个内向的人,并且是一名群体编程新人,那么你要做好准备,花一些时间习惯,就像你以前进到所有其他的新环境和情境中所做的那样。如果你是一名外向的人,并且是一名团队新成员,那么你要有豁达的心胸,那些你认为不太友好且冷淡的人,可能只是尚未敞开心扉的内向的人。

程序员的技术能力是程序员生存下来的基础,而技能从某些方面来说是首要的。可以说,程序员就是技术的代名词。有了好的技能你就能更好的开展工作,有了好的技能你就有了和别人交流的内容,有了好的技能就可能让自己获得更高一层的技能。因此,程序员要重视自己的技能学习和提高,要在技术上体现自己的能力,要通过技术能力去影响或帮助自己的同伴。只有这样,程序员的最基本的价值才能真正体现出来。很多程序员到了一定阶段后放松了对技术的追求,技术平平,只能满足现有工作,这就愧对程序员这个称号了。

Chris
Holmes最近写了一篇有关群体编程试验的博文,在文中,他分享了自己在一个英国政府项目上使用群体编程方法的经验。他提到了一些改进方面,其中包括确保比较内向的团队成员不至于太不舒服以致不提出指导意见。

 
 

在尝试了上面提到的一些技术后,Aaron分享了他为什么喜欢成为一名群体程序员:

8、团队

我成为一名群体程序员已经将近四年了。如果可以选择的话,我不会采用其他工作方式。群体编程让我成为一名更好的开发人员、一名更好的测试人员、一名更好的领导者、一个更好的人。我不是很确定群体编程的哪个方面吸引了我这样一个内向的人,但我有个想法。外向的人将亲密的朋友关系看得很重,并且极度忠诚,我认为,就是那个把我引入了群体编程。

 

程序员可以一个人编程序,但是,一个人只能编写一些小程序或小规模的程序。有些程序员一个人完成了整个系统开发,其技术水平固然值得称贺,但是,如果他认为软件可以一个人摆平,这就会影响到其向更高水平发展。随着软件业发展,软件的规模也在变大,软件制作的专业化程度变得越来越高,一个人即使有能力开发一个完整的系统,最好也不要一个人去完成,只有通过团队的分工协作,软件制作才能走向正道。如果程序员一开始就能注重团队意识,一开始就认为自己仅仅是团队的一分子,一开始就注重与其他团队成员的沟通和协作,这样程序员一定能融入团队中,而团队的巨大作用是每个程序员个人作用所不可比拟的。程序员不要只是享受自己编程的快乐,而是要享受整个团队编程的快乐。