优秀的程序员的七个特质

优秀的程序员的七个特质 从技术层面来讲,和我工作过的程序员良莠不齐。之前和优秀程序员搭档使我非常轻松,不禁使我思考一个问题:优秀的程序员都有那些特质?或者说什么成就了他们高效的编程工作。 以我个人看法,年纪、学历、薪水这些外在因素和是否优秀没有什么任何关系。它取决于你的内在,也就是思想。我观察到这些优秀的程序员都有一些相似的习惯,这里不是说他们所选择的语言、对结构数据的理解、工作经验;是他们工作方式、态度,以及他们对外演讲的收放自如。 当然,优秀的程序员远不止具备上述的那些特质,以偏概全的绝对判断也不可取。但是,至少当你具备其中的一部分,就离优秀程序员不远了。 调查研究(未雨绸缪或者谷歌搜索) 随便这种特质的术语叫什么,都不影响出现越来越多已经通过某种方式解决的编程问题。只有你想不到,没有你做不到,这世界上已经没有绝对的新鲜事儿了。优秀的程序员在解决问题之前就会通过GitHub图书馆、网络博客、沟通互助等形式来做调查研究。 解读、研究错误信息 解析堆栈路径信息很麻烦,但是不这么做的话,就不会知道哪里有问题。况且,高效的程序员是乐于深入研究问题,但是一般的程序员却不愿意迎难而上,研究解决问题。它频繁的出现以至于到不可置信的地步。 检查源代码 文档显示、测试结果甚至是自己的团队,都有可能出现不是本意的错误或者误差。所以,你如果想要确切明白工作细节,就必须检查源代码。 不必担心它不是你最擅长的语言。一个Ruby程序员可以找出其中C语言库的错误,任何事情开始做就有可能成功,不做永远不会成功。 处在封闭源代码的环境会让事情变得很棘手,但是原则不能被动摇。结果低效的程序员宁愿被问题困扰无法解决,也根本不愿意去检查源代码。 大胆主动尝试 必须自愿、主动的去做一项工作。他们内心有着难以控制的冲劲儿,遇到问题和困难会显得很兴奋,当然有时候也会显得不够沉稳。但是这种解决问题的本能反应,绝对是会起到正面的效果。 懂得绕过危机 初级程序员一般都有一个共同点:处理问题不够全面,总是陷入危机和逃离危机的恶性循环。 而且往往不会反省自己的错误,反而在运行良好的代码上浪费时间调试。初级程序员的理性处理很少,基本都是凭借直觉面对问题,缺少严谨的分析。 相反,高级程序员是深入研究问题的根源,并且站在一个宏观的角度去思考,为以后可以避免危机做了很多的铺垫和准备。 善于沟通 编辑就是另一种形式的沟通交流,写代码和写文章是一样的道理,能得到用户和读者的喜爱最重要。所以,会写文章、报告,在大会谈吐自如的初级程序员,在将来一定也会成为高效程序员。 英语和代码有相似之处,用圆括号、括号和单个字母的函数写出一行代码当然是有可能的,前提是有人理解,优秀的程序员会花时间以各种渠道交流、沟通。 保持工作热情 个人认为是这是最重要的特质(当然,任何工作都需要高度的工作热情) 俗话说,不能爱一行干一行,应该要干一行爱一行,它说的就是这个意思。优秀的程序员大多喜欢编程工作,反而初级程序员对编程充满不屑和厌倦,大多数初级程序员仅仅为了生活和薪水去编程。 有的程序员利用周末时间去无偿做自己喜欢的项目,所以他们每天都在创新和进步,最终他们得到不同的生活方式和丰厚的薪水。这才是成为优秀程序员真正原因。对于这些程序员来说,编写代码是改变世界的方式,也是获得别人尊敬的目标。 翻译:曲径 英语原文:What Makes a Good Programmer Good?

原文发布于微信公众号 - php(phpdaily)

原文发表时间:2014-09-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏BestSDK

掌握这5点核心技能,轻松搞定用户设计体验

用户体验,,是涉及到一个人使用一个特定产品或系统或服务的有关行为、态度、与情绪。用户体验,包括实际、体验、情感、有意义、有价值的人机交流、和产品所有权方面的问题...

2807
来自专栏前端桃园

知识体系解决迷茫的你

最近在星球里群里都有小伙伴说道自己对未来的路比较迷茫,一旦闲下来就不知道自己改干啥,今天我这篇文章就是让你觉得一天给你 25 个小时你都不够用,觉得睡觉都是浪费...

974
来自专栏大数据文摘

干货 | 揭秘信息可视化图表的设计方法

22012
来自专栏java一日一条

关于软件开发你真正需要知道的几个事情

我之所以写这篇文章是因为有一个朋友最近决定跻身软件工程行业。我的这位朋友聪明,精力充沛,品貌兼优,又善于学习:每个人都认为这样的人才必将有一番作为。但是,在踏出...

671
来自专栏PPV课数据科学社区

大数据变现的关键途径是——可视化

在Google搜索有关“大数据”,会出现很多个由立体0和1组成的图片,一些解释性的信息图示,甚至出现“黑客帝国”的界面。那“大数据”到底是什么,...

3166
来自专栏非著名程序员

程序员:请你不要对业务逻辑「嗤之以鼻」

最近感受很多,感慨也很多。我发现很多程序员对于处理业务逻辑都是「嗤之以鼻」。感觉自己天天写业务逻辑代码,改 Bug 都没有时间学习,没有时间实现个人成长?

961
来自专栏Java学习网

关于软件开发你真正需要知道的几个事情

我之所以写这篇文章是因为有一个朋友最近决定跻身软件工程行业。我的这位朋友聪明,精力充沛,品貌兼优,又善于学习:每个人都认为这样的人才必将有一番作为。但是,在踏出...

3125
来自专栏企鹅号快讯

程序员应该如何提高自己?

想法和问题 当程序员已经处于中级时,应如何提高自己?有很多关于“学习编程”的资源,能够让人从 0 到新手(虽然这些资源中大多数的质量是值得商榷的),但是怎么样才...

1757
来自专栏CDA数据分析师

如何将数据转化为收益:3步激活数据法!

虽然我们身处数字化时代,可作为营销者,稍稍审视一下,我们也不得不承认,数据分析仍是一个朝阳产业。 如果你像大多数机构一样,这意味着尽管你要收集比以前更多的数据,...

1738
来自专栏web前端教室

脱离前端菜鸟层次的二个关键点

我个人吧,一直认为学习前端技术是比较简单的事情,只要你真的是一步一个脚印的在前进,那你自然会有相应的结果可以收获。这里面包含二个关键点,一,脚踏实地;二,不断努...

1735

扫码关注云+社区