一个优秀的程序员应该拥有的素质

一、只作须要作的工做

  • 使用敏捷方法;程序员

  • 全心全意作UX设计;算法

  • 沟通第一;编程

  • 编码也许不是解决问题的办法;session

  • 过早的优化是一切罪恶的根源;数据结构

  • 选择最简单的解决方案。框架

二、站在巨人的肩膀上

  • 使用开源框架;数据结构和算法

  • 使用简洁语言(如HAML、Jade、Coffeescript);编辑器

  • 不要作重复的事情(不要从新发明轮子);函数

  • 利用包管理器来进行公共和私有代码分配;工具

  • 不要任凭巨头(如微软)的摆布而修复库中的一个Bug;

  • 不要让你的雇主逼你学习;

  • 自主学习并为本身设定新的目标。

三、了解数据结构和算法

若是你不知道何时应该使用快速排序、不懂辨认O(n2)程序、不会写递归函数,你将没法成为10倍效率的开发者。

使用多种语言你才能清楚不一样的框架是如何解决相同问题的。尽量去了解底层命令(plumbing),以便可以做出明智的决定(Web框架是怎么存储session状态的?Cookie究竟是什么?)。

四、不要怕买工具,它能够节省你的时间

五、集中注意力

不要成天开着你的电子邮件、Twitter、Facebook等,在工做时将它们最小化或关掉它们,戴上耳机。Tiny hack说:“即便不听音乐我也戴着耳机工做,这样便不会有人打扰到我。”

六、尽早而且常常性地进行代码重构

有时,你不得不放弃漂亮的代码转而去寻找真正对项目有用的代码,但不要紧,若是你的现有项目中有这样的代码,最好的方式即是不要看它,并重构。

七、只管去作

将你的业余项目分享到Startup Weekend中。在我开始转到Unix和Ruby on Rails上以前,我买了一台Mac,使用Windows虚拟机花了一年时间作.NET项目。

八、挑选一个编辑器,并掌握它

高效开发者喜欢用文本编辑器赛过IDE编辑器,由于这样能够学到更多东西。不管什么状况,尽可能使用键盘快捷键,由于熟练使用一件工具的前提是熟悉它。

九、整洁的代码赛过巧妙的代码

要想让其余人可以读懂你的代码,尽可能使用最少的代码来完成任务。遵循DRY(Don't repeat yourself)的原则,使用明肯定义的对象和库,将任务分解成小而简单的代码段。

十、潜意识是强大的工具

离开10分钟每每就能够解决一个问题。控制编程时间,给本身一个多姿多彩的生活,劳逸结合能让你在工做时更高效、更愉悦。固然,即使是上了年纪的程序员也知道,以最少的时间完成最高效的工做是成为10倍效率开发者的必要条件。

十一、推进自身和团队进步

重视批评,以包容的态度接受批评并提高本身是很是重要的事情。没有这个基础,你不可能成为一个高效的开发者。一位智者曾经说过:“聪明的人善于从本身的错误中学习,而智慧的人善于从别人的错误中学习。”

转载自:https://www.oschina.net/

相关文章
相关标签/搜索