使用一种特殊的编程语言、编程很牛,单单靠这个并不能说一名程序员/ 开发者就是优秀程序员/开发者。   快速 发展的开发 环境使得这个行业比我今天看到的任何一个行业都要发展迅速,这既有积极的一面也有消极的一面:今天的程序员/开发者有很多编程语言、开发工具和开发 平台可选,但是建立一个安全、可扩展的环境却变得难了很多;硬件和 软件正日新月异地变得更加复杂,但现在 学习新技术比过去要难太多了。

以下是优秀程序员应当具备的品质:

语言和工具(Languages and Tools:)

任何程序员/开发者需要具备的第一个技能就是,能够用编程语言 工作并会使用与之相关的主要开发工具,包括:工具、IDEs, web 框架, messaging APIs。

程序设计方法(Programming Paradigm:)

举例来说, 很好地 理解面向对象,这对使用强制式语言(Imperative Language也称过程式语言)写出可维护的 代码至关重要。在 企业开发中你会遇到各种不同的问题,理解多种程序设计方法并知道何时使用,将使这些问题迎刃而解。

领域专长的知识(Domain Specific Knowledge:)

如果想编写系统来解决特定领域内的问题,那么拥有该领域的专长知识将非常重要。
尽管许多这样的知识是由 项目的商业分析员(Business Analyst)来获悉,但如果开发者也能获取,那么跟用户的 交流将会更加容易,而且更能够理解他们的专业词汇。

人际关系(People Skills:)

软件开发中最重要的技能之一就是能够与其他开发者一起高效工作——同事、质量/商业分析员(Quality/Business Analysts),客户,用户,很多很多……如果你能够很好地处理这些关系,那么成功的大路也离你不远矣。

解决问题(Problem Solving:)

有能力解决那些没有明显解决方法的问题,这一点在软件开发中很重要。当把你的应用配置到JBoss或者通过一个测试找到一个棘手bug的时候,理智地编程将成为调试一个类路径(class path)问题。

沟通能力(Good Communication skills:)

在软件世界中,人们通常认为好的沟通能力就是流利地说话,事实上这远不是。这指的是:你能够多么有效地与其他人交流。作为一名优秀的开发者,你应当能够很好地表达你的想法,很好地听,以及很好地掌控你与他人沟通的过程。

读书(Read Books:)

读大量书将了解很多不同的技术,读书使你对一种技术有了快速、直接的视角。通常你应当选择知名学者的书,他们推崇实践和用技术解决问题的多种方法。在这个过程中,你将学到很多并逐渐形成自己的方法。没准哪天你也就能出书了呢。

实践、实践再实践(Practice, Practice and Practice)

许多开发者拥有大量理论知识,他们饱览书籍和技术资料。然而,怎样运用这些知识却让他们望而却步。这是因为他们缺乏实践。你工作的效率和效力只能通过你实践中编写代码来获得。唯一能使你成为优秀开发者的方法就是实践、实践再实践。

遵循范例和最好的实践(Follow Patterns and Best Practices :)

范例和实践反映了技术指导、常见技术问题和基于真实事件的实践。学习的过程是循序渐进的,但是一劳永逸。这会节省你非常多的时间和精力,让你的工作更加有 效。遵循一本“代码编程指南”(Code Design Guideline),经常使用代码分析工具将检测和分析你的代码。

讨论/小组沟通(Discussion/Newsgroup:)

参加开发社区会提高你的领导能力以及贡献感,二者都是成功的必需品。在社区内参加一场含量较高的技术讨论将使你充满成就感,而且会增长你的知识,因为其中 的智者会查看和评点你的解决方法,你也会查看和评点他们的。而且这个过程教会你接纳并感激别人的建议。如果她/他做出了积极的贡献,不要忘了赞扬和鼓励 ('pat someone on the back')。

网络和数据库知识(Knowledge of Networking and Databases:)

有人也许不赞成这点,但是一个优秀的开发者应当知道网络和数据库的基本东西。而且在思考解决方法的时候,不要忘记将二者考虑在内。拥有二者的知识,能够帮你写出更好的代码并节省你很多时间。

博客、写文章(Blog/ Write Articles:)

我们中有谁能够记住每件事?我不能,所以我把他们记下来。当我需要的时候,可以回头翻阅参考。除此之外,我可以借此从读者那里获得反馈,让我对同样的问题 收获更多的方法。我已经获悉了许多与我工作有关的反馈,虽然有好有坏,但我会一一验证,这个过程也让我受益匪浅。

KISS

不要想歪了,这里的KISS不是你想的那样,是指让应用/方法直短、简单(Keep Implementations/Approaches Short and Simple的简写)。不要使用行话来让事情更加复杂,因为人们很难理解它们。最好的方法是简化你的设计并避免过度设计(over- engineering)的东西。

像测试者一样思考(Think as a Tester:)

开发者和测试者,来自两个不同阵营的两类人群,随时准备同彼此较量。我发现二者的合作将产生非常好的结果。既不会损害开发者的利益也不会损害测试者的利益。实际上,长期来看,像测试者一样思考有利于减少你代码的bug,而且会形成很好的编程习惯和思维。

坚持一致是游戏规则(Consistency is the name of the game:)

你是否经常跳槽或者被你的薪水所打击?如果是,那么静坐下来放松下并重新规划。好好想想不要让你的决定天马行空,为了不断向前,你需要一个坚实的决定并坚持不懈。

参加技术研讨会/大事件(Attend technology seminars and events:)

    如果你所在的城市有技术研讨会,一定要抽出时间参加。大部分的研讨会是免费的,而且会提供新技术的重要信息。

万家通吃还是一门独大?(Jack of all or Master of One?:)

嗯……这个问题不好回答。在现在的环境下,你必须掌握一种以上的技术。尽管这不容易,但是好的开发者还是能够做到。其中的 关键就在于适应性:如果你精于某种技术,那么给以机会你将较容易地在短期内掌握一种新技术。你不妨试试,多掌握一种技术可以让你在使用中对比、选择。

停止抱怨(Stop complaining:)

是否软件没有做成,是否测试人员给你检查出一堆bug?许多开发者的本能反应是抵制情绪进而非常抵制这种情况。由于这种情绪是自然反应未经控制,所以它不可取。静心分析为什么软件失败、为什么有如此多bug,这是一个学习的经历将使你未来的工作受益良多。

最后,请记住你不是要永远做个程序员。所以一旦你自我满足并觉得自己是个优秀的程序员,你就得重新规划你自己(re-program yourself)。扩展你的兴趣。开发只是这个过程的一部分,了解用户和商业实际上是一种艺术,每个人应当以此为目标并努力掌握它。

什么是程序员的优秀品质?相关推荐

  1. 国际:什么是程序员的优秀品质

    国际:什么是程序员的优秀品质? 2008.10.17  来自:CSDN      共有评论(85)条 发表评论    收藏 使用一种特殊的编程语言.编程很牛,单单靠这个并不能说一名程序员/开发者就是优 ...

  2. 什么是程序员的优良品质

    一个好的程序员,好在哪里?我觉得并不是人品问题,而是世界观的问题,拥有怎样的世界观,是有利程序开发的,这就是本文要分析的. 一.伟大的学习观: 我发现有几种学习观是没有意义的,比如努力学习,勤奋学习, ...

  3. java程序员应聘优秀简历

    年 龄:22 姓 名:___ 性 别:男 联系电话:____ 联系邮箱:____ 现住址: 专 业:计算机网络与电子商务 择业目标 Java软件工程师 基于Oracle数据库,MySQL数据库,Web ...

  4. 10个方法让程序员更加优秀

    2019独角兽企业重金招聘Python工程师标准>>> 1.掌握基础 对于任何行业任何工作来说,融会贯通是获得成功的关键.一个人想要成为优秀程序员,就必须有坚实的基础.核心理念的理解 ...

  5. 同样是程序员,优秀的程序员能够月入5万甚至50万!,一般的程序员却只能月入5千甚至更低?那么他们差别在哪里呢?

    从以下几点来谈谈差别: 1.思路 编程思路,是系统的计划和设想,是程序员写程序时的条理和线索.优秀的思路背后一定是不断的积累.在熟知编程基础的前提下,优秀的程序员会积累尽可能多的经验,这份经验让他们更 ...

  6. 卓越程序员和优秀程序员有哪些区别?

    能够在完美主义和实用主义之间找到平衡--卓越的程序员既能够做出熟练.快速但是劣迹斑斑的解决方案,也能用简洁.优雅并且健壮的方法解决问题,他们能够明智地选择适合于所给问题的解决方法.一些稍欠火候的程序员 ...

  7. 程序员从优秀到卓越的几点建议

    和其他技术一样,编程也有层次阶段之分--业余爱好者.普通级别和专家级别.关于这个问题我问过很多很多次-- 如何从优秀到卓越?这是一个程序员应该扪心自问的最重要的问题.至少,在他们职业生涯的某些时候. ...

  8. 一般程序员 vs 优秀程序员,没有对比就没有伤害

    1. 对需求更加谨慎 优秀程序员:在有需求与任务时,会不断的询问需求与任务,并且多次确认想要的结果,再动手写代码. 一般程序员:接到任务就闷头写代码,反正做错了也是你们要求的,不是我的锅. 2. 编码 ...

  9. 一个程序员开始优秀的 3 种迹象

    一个优秀的程序员,离不开筑梦.自律和自我管理. 那么,优秀的程序员都在看哪些公众号呢? 你关注的大事件 在下面这些公众号里,都能找到清晰的脉络 你未注意到的细节 我们会在第一时间为你呈现 理性.客观. ...

最新文章

  1. 网络流—Edmonds-Karp 最短增广路算法(最大流)
  2. 接口转发和重定向区别(二)
  3. linux ie 插件目录在哪个文件夹里,Linux下的IE浏览器使用方法[图]
  4. 游戏角色口型老是对不上?这里有一个高效解决方案
  5. python爬虫淘宝手机_【Python3 爬虫】14_爬取淘宝上的手机图片
  6. java heap 参数_java heap space解决方法和JVM参数设置
  7. golang 的 tag
  8. 【第一组】beta发行说明
  9. Python编写区块链
  10. MTK:MVRAM操作
  11. 如何让Vue在同一局域网内能访问?
  12. VUE 浏览器最强插件——极简插件
  13. fp算法例题_FP-growth算法
  14. NRF24LE1有源RFID首选
  15. DOTA数据集 | 数据前后处理操作系列
  16. python123货币转换器_python货币转换
  17. Qt+FFmpeg录屏
  18. c语言调色板5个参数,R语言中的颜色以及色板
  19. js时间戳转换年月日
  20. 中国建造了世界上最大的超级计算机,中国超级计算机创造出世界最大虚拟宇宙...

热门文章

  1. Ubuntu 22.04无法使用realvnc问题解决
  2. unity <queries> 配置
  3. sniffer待实现的功能
  4. 滴滴出行2018内推编程题
  5. 女人要自立,男人要自强
  6. 电子产品自动搜索比价系统设计与实现 项目愿景与范围
  7. c语言strup用法,C语言中的神兽strdup
  8. 标准英语写作——从中式英语到地道英语——读书笔记3(句子分析思考)
  9. Five years out 五年睿进
  10. Pixiv日榜爬虫的Python脚本和Mac os小程序