使用一种特殊的编程语言、编程很牛,单单靠这个并不能说一名程序员/开发者就是优秀程序员/开发者。
快速发展的开发环境使得这个行业比我今天看到的任何一个行业都要发展迅速,这既有积极的一面也有消极的一面:今天的程序员/开发者有很多编程语言、开发工具和开发平台可选,但是建立一个安全、可扩展的环境却变得难了很多;硬件和软件正日新月异地变得更加复杂,但现在学习新技术比过去要难太多了。
以下是优秀程序员应当具备的品质:
语言和工具(Languages and Tools)
任何程序员/开发者需要具备的第一个技能就是,能够用编程语言工作并会使用与之相关的主要开发工具,包括:工具、IDEs, web 框架, messaging APIs。
程序设计方法(Programming Paradigm)
举例来说,很好地理解面向对象,这对使用强制式语言(Imperative Language也称过程式语言)写出可维护的代码至关重要。在企业开发中你会遇到各种不同的问题,理解多种程序设计方法并知道何时使用,将使这些问题迎刃而解。
领域专长的知识(Domain Specific Knowledge)
如果想编写系统来解决特定领域内的问题,那么拥有该领域的专长知识将非常重要。
[size=xx-small][/size]
尽管许多这样的知识是由项目的商业分析员(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)。扩展你的兴趣。开发只是这个过程的一部分,了解用户和商业实际上是一种艺术,每个人应当以此为目标并努力掌握它。
[color=darkred][/color]
分享到:
相关推荐
总之,成为一名优秀的程序员,不仅需要具备耐心、毅力、细心和勇于挑战的品质,还需要保持谦逊、热情和自我反省的态度,同时避免轻易放弃、浮躁自满、消极被动和推卸责任等行为。通过这样的自我修养和努力,才能在IT...
最后,沟通和团队协作能力是优秀程序员不可或缺的品质。良好的沟通能确保团队目标一致,减少误解,提高协作效率。同时,愿意分享和学习他人的经验,有助于个人成长。 总之,成为一名优秀的程序员需要系统学习,持续...
### 如何从优秀的程序员成为伟大的程序员 在信息技术领域,从一名优秀的程序员成长为一名伟大的程序员不仅是职业发展的过程,更是一种自我超越的精神追求。本篇文章将基于提供的文件内容,深入探讨成为伟大程序员所...
- **ThinkPad**系列笔记本则以其坚固耐用的品质和出色的键盘手感著称,特别适合那些需要经常出差或在户外工作的开发者。 综上所述,无论是编程语言的选择、编程范式的采用,还是开发工具和操作系统的偏好,都体现了...
无论是踏实的工作态度、认真负责的精神,还是持续学习的能力,都是成为顶尖程序员不可或缺的品质。同时,“懒”与“笨”的智慧也提醒我们,在追求效率的同时,也要保持谦逊和开放的心态,这样才能在快速变化的IT行业...
根据对职业的理解和技能水平,我们可以将程序员分为不同境界,这些境界不仅体现在技术能力上,还包括了项目管理、创新思维、沟通技巧以及个人品质等多个方面。 五流程序员,他们主要关注技术和工具的更新。这一层次...
在IT行业中,一份优秀的程序员个人简历是求职过程中至关重要的第一步。简历不仅是展示技术能力的窗口,也是展现个人专业素养和沟通技巧的平台。以下将详细分析这些“程序员个人简历优秀模板”中的关键知识点,帮助...
1.3 学习能力:持续学习是程序员必备的品质。关注最新的技术趋势,如云计算、大数据、人工智能等,不断更新自己的知识库。 1.4 问题解决:培养良好的问题解决技巧,包括分析问题、制定解决方案、测试验证以及反思...
成为一名优秀的程序员不仅仅是掌握特定的技术或语言那么简单,它还涉及到对行业趋势的理解、个人品质的培养以及持续的学习和发展。对于那些怀揣着“比尔·盖茨”梦想的人来说,重要的是认识到成功不仅仅取决于技术...
通过上述介绍可以看出,网页程序员不仅需要具备扎实的技术功底,还需要具备良好的职业素养和个人品质。在日常工作中,他们不仅要关注技术细节,还要注重团队协作和项目管理,从而确保项目的成功实施。
### 编程修养:什么是好的程序员? #### 一、引言 在当今信息化时代,编程已成为推动科技进步和社会发展的重要力量之一。随着计算机科学和技术的不断进步,人们对编程人员的要求也越来越高。不仅仅是掌握技术细节...
这本书涵盖了各种编程语言、数据结构、算法、操作系统、计算机网络、数据库等核心知识点,帮助求职者在面试中展现出扎实的技术基础和优秀的解决问题能力。 1. **编程语言**:面试中常见的编程语言包括Java、C++、...
但仅仅技术精湛还不够,成为一个优秀的管理者还需要具备管理和人际交往的能力,这可能意味着要牺牲一部分技术专研的时间。 再者,名誉也是程序员追求的目标。被他人认可为“大侠”或“牛人”,能带来职业荣誉感,...
【程序员简历模板-优秀毕业生5.zip】是一个包含程序员求职简历模板的压缩文件,适用于那些刚毕业或具有较少工作经验的优秀毕业生。这个压缩包的核心内容是【程序员简历模板-优秀毕业生5.docx】,一个Microsoft Word...
【标题】:企业需要什么样的程序员,项目经理3年的总结 【正文】: 在当前竞争激烈的IT行业中,企业对程序员的需求不仅仅是技术能力的体现,更看重的是综合能力与职业素养。作为一个有着三年经验的项目经理,我...
【程序员简历模板—优秀毕业生4.zip】是一个包含程序员求职简历模板的压缩文件,适用于那些刚刚毕业或具有较少工作经验的IT专业学生。这个压缩包中的核心文件是“程序员简历模板—优秀毕业生4.docx”,它提供了指导...
第四,专业精神是程序员的必备品质。专业人士对代码质量有严格要求,他们会确保代码可读性强、结构良好,并始终遵循最佳实践。此外,他们注重团队协作,愿意互相学习和帮助,共同推动项目的成功。 第五,利用代码...
综上所述,成为一名优秀的程序员不仅仅意味着掌握技术技能,还需要具备良好的职业素养和个人品质。以上10条修炼秘籍涵盖了从技术细节到职场态度的多个方面,旨在帮助程序员全面提升自我,成为一个更为出色的开发者。
【标题】:“程序员简历模板单页单色风格(优秀毕业生)20.zip”指的是一个针对程序员设计的简洁、单色的简历模板,适用于优秀的大学毕业生。这个压缩包包含了一个文档,便于求职者根据自身经历快速定制自己的简历。 ...
作为一名程序员,试用期是了解新环境、适应新工作、提升自身技能的关键阶段。以下是对这位程序员在2022年试用期工作总结中的主要知识点的...在未来的工作中,他将持续提升自己的专业技能,努力成为一名更优秀的程序员。