【转载】优秀的程序员
优秀的程序员 转自汇编网程序员眼中的世界http://www.
文章作者:dodo
评论:
筛选不如去培养,筛选逃避了和谐社会应该承担的责任。识别不是最终目的,不过我们到可以从识别的条件中了解一下优秀程序员应该具备的素质。
原文题目不太好,程序员还有真假?个人认为程序员只有优秀和非优秀之分,可能译文中的翻译偏差吧。现实中有一些没编过程序的“程序员”,我想这样的人不用费力去识别吧!倒是是编写劣质和优质程序的人很多,这个可以去辨别。
“激情”不太好,我觉得“热情”更合适些,无论你从事什么职业,如果对该职业没有热情,只是被动的按点工作,有一点其它小事就把工作放在一边,这样是干不好这个职业的,程序员这个职业也是如此。如果再不积极的学习和进取(除非强迫培训),那注定会落后,会被淘汰,否则干下去也是误己误人,浪费青春,一事无成。
“自学和好学”应该是程序员的一个基本素质,很难想象一个只有别人教了才能学会的程序员如何面对经常遇到的新问题。
“聪明”这个词不合适,用“睿智”更合适,程序员应该对问题有深入的洞察力,且富有远见,他不断的实践并解决现实问题。“交际”是需要的,程序员需要团队的合作,合作时的交流是必要的。“健谈、兴趣广泛”纯粹是迷惑人的,这不是作为优秀程序员的必要条件。就像爱因斯坦说他喜欢音乐,喜欢音乐是他能成功的必然原因吗?要是那样世界上不知一个爱因斯坦吧!
“隐性的经验”,海面上能看到的总是冰山的一角,扎实和深厚的基础是不可缺少的,越是那些夸夸其谈或炫耀的,肚子里越没什么墨水。经验是需要,但不要迷信。
“技术多样性”,知识面的宽广可以放宽一个的视野。看问题的角度更全面,更能准确和快速的解决问题,但这些知识要形成体系,要像风牛马不相及的东西知道的再多,不注意它们的内在联系,再多也没用。
“资格证书”嘛,是考出来的,程序员不是,没见过那个优秀的程序员是考出来的!
总之,程序员应该积极应用计算机去高效的解决现实中存在的真问题,这样就可以当之无愧的称自己是一个合格的程序员,是否优秀让别人去评判吧!
中文译文:
如何识别真正的程序员
如何识别优秀的程序员?并不是像听起来那么容易。在这儿工作经验的作用是很有限的,因为伟大的程序员不一定要‘正式’的工作经历来证明他们的伟大。
1,激情。
我曾经遇到许多“职业程序员”,他们从事IT是因为觉得这是一种职业,他们只在工作时间编程,除非送去培训否则他们不会学习新东西,这不是好的程序员。我认为一个好的程序员总是对编程充满激情,而且好的开发者会做一些编程工作即使这没有报酬。激情是一个优秀程序员的重要指标。
2,自学好学
编程领域始终发展变化着,不出一年有些新技术就变成了老技术,这并不是说好的程序员要对所有新技术跟进,但有些却对学习任何新技术都没有兴趣。他们通常在学校学习了编程,然后工作后单位安排学什么就学什么。如果在招聘中你听到“让我培训一个星期我就会胜任这个工作”那不要雇佣他。实际上,真正优秀的程序员始终谈论着你所不知道的新技术,向人们解释为什么你必须用这个技术,哪怕没有听众听得明白,哪怕他自己也不明白。
3,聪明
聪明包括很多因素,情绪和社会交际只是其中之一。好的程序员绝不木讷,他们是最聪明的人,他们中的许多善于交际,健谈、兴趣广泛。
4,隐性的经验
—个好的程序员通常有自己的私人的一些研究、爱好、项目,而这些是他们不写在简历上 (通常觉得不值得写),但表现出来却可能恰恰是他的潜能、深度和后劲所在。
5,技术多样性
由于好的程序员喜欢学习和涉猎新技术,所以一般来说超过22岁的都熟知很多新技术,而且对多种技术的长短有 “强烈”的个人意见/见解,喜好尝试新鲜技术。
6,资格证书
资格证书并不是识别真正程序员的方法,MCSE、SCJP、说明不了什么,它们只是让别人认识和获取的,顶多代表这个人在某个技术有一定的知识。
原文作者在文末写道:以上所说的标准并不是绝对的,因为有些优秀的程序员确实不符合上述,而有些bad程序员却符合了。但相信这些对大多数真正的程序员都适用。
总结而言,优秀的程序员通常有一下特点:
对技术充满激情;
将编程作为一种爱好
如果你允许会滔滔不绝地跟你谈论技术
有过个人的开发经历(与4意思相同)
坚持认为某种技术最好
如果让他用他认为不好的技术他会非常别扭
聪明、健谈、兴趣广泛
在大学和工作前就开始接触程序
英文原文链接:http://www.
发表日期:08/01/31
转自汇编网程序员眼中的世界http://www.