优秀程序猿因何而优秀?

这些年我曾和非常多程序猿一起工作,他们之中的一些人非常厉害,而还有一些人显得平凡。

不久前由于和一些技术非常熟练的程序猿工作感觉非常愉快,我花了一些时间在考虑我佩服他们什么呢?什么原因让优秀的程序猿那么优秀,糟糕的程序猿那么糟糕?简而言之,什么原因成就了一位优秀的程序猿呢?

依据我的经验,成为一个优秀程序猿同年龄。教育程度,还有和你赚多少钱没有不论什么关系。

关键在于你的做法,更深入地说,就是你的想法。我注意到我所钦佩的程序猿都有一些相似习惯。不是他们所选语言的知识。也不是对数据结构和算法的深入理解,甚至不是多年的工作经验。而是他们的沟通方式。他们管理自己的方式,以及以他们精湛技术水平编程演讲的方式。

当然成为一个优秀的程序猿还要具备很多其它特质,我也不能单单依靠是否存在(或者缺少)这些特质来评判一个程序猿。可是我知道当我看见它。当我看见一个程序猿具备这些特质的时候,我觉得,“这个人真的知道他们正在做什么”。

优秀程序猿做调查研究

或者叫“三思而后行”,或者叫“谷歌一下”

不论你怎么称呼它。大多数可能会遇到的编程问题已经以某种形式解决。传道书早就记载着世界上本来就没有什么新奇事。优秀的程序猿在解决这个问题之前知道通过GitHub图书馆、网络博客,或者通过与经验丰富的程序猿交流等形式来做调查研究。

我见过甚至是优秀的程序猿能够高速找出解决方式,可是和我一起工作过的糟糕的程序猿从来不求助于他人,结果做了大量的反复工作或者错误地解决这个问题,不幸的是,后来他们终将为自己犯下的错误付出了代价。

优秀程序猿阅读错误信息(并依照它们行事)

这包含解析堆栈路径信息。是的。这是一件非常丑陋不幸的事情。

可是假设你不愿意这么做的话,你怎么才干知道哪里错了呢?我知道的高效程序猿是不会害怕深究问题的。低效的程序猿看见有错误。但就是不愿意甚至是去读这些错误信息。(这听起来非常可笑。但你会吃惊我遇到它的频率)

更进一步地说,优秀的程序猿发现问题立即就解决它。

读错误信息对他们来说不过个開始,他们渴望深究问题并查出问题的根源。他们不喜欢推卸责任,而是愿意查找解决这个问题的方案,问题在他们这里止步。

优秀程序猿看源码

文档、測试、团队,这些都会说谎。虽然不是有益的,可是假设你想确切地知道事情是怎么回事。你必须自己亲自看源码。

假设它不是你最擅长的语言,你也不要害怕。假设你是一个Ruby的程序猿,你怀疑在Ruby的C语言库中有个错误,破解打开看看。是的,你可能拿不到源码。可是谁知道呢?你仅仅是可能而已,你有更好的机会,总比你根本不去尝试好吧。

不幸的是,假设你处在一个封闭源码的环境中,这会变得很难。但道理是不变的。

糟糕的程序猿对于查看源码没有丝毫的兴趣。结果问题困扰他们时间。要比愿意看源码的时间长得多。

优秀程序猿说干就干

优秀的程序猿趋向于主动去做。他们的内心有着难以控制的冲动,当他们确定问题或者发现新的需求时他们立马会实现解决方式,有时过早有时太过激进。可是他们对问题本能的反应是正面解决这个问题。

有时这会令人非常烦恼,可是他们的热情是他们做好事情的一个重要部分。一些人可能迟延时间回避问题或者等待问题自己可以消失。然而优秀的程序猿一開始就解决它。简而言之(或者显而易见),假设你看见有人兴致勃勃地查找问题并在解决,非常可能你的手下有位优秀的程序猿。

优秀程序猿不逃避困难

这一般是糟糕程序猿的特点:他们轻易地从一个问题跳到还有一个问题。在没有真正理解一个问题之前就进入到下一个问题。

他们会把责任归咎于程序的错误,然后花费大把的时间调试已经执行良好的代码。

他们让情感占领主动,相信直觉。而不是细致严谨的分析。

假设你匆匆忙忙地解决一个问题。甚至视每个问题为震惊世界的灾难。你非常可能犯错误或者没有解决潜在的问题。优秀的程序猿花时间去了解发生了什么错误,哪怕灾难来临的时候。但更重要的是。他们对待寻常的问题像是要解决的重要问题,因此他们更准确地解决很多其它的问题,而且这样做没有提高团队的紧张程度。

优秀程序猿善于沟通交流

说究竟,编程是一种形式的沟通交流。

写代码和写散文创作一样。可以简洁地表达你的想法非常重要。我发现那些可以写简洁邮件,优雅的状态报告,或者甚至仅仅是一个有效的备忘录的程序猿也将会是优秀的程序猿。

这能应用在写代码还有英语上。用圆括号、括号和单个字母的函数写出一行代码当然是有可能的,可是假设没有人理解它,有什么意义呢。优秀的程序猿会花时间以各种渠道交流他们的想法。

优秀程序猿激情四射

我觉得这可能是优秀的程序猿最重要的方面(或许这点也适用于除计算机科学领域的其他领域)

假设你真的在乎你所做的事情,假设不把它当成工作,当作一个业余爱好、兴趣或一件非常有吸引力的事情,那么在该领域你比其它人更有优势。优秀的程序猿一直不断编程。普通程序猿一天工作八小时,而且没有业余项目,也没兴趣回馈社区。

他们不会不断地尝试新方法,而仅仅是为了看看它们是怎样执行而执着于编程语言。

当我看见一个程序猿利用周末的时间做自己喜欢的项目时,參与创作他们每天能用到的工具时。执着于新的有意义的事情时:那个时候我确信我眼前的是一个令人惊奇的人。最后,优秀的程序猿视他们的职业不不过赚钱的途径。更是让生活变得有些不同的方法。我觉得那就是成就最棒程序猿的真正原因。

对于他们来说。编写代码是改变世界的一种方法,也是我很尊敬崇拜他们的原因。

时间: 2024-10-25 10:01:48

优秀程序猿因何而优秀?的相关文章

优秀程序员因何而优秀?

这些年我曾和很多程序员一起工作,他们之中的一些人非常厉害,而另一些人显得平庸.不久前因为和一些技术非常熟练的程序员工作感觉很愉快,我花了一些时间在考虑我佩服他们什么呢?什么原因让优秀的程序员那么优秀,糟糕的程序员那么糟糕?简而言之,什么原因成就了一位优秀的程序员呢? 根据我的经验,成为一个优秀程序员同年龄,教育程度,还有和你赚多少钱没有任何关系.关键在于你的做法,更深入地说,就是你的想法.我注意到我所钦佩的程序员都有一些相似习惯.不是他们所选语言的知识,也不是对数据结构和算法的深入理解,甚至不是

优秀程序猿学习方法

反复.先学会用它.不断向自己问问题(写博客).自己做产品! 1.对于较艰深的技术,如内核和算法,重复看,硬着头皮看.找到该技术top3的书重复研读,会有所悟的. 2.linus torwards大神如是说:想精通Linux,先学会用它!搭个系统使用它.再写小程序练习验证. 3.问问题,big view and small detail,重复缩放.直到问到的问题足够详细.你就理解了.写博客,是整理思路的好帮手. 4.自己做产品.不做产品.不做项目.学来何用?成功的产品是你彻底理解的最好验证.

漫谈程序猿系列:看看你离优秀有多远

前段时间(大概是8月份吧)我最终拿到了驾照,科目一.科目二.科目三.科目四都是一次性过的,没有给教练塞钱也没有给教练递烟.考科目三(路考)时,有个女生没能通过还被陪考员讽刺,伤心地哭了,梨花带雨让人心疼.同行的还有两个学员考了三次都没过.媳妇的同事听说我什么致礼的事儿都没干竟然一次性过了,对我表示了一些些仰慕之情.好吧,我承认这让我有点儿沾沾自喜.但是我们在谈程序猿啊,和驾校有两毛钱关系没有?别急,兄弟姐妹们,有的,这个真的有. 软件开发的未来世界 有一次我在上海Qt开发群(企鹅号2799066

开发人员程序猿10大聚集地

1.csdn CSDN是中国软件开发联盟(Chinese software develop net)的缩写,是中国最大的开发人员技术社区.它是集新闻.论坛.群组.Blog.文档.下载.读书.Tag.网摘.搜索..NET.Java.游戏.视频.人才.外包.第二书店.<程序猿>等多种项目于一体的大型综合性IT门户站点,有非常强的专业性,其会员囊括了中国地区百分之九十以上的优秀程序猿,在IT技术交流及其周边国内中是第一位的站点. 2.DevStore DevStore全称Developer serv

大学生程序猿IT情书“2014爱的告白挑战赛”获奖名单及优秀情书展示系列之 - 【IT术语】情书+【搞笑另类】情书

经过专家评委们的层层精心评选和认真讨论,恭喜下面同学终于入选CSDN高校俱乐部"大学生程序猿IT情书2014爱的告白挑战赛活动"优胜者名单.获奖者将在本周内收到邮件通知.请依照邮件要求反馈奖品领取办法. 同一时候,所有获奖者将获得CSDN高校俱乐部送出的独家红娘特别服务. 三个类别的获奖者情书展示将分别以两个帖子的方式进行. [IT术语]情书和[搞笑另类]情书在本贴进行获奖者名单展示.并将获奖者的情书内容以回帖盖楼的方式在高校俱乐部官方群组进行集体显示,查看所有获奖者情书内容->

如何才干高速成为优秀的程序猿

http://www.itcast.cn/subject/czschool/index.shtml 在国内.IT行业眼下仍然属于新兴行业.整个社会的信息化也处在高速发展的过程中,从事软件开发,能够说是性价比最高的工作.而随着入行门槛的减少,每年都有大量的新人涌入. 眼下有个普遍的现象存在.一方面公司对于拥有3年左右开发经验的程序猿求贤若渴.还有一方面非常多程序猿在工作了1到2年之后就选择转行了. 为什么非常多人在IT这条路上坚持不下去?怎样才干在这个行业生存?怎样才干更好.更长远地发展呢?我有下

一个优秀的程序猿应该具备哪些技能?

原文地址 能二字顾名思义包括了硬件技能和软件技能.硬件技能可以让一个程序猿的专业过硬,无人反驳,在语言方面,有C.C++.Java.Ruby等等等等:在环境方面,又分嵌入式.桌面系统.企业级.WEB.基础系统,或是科学研究:而软件技能则可以让他过得更好,无形中获得更多机会,比如,与人的沟通能力,语言的表达能力,写作能力,团队协作能力,适应变化的能力,时间管理能力,多任务处理能力,自我学习能力,故障处理能力,等等. 这些最基本的职业技能通常决定了一个程序员的级别,能否用好这些技能,直接关系到了程序

你是码农 还是优秀程序员?

现在深深的体会到,不仅仅人与人的差别是巨大的,程序员与程序员之间的差别同样是很明显的. 普通的程序员仅仅是完成自己的任务,完成任务后不思进取,不再修改自己的代码,不再去想有没有更好的实现方式,其实重构自己的代码真的是一件很重要的事情,他们完成任务,满足于现状,或者仅仅只是为了养家糊口,当然了,这也是很现实的问题,相信很多程序员都是这样,为了生活所迫,没有办法. 但是我们可不可以在写代码里面找到乐趣呢?答案是肯定的. 优秀的程序员(在我看来geek就是优秀的程序员,他们有很多的相同之处),他们往往

程序员老司机谈到的一位优秀程序员应该具备的十个优秀的习惯

在这个世界上,有数百万的人热衷于软件开发,他们有很多名字,如:软件工程师(Software Engineer),程序员(Programmer),编码人(Coder),开发人员(Developer).经过一段时间后,这些人也许能够成为一个优秀的编码人员,他们会非常熟悉如何用计算机语言来完成自己的工作.但是,如果你要成为一个优秀的程序员,你还可以需要有几件事你需要注意,如果你能让下面十个条目成为你的习惯,那么你才能真正算得上是优秀程序员. 1. 学无止境.就算是你有了10年以上的程序员经历,你也得要