2009年1月27日星期二

最好的软件工程师的个人特征


(这是从我的公司内部博客上转贴的老文,做了些补充)

怎样招聘和培养最好的软件工程师,这肯定是每一个软件公司/互联网公司的带头人最关心的问题之一。在招聘的时候,作为公司,往往只有几个小时或者更短的时间就需要判断一个人是否是“可造之材”,在这样的情况下,是否可能,或者怎样找出佼佼者呢?我觉得下面这篇Rob Walling的文章从性格的角度,讲到了一些非常不错的点:

by Rob Wallings, 2006-8-20

我复述一些文章讲到的优秀软件工程师的性格特征(英文原文讲得透彻很多)
  • “悲观”。或者准确地说“对短期的极度悲观,加对长期的极度乐观”。这一条,我觉得是这篇文章总结的最好的一点,给出的例子也很生动。
  • 对不整洁代码的自然愤怒。我想这个对于与比较多软件工程师打过交道的人来说,应该是很明显的一条,真的能够担负最关键的责任的软件工程师,一定是对于代码质量非常苛求的人。往往只有这样的工程师,才能够一劳永逸地开发出那些几个人都尝试过但完成不了的模块,才能保证一个复杂的系统不因为自身的重量而崩塌。
  • 对生活的长期规划。作者的观点是对系统的规划和对生活的规划是相通的,我对此没有特别深刻的体会。
  • 注重细节。这是被经常被提到的QA人员需要的性格特征,但我同意对开发人员同样重要。
任何一个近乎完美的产品背后,都是一批具有不一般特质的人,以及超越平常的艰苦努力。而找到这样的人,就是完成好产品的第一步。

多久一次算不频繁呢?

一年一次?

我是说写博客,呵呵,一年一次显然是不够频繁的。希望我能以比这个高>1个数量级的频率在这里写些自己的想法吧。