杰出程序员的十大特质
2015-09-02 09:24
127 查看
关于如何才能成为一名优秀的程序员,最近又一次成为了我们关注的焦点。下面是我认为我们最需要具备的特质:
1.善于解决问题——希望大家都能认识到这一点。大多数优秀的程序员能够找到别人发现不了的解决方案。
2.既发奋又懒惰——这一点让很多人都感到吃惊。程序员之所以喜欢提出质疑,往往是因为“懒得”走冤枉路。在这种想法的驱使下,他们会孜孜不倦地简化问题,简化任务。也就是说,他们会迫切地完成工作,只是过程想要尽可能的高效。
3.能理解别人的代码——这一点是至关重要的,很多优秀的程序员就是因为这一条而被拦在晋级“伟大”的门外。你的重写能力如何其实并没有多大关系——但是你需要和其他人协作于现有的项目,开始新项目时借鉴开源代码,以及从现有的代码库中学习好的技术,而这些都需要具备理解他人代码的能力。
4.对编程充满热情——你必须热爱编程。在大多数情况下,热情才是成就伟大的原生动力。
5.为了学习而爱上学习——学习犹如逆水行舟,不进则退,这是一件永无止境的事情。
6.擅长数学——最起码要对微积分有一个很好的把握。话说,如果你不知道最起码的代数和三角,那么基本上成不了伟大的程序员。
7.具有良好的沟通技巧——这意味着他们能够根据自己的情况清楚地表达想法。我碰到过很多伟大的程序员,虽然他们谈起其他问题不能做很好的沟通,但是一旦涉及到他的领域,那么就能侃侃而谈,清楚地说明问题,提出解决方案。
8.强大的辩论技巧——理由同第7点。
9.极端乐观——伟大的程序员,只需要稍微考虑一会,就能马上确定他们可以完成这项工作。
10.极度悲观——伟大的程序员,在缺乏必要信息来做正确判断的时候,会疯狂坚持这工作他们干不了。
以下为补充(非所有伟大程序员必备):
1.特别有组织。
2.善于管理他人和编程项目。
3.能够写出好的设计文档 。
4.能预估时间。
5.广泛阅读技术类书籍。
6.能将编程技能转移到编程的其他领域,举一反三。
7.一次就写好代码。
8.拥有其他领域的技能
1.善于解决问题——希望大家都能认识到这一点。大多数优秀的程序员能够找到别人发现不了的解决方案。
2.既发奋又懒惰——这一点让很多人都感到吃惊。程序员之所以喜欢提出质疑,往往是因为“懒得”走冤枉路。在这种想法的驱使下,他们会孜孜不倦地简化问题,简化任务。也就是说,他们会迫切地完成工作,只是过程想要尽可能的高效。
3.能理解别人的代码——这一点是至关重要的,很多优秀的程序员就是因为这一条而被拦在晋级“伟大”的门外。你的重写能力如何其实并没有多大关系——但是你需要和其他人协作于现有的项目,开始新项目时借鉴开源代码,以及从现有的代码库中学习好的技术,而这些都需要具备理解他人代码的能力。
4.对编程充满热情——你必须热爱编程。在大多数情况下,热情才是成就伟大的原生动力。
5.为了学习而爱上学习——学习犹如逆水行舟,不进则退,这是一件永无止境的事情。
6.擅长数学——最起码要对微积分有一个很好的把握。话说,如果你不知道最起码的代数和三角,那么基本上成不了伟大的程序员。
7.具有良好的沟通技巧——这意味着他们能够根据自己的情况清楚地表达想法。我碰到过很多伟大的程序员,虽然他们谈起其他问题不能做很好的沟通,但是一旦涉及到他的领域,那么就能侃侃而谈,清楚地说明问题,提出解决方案。
8.强大的辩论技巧——理由同第7点。
9.极端乐观——伟大的程序员,只需要稍微考虑一会,就能马上确定他们可以完成这项工作。
10.极度悲观——伟大的程序员,在缺乏必要信息来做正确判断的时候,会疯狂坚持这工作他们干不了。
以下为补充(非所有伟大程序员必备):
1.特别有组织。
2.善于管理他人和编程项目。
3.能够写出好的设计文档 。
4.能预估时间。
5.广泛阅读技术类书籍。
6.能将编程技能转移到编程的其他领域,举一反三。
7.一次就写好代码。
8.拥有其他领域的技能
相关文章推荐
- 程序员必须知道的7大基础实用算法及其讲解
- Java面试题全集(下)
- Java面试题全集(中)
- Java面试题全集(上)
- 剑指Offer面试题:19.包含Min函数的栈
- 为什么中国的程序员技术都偏低?
- 一篇让你知道程序员和黑客区别的文章
- 程序员什么时候该考虑辞职
- 面试问题疑点总结
- Vim配置 显示行号 语法高亮 智能缩进 更适合程序员使用
- 数据挖掘面试题
- 黑马程序员 ------- 指针的基础知识
- 30多岁仍没有出路的程序员-应该为什么?
- 面试题26:复杂链表复制
- 面试题25:二叉树中和为某一值得路径
- 二叉搜索树的后序遍历路径(《剑指offer》面试题24)
- 汇顶科技(笔试加面试)
- 面试题24:二叉搜索树的后序遍历序列
- 黑马程序员——Java 多线程
- 程序员必知的八大排序的关系