程序员在其核心职责之外的贡献如何
在程序员显而易见的职责之外,对项目和软件开发团队的成功而言还有很多其他非常重要的事情。这些事情不太显眼,但其重要程度和基本的编码、设计和测试完全相当。在体育运动中,作为确定球员对团队成功的贡献的关键方法,已经证明有些不太显著的统计数据是非常有价值的。例如,在棒球比赛中,知道击球员击球的判断正确率或者守场员在多大范围内能获得接近他们的球是很有价值的。
程序员能覆盖多少领域
当从一个领域迁移到另一个领域或者从一种类型的工作转移到另一种类型时,就是展示程序员的广度能力的时候。对大多数程序员来说,这是一个长期的、渐进的过程。例如,一个程序员可以在一个特定领域的代码上工作数月,然后迁移到下一个领域,并且也许还需要维护前面领域的代码。然而,有些程序员却需要同时兼顾多个领域。例如,一个程序员可能需要为多个特性修改bug,同时还需要改善构建脚本以及更新安装程序代码。
程序员足够主动吗
另一个重要的方面是主动性。如果存在一个问题或机会,程序员会发现它,并自己来解决这个问题——尽管通常他们没有计划过。另一种类型的主动性也很重要,就是程序员在出现问题或者将要出错时向团队的其他成员指出。这可能意味着需要积极地指出他人写的一部分代码需要修改,或者意味着向团队领导或经理描述问题,甚至是与其他团队成员的个人问题。当程序员确实采取了这样的主动行为时,就值得关注。因此,这也是需要考虑的度量。
程序员创新吗
与主动性密切相关的是创新。程序员经常获得独特的解决方案或改进,或从前没想到的新能力。有时,这些创新益处较小,或者是边缘性的,但有时这些益处非常大。有时候创新来自于单个程序员的主动性工作,或者是多个程序员协作的结果。创新是项目成功的一个非常重要的因素。
程序员处理压力的能力如何
程序员有时也需要处理外部压力或者心理压力。这可能出现在项目接近最后期限或者修复关键的产品问题时。在不同的环境中,压力的波动、频率不同,因此所谓的“压力较大”和“压力正常”也是相对的。例如,在启动阶段,所谓的正常压力也可能会导致一些程序员抓狂。不时地,很多程序员需要处理压力——有时可能是很紧急的情况,类似篮球比赛的最后两分钟,足球的最后一刻钟或者是棒球第9场接近结束的时候一样。
程序员应对逆境的能力如何
逆境类似于压力的情形,但值得单独一提。只有很幸运的程序员永远不会遇到逆境。逆境可以有多种形式。产品的失败、软件团队由于公司的财务困难而进行的裁员,以及可能遇到的团队成员患病或过世的情形。一些程序员可以很好地面对逆境。他们或者坦然面对,或者恢复元气。逆境的应对能力也是值得考虑的度量之一。