伟大程序员的十大特质

关于如何才能成为一名优秀的程序员,最近又一次成为了我们关注的焦点。下面是我认为我们最需要具备的特质:

  • 善于解决问题。
  • 既发奋又懒惰。
  • 能理解别人的代码。
  • 对编程充满热情。
  • 为了学习而爱上学习。
  • 擅长数学。
  • 具有良好的沟通技巧。
  • 强大的辩论技巧。
  • 极端乐观。
  • 极度悲观。

1.善于解决问题——希望大家都能认识到这一点。大多数优秀的程序员能够找到别人发现不了的解决方案。

2.既发奋又懒惰——这一点让很多人都感到吃惊。程序员之所以喜欢提出质疑,往往是因为"懒得"走冤枉路。在这种想法的驱使下,他们会孜孜不倦地简化问题,简化任务。也就是说,他们会迫切地完成工作,只是过程想要尽可能的高效。

3.能理解别人的代码——这一点是至关重要的,很多优秀的程序员就是因为这一条而被拦在晋级"伟大"的门外。你的重写能力如何其实并没有多大关系——但是你需要和其他人协作于现有的项目,开始新项目时借鉴开源代码,以及从现有的代码库中学习好的技术,而这些都需要具备理解他人代码的能力。

4.对编程充满热情——你必须热爱编程。在大多数情况下,热情才是成就伟大的原生动力。

5.为了学习而爱上学习——学习犹如逆水行舟,不进则退,这是一件永无止境的事情。

6.擅长数学——最起码要对微积分有一个很好的把握。话说,如果你不知道最起码的代数和三角,那么基本上成不了伟大的程序员。

7.具有良好的沟通技巧——这意味着他们能够根据自己的情况清楚地表达想法。我碰到过很多伟大的程序员,虽然他们谈起其他问题不能做很好的沟通,但是一旦涉及到他的领域,那么就能侃侃而谈,清楚地说明问题,提出解决方案。

8.强大的辩论技巧——理由同第7点。

9.极端乐观——伟大的程序员,只需要稍微考虑一会,就能马上确定他们可以完成这项工作。

10.极度悲观——伟大的程序员,在缺乏必要信息来做正确判断的时候,会疯狂坚持这工作他们干不了。

以下为补充(非所有伟大程序员必备):

1.特别有组织。

2.善于管理他人和编程项目。

3.能够写出好的设计文档 。

4.能预估时间。

5.广泛阅读技术类书籍。

6.能将编程技能转移到编程的其他领域,举一反三。

7.一次就写好代码。

8.拥有其他领域的技能。

时间: 2024-11-05 12:09:17

伟大程序员的十大特质的相关文章

程序员的十大烦恼

10. 注释 - 只解释了"how"却没有解释"why"入门级的编程课程通常会教育学生们写代码前先写注释.而且要尽量多注释. 这种教育的出发点是"多注释肯定比少注释好.少注释肯定比没注释好".可不幸的是,很多的程序员把这当成了一种任务,对每一行代码都注释一下. Java code? 1 2 3 4 5 6 r = n / 2; // 让 r 等于 n 除以 2     // 当 r - (n/r) 大于 t 时进行循环   while ( abs

优秀程序员必备十大习惯

想成为一个优秀的软件开发人员,在今天,你该怎样发展你的职业生涯?这个是我总结的优秀程序员必备十大习惯.按照这些技巧和规则,你可以改善你的现状,由一个普通的程序员,成为一名优秀的程序员. 学会学习 作为开发者,就算是你有了3-5年的工作经验,你还是需要不断地学习,因为你在计算机这个充满创造力的领域,每天都会有很多很多的新事物出现,你需要跟上时代的步伐.你需要去接触新的程序语言,了解正在发展中的程序语言,以及一些编程框架.还需要去阅读一些业内的新闻,并到一些热门的社区去参与在线的讨论,这样你才能明白

程序员的十大思维误区

作为老码农老程序员,日常工作中打交道最多的也是程序员,在这个过程中,我发现不少程序员在技术.产品等方面的思维有各种各样的小问题.现在我就来回忆一下,把这些我认为不太好的思维习惯记录下来,在提醒自己的同时,也供程序员朋友们参考,不必对号入座,有则改之,无则加勉,或者你甚至认为这些不是思维误区都可以的,我也不知道起怎么样的标题比较合适,且称“程序员的十大思维误区”吧,祝阅读愉快! 1. 测试人员不按我的实现来测 前端界面有几个下拉列表框,需要选择后才能点“提交”按钮,但前端的实现是,即使不选择下拉框

程序员的十大谎言

http://www.aqee.net/what-are-the-most-common-lies-told-by-programmers/国外知名的问答网站Quora上最近有人提出一个问题:程序员们最常说的谎话是什么? 首先,这个问题本身就很有意思,做码农这一行当的人总喜欢挖苦自己,从自身找乐子,就像<软件纠错的六个阶段>,<当程序出问题时程序员最喜欢说的20句话>等就是典型的例子,也许是因为这个工种整天是对着机器而无聊的原因吧. 问这个问题的作者首先自己归纳了一下常见的谎言:

程序员的十大任务,你完成了吗?

新的一周,你有没有给自己定好本周的任务?但是,作为程序员,你知道你必须完成的十大任务,看看你完成了没有? 程序员最艰巨的任务跟编写代码没有多少关系.编码是逻辑思路的一种实践,这跟程序员日常工作中的其它任务比起来相对简单.如果你认为自己还是一个水平一般的程序员,在你真正的能进入到高手行列前,请确保你已经克服了下列晋级的障碍. 1. 解释你在干什么 解释软件开发过程是一个很困难的事情.那些非程序员职业的人也许知道很多关于编程的事情,但很显然,他们不会编程.对于他们来说,我们的生活就是在一间黑暗的屋子

挨踢部落故事汇(20):Android程序员的十大转型之路

玖哥是一个来自东北的Android攻城狮,现在定居被誉为"大湖名城,创(chuan)新(xiao)高地"的合肥.知识面极广,不仅广泛涉猎IT相关知识,还热爱文学,性格幽默,被誉为"会搞Android的段子手".他还是一个藏书人士,拥有汗牛充栋的IT书籍,而且每本书都认真阅读过,从不拿书当摆设. 玖哥·Android攻城狮 先说说Android程序员不可能转型的几个方向,以下四个不靠谱方向的靠谱性递减: 首先不会转型iOS,iOS和Android工程师的工作内容都是大

ava编码员和程序员的十大开发好助手

所谓工欲善其事必先利其器,对于JAVA编程员和程序员也是一样,本文所列举的诸如JavaIDEdroid.Terminal IDE.DroidEdit.Sand IDE等工具都可以帮助Java编码员和程序员更轻松的面对其工作,提高工作效率. Android可以说是一个极其强大的平台(开源),中国专业的IT在线教育扣丁学堂为Java编码员和程序员整理了一些有用的应用和IDE,使事情变得容易些. 1. JavaIDEdroid JavaIDEdroid是一个IDE(集成开发环境),可以运行于Andro

转发---十大编程算法助程序员走上大神之路

十大编程算法助程序员走上大神之路 本文为转发,源地址:http://linux.cn/article-3613-1.html 算法一:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法.在平均状况下,排序 n 个项目要Ο(n log n)次比较.在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见.事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来. 快速排序使用分治法(Divide and co

十大编程算法助程序员走上大神路

算法一:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法.在平均状况下,排序 n 个项目要Ο(n log n)次比较.在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见.事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来. 快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists). 算法步骤: 1 从数列中挑出一个元素,称为 "