《程序员的职业素养》结束篇——协作、团队和成长


一、协作

  1. 程序员与雇主:
    专业程序员的首要职责是满足雇主的需求,深刻理解业务目标,理解代码的业务价值,了解雇你的企业将如何从你的工作中获得回报。两耳不闻窗外事,只顾一头埋在技术堆里是很糟糕的表现,需要学会与业务同舟共济。

  2. 程序员与程序员:
    每个程序员都不应该把自己的代码周边筑起高墙,拒绝其他程序员接触到这些代码。相反,应该将代码所有权的各种隔断全部打破,由整个团队共同拥有全部的代码,确保每个人都能签出任何模块的代码。这样,专业人士就可以通过互相结对来学习系统的不同部分和业务。尽管每个团队成员都有自己的位置,但在紧要关头,每个团队成员也要能够接替其他人的位置。系统中不应该包含未经其他程序员复查过的代码,而结对是复查代码最好的方式。但事无绝对,有些时候单独工作是正确的,比如需要长时间思考一个问题时、任务琐碎2人一起工作浪费人力时。一般说来,大部分时间段中结对工作是最好的做法。


二、团队

  组建一个新团队,团队成员需要克服个体差异性,默契配合,彼此信任,一起面对问题,一起做计划,一起解决问题,逐步形成团队的凝聚力,这个过程需要半年甚至一年的时间。稳健、富有凝聚力的团队一旦形成,就不能因为项目的结束而拆散,最好的做法是让他们继续合作,让团队在一个又一个项目中整体移动,成为不断交付项目的强大引擎,而不是围绕新项目来重新组建团队。一个有凝聚力的团队能够同时承接多个项目,根据成员的意愿、技能和能力分配工作并顺利完成项目。


三、艰难的锤炼和成长

  试想当初我们大学毕业后从事第一个项目开发时的情景,你是否还认为从大学掌握了什么是编程呢?如果你稍有迟疑,那么大半情况应该是大学并没有教授你真正的编程之道。

  现在的教育体制中,医学专业目前已经建立起一套严密的辅导体系。这些辅导体系中包含有大量的课堂学习以及在医院中和专业人士一起进行的临床活动。毕业后,这些新医生会在导师的指导下充当一年的“实习生”,实习结束,每名人员还需要参加三到五年的进一步督导实训,通过和许多资深医生一起工作,新医生可以得到充足的成长,直到获得从业资格。

  相对而言,刚大学毕业的学生在成为一名真正软件开发人员之前,督导实训体系还很简陋。由于软件开发人员培训不足,不少公司曾遭遇过巨额的经济损失。所以,应该如何将年轻的毕业生提升到专业水准上呢?较大的互联网公司会有从毕业生到熟练工到架构师的成长计划。毕业生由小组长负责督导,小组长由项目领导负责督导,以此类推。问题在于在大多数情况下几乎没有技术层面的传授、培训、督导和检查。

  “编程工匠”一词包含有心智、技能和质量的意味,它给人以从容淡定,能按期交付项目遵守承诺的印象。从大学学到的计算机编程理论,还远不足于支撑我们成为一个编程匠人,一些原则、技能和实践仍需从资深人士口口相传和手手相承中学习。

  最后,希望每个追求技术的人都学有所成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章