本文是html5tricks原创翻译,转载请看清文末的转载要求,谢谢合作!

当我们被采访的时候,常常会问及这样一个问题——一个伟大的程序员需要具备哪些特质。大多数人回答的是逻辑、机智、耐心以及勤奋。对于这个问题,其实并没有标准答案,但是除了这些特质,习惯也是非常重要的因素。而这一点则只能在已经进入正轨的团队组织中可以窥见。

除了必需的技术技能和逻辑能力,下面讲一下一个团队应该具备怎样的好习惯:

1. 良好的时间管理

迟到对于任何一家公司都是个头痛的问题。作为一个程序员,有时候为了完成任务常常不得不熬夜,从而导致第二天上班就迟到了。但是我们忽略了这一点,我们的工作时间至关重要,因为在这段时间里我们要和客户同步,也要与团队其他成员一齐协作。

2. 深入理解客户需求

仅仅了解单一用户的表面意思是远远不够的。一个伟大的程序员应该具备能把繁琐的要求理解并分解成项目的技术任务或子任务的能力,并且最后拿到的成果应精确满足客户的需求。

3. 在编程之前准备好全套算法

案例、伪代码和流程图统统都是非常重要的软件开发手段。一个伟大的程序员如果没有先准备好算法,那么他是不会像傻小子一样兴冲冲地开工写代码的。写代码实际上只是一个编码任务。

4. 理解并帮助定义验收标准

是否需要高层次测试脚本是由产品所有者决定的,但是一个伟大的程序员必须能够编写技术测试脚本,并且深刻认识到跳过这些步骤可能会带来的后果。

5. 绞尽脑汁还是“NO”

假如抓耳挠腮还是找不出解决办法,我们该如何是好?一个伟大的程序员应该足智多谋,能灵活应对困境。他们会去询问同事,或者是向团队领导者请教;在互联网上面搜索,然后耐下心来一遍又一遍地试验。相信山穷水尽疑无路,柳暗花明又一村,投降两个字从未出现在他们的字典上。

6. 承认自己的缺陷

性格内向就是其中一个对于我们大多数程序员而言很常见的软技能问题。但是一个伟大的程序员一旦知道自己的不足之处之后,会立刻主动改善自我,并且积极执行“客户第一”的服务理念。

7. 主动

优秀的程序员不需要别人告诉他怎么做,他的主动性更强。他有这个自觉,会主动去关注流程;改善能增强软件开发生产力的工具,例如SVN;提高应用程序的灵活性以及解决软件开发中发现的Bug。

最后,我想说的是,无论你是职工还是自由职业者,要明确一点——软件开发的目的是为客户服务。一个伟大的程序员深刻明白每一个任务的价值并且尊重他人的成果,对其呕心沥血的过程感同身受!

译文链接:http://news.html5tricks.com/7-habits-of-great-programmer.html
英文原文:Seven Habits of a Great Programmer
翻译作者:IT新闻 – 蒋丽丽
[ 转载必须在正文中标注并保留原文链接、译文链接和译者等信息。]

伟大程序员必须具备的7个好习惯相关推荐

  1. 优秀程序员所具备的7个好习惯

    当我们被采访的时候,常常会问及这样一个问题--一个伟大的程序员需要具备哪些特质.大多数人回答的是逻辑.机智.耐心以及勤奋.对于这个问题,其实并没有标准答案,但是除了这些特质,习惯也是非常重要的因素.而 ...

  2. 优秀的Java程序员应具备哪些编程技术?

    想要成为一名合格的java程序猿,需要学习的知识是有很多的,但是基础知识一定要非常牢固,基础不牢固的程序员,随时都会被新的知识和技术所淘汰,下盘不稳风一吹就倒,那么具体作为一个优秀的Java程序员应具 ...

  3. 面试感悟-------一名3年工作经验的程序员应该具备的技能

    转载: 面试感悟-------一名3年工作经验的程序员应该具备的技能 前言 因为和同事有约定再加上LZ自己也喜欢做完一件事之后进行总结,因此有了这篇文章.这篇文章大部分内容都是面向整个程序员群体的,当 ...

  4. 阿里资深技术专家:在各阶段中,3年经验的程序员应具备哪些技术能力(进阶必看)...

    3年工作经验的Java程序员应该具备哪些技术能力,这可能是Java程序员们比较关心的内容.我这里要说明一下,以下列举的内容不是都要会的东西,但是你掌握得越多,最终能得到的评价.拿到的薪水势必也越高. ...

  5. 面试感悟—-一名3年工作经验的程序员应该具备的技能

    文章来自:五月的仓颉 五月的仓颉 是一位非常优秀,乐于分享的大神,目前就职阿里 原文链接:https://www.cnblogs.com/xrq730/p/5260294.html 前言 因为和同事有 ...

  6. 3年工作经验你的程序员应该具备的技能

    http://www.banzg.com/archives/754.html?ref=myread 3年工作经验的程序员应该具备的技能: 1.基本语法 这包括static.final.transien ...

  7. 怎么移动矩形选框工具选中的东西_程序员应具备的PS基本技能(二):程序员切图最常使用的工具组-选择工具组...

    若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 原博主博客导航:https://blog.csdn.net/qq21497936/ ...

  8. java开发 职业技能_java编程开发程序员需要具备哪些职业技能

    随着互联网的不断发展,java编程开发可以说是目前学习人数和应用范围非常多的一种编程语言了,而今天我们就一起来了解一下,java编程开发程序员需要具备哪些职业技能. 1.数据结构和算法分析 数据结构和 ...

  9. 一名3年工作经验的程序员应该具备的技能

    本文转自:https://m.imooc.com/article/details?article_id=7557 前言 因为和同事有约定再加上LZ自己也喜欢做完一件事之后进行总结,因此有了这篇文章.这 ...

  10. 程序员应该具备的素质(来自csdn)

    程序员是一种技术工作,在IT的发展中有相当重要的地位,从底层硬件通讯协议的建立, 到数据传输层的处理,到操作系统的建设,到数据库平台的建设,一直到应用层上各种数 据营销平台的搭建,程序员在里面都扮演着 ...

最新文章

  1. ubuntu14.04 LTS 更新源
  2. 【55】让自己熟悉Boost
  3. 直播报名 | 官方解读NVIDIA黑科技:StyleGAN的架构与实现
  4. !Important:CSS中!important的作用用于Ie6.0 与Ie7.0、firefox
  5. 捣蛋鹅显示服务器已满,无题大鹅模拟奖杯攻略分享
  6. Android Studio之编译t提示Invoke-customs are only supported starting with Android O (--min-api 26)
  7. Material Design入门
  8. python中__init__.py是干什么的
  9. 四阶龙格库塔法求解微分方程【MATLAB】
  10. 转载收集的云计算网络技术
  11. java opencv 基本操作4
  12. matlab 各类符号意义
  13. 亚马逊防关联方法适合shopee平台吗?
  14. 前期总结+开学展望(WYL)
  15. SAP BAPI_EXCHANGERATE_GETDETAIL 读取货币汇率
  16. MySQL命令大全:MySQL命令行大全
  17. iOS_Tagged Pointer是什么,结构
  18. 小豪学Linux——vim文本编辑器与shell脚本
  19. Python 数据分析微专业课程--项目03 视频网站数据清洗整理和结论研究
  20. discuz member.php,Discuz启用Memberchach完美教程

热门文章

  1. 战神引擎清理数据教程[保留跟不保留账号
  2. SHT20读取温湿度,基于cubemx
  3. 《大数据之路-阿里巴巴大数据实践》第三章 数据同步
  4. 小米笔记本充电实测追求速度牺牲兼容性小米笔记本充电驱动_开学劲薄之高性价比笔记本电脑选购指南...
  5. matlab计算并联电阻怎么输入,如何用计算器快速计算并联电阻,并联电阻的计算方法...
  6. Python3入门视频教程百度网盘
  7. python教程视频 网盘-Python最新全套视频教程百度网盘资源
  8. 《软件测试价值提升之路》学习之—测试工程师能力模型
  9. 数学建模系列--插值算法
  10. 白嫖!白嫖!【尚学堂】高淇Java300集全套学习资料!