对这个问题来说,我的答案不具有普遍性,但是我确实注意到在一些卓越的程序员身上有一些不凡的品质。
Davin Lafon ,1.4 k 赞1.优秀的程序员会写自己必须写的代码,而卓越的程序员还会写自己本不需要写的代码。
2.从代码的行数来讲,成为卓越的程序员并不是意味着他们可以多快地写出一个代码库,而是可以多快地在不丢弃功能和性能的条件下缩减其代码。 3.如果你开始跟他们争论“最好的编程语言是什么”这个问题,他们会微笑着还是看起来厌烦地换个话题?或者他们开始向你喋喋不休地讲述?如果是最后一种,那他就不是一个卓越的工程师。 4.与代码或者语言无关。也与“痴迷”、“诀窍”、“天赋”或者其他任何装逼术语无关。很简单地——他们是否对软件工程的理解超越了代码的级别?他们是否对软件工程的理解达到了架构级别?或者他们是否能够深谋远虑?他们能否在对问题的数学抽象和和软件工程之间平滑地转化?他们能够和股东工作并且理解他们对于系统的需求吗?还是他们开发出自己想要编写的系统,然后认为这就是你真正应该想要的系统?有人可以成为卓越的黑客或者程序员,但那并不意味着他是一个卓越的软件工程师。我这么说并没有用来价值衡量——一个卓越的程序员的确就是一个卓越的程序员…但是你毕竟不能让一个天才焊接工去设计一座桥。 5.当其他人都在屋子里迷恋某个解决方案或者新的东西时他们能否“发现缺陷”,更甚,他们是否能用他们能听懂的方式向屋子里的人解释这个重要的缺陷。 6.能否倾听?如果不能,那就不是卓越的软件工程师。 |