`

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

阅读更多

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

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

语言和工具(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)。扩展你的兴趣。开发只是这个过程的一部分,了解用户和商业实际上是一种艺术,每个人应当以此为目标并努力掌握它。

分享到:
评论

相关推荐

    如何从优秀的程序员成为伟大的程序员

    ### 如何从优秀的程序员成为伟大的程序员 在信息技术领域,从一名优秀的程序员成长为一名伟大的程序员不仅是职业发展的过程,更是一种自我超越的精神追求。本篇文章将基于提供的文件内容,深入探讨成为伟大程序员所...

    了解程序员面试技巧(最新).pdf,这是一份不错的文件

    3. **调试能力**:优秀的程序员应具备强大的除错技能。这不仅意味着能处理自己的代码,还需要有能力解决他人代码中的问题,这需要出色的分析和问题解决能力。 4. **测试与品质保证**:测试工作,尤其是自动化测试,...

    应届毕业生程序员简历模板

    6. **校园经历**和**荣誉**:如优秀党员、大赛冠军、优秀学生干部等,体现了个人的领导力、团队合作精神和竞争意识,这些都是雇主在选择应届毕业生时会考虑的软技能。 7. **英语等级**:虽然未具体说明,但英语能力...

    程序员的十个层次

    ### 程序员的十个层次 在IT行业中,程序员的职业发展路径往往被分为不同...要想成为一名优秀的程序员,不仅需要不断学习新知识、新技术,还要注重个人品质的培养,这样才能在职业生涯中不断突破自我,实现更高的成就。

    程序员简历模板91.docx

    综上所述,一个优秀的程序员简历应该包含明确的职业定位、扎实的教育背景、丰富的工作经验、全面的专业技能以及良好的个人品质。《程序员简历模板91.docx》为我们提供了一个很好的范例,通过结合求职者的个人经历和...

    应届生专用程序员简历模板

    【程序员简历制作要点】 在制作应届生程序员的简历时,关键是要清晰地展示自己的技能、项目经验和教育背景。以下是一些重要的要点: 1. **个人信息**:包括姓名、联系方式(电话、邮箱)、出生日期、政治面貌(如...

    程序员简历模板.doc

    在IT行业中,一份优秀的程序员简历是求职者成功敲开职业大门的关键。以下是一些关于如何创建一个有效的程序员简历的重要知识点: 1. **基本信息**:简历的开头应包含求职者的个人信息,如姓名、性别、出生日期、...

    程序员开发工程师简历模板.docx

    他的简历充分展示了其作为程序员的潜力和专业性,对于希望招聘优秀技术人才的公司来说,他无疑是一个值得考虑的候选人。随着技术领域的不断发展和对专业人才需求的增加,这样的复合型人才将会在职场上愈发抢手。

    2022年程序员面试的自我介绍范文汇总六篇.pdf,这是一份不错的文件

    程序员面试的自我介绍是一个展示个人专业技能、项目经验、个人品质及职业规划的重要环节。在准备面试时,围绕这些核心知识点进行自我介绍,能够更加高效地向面试官传达自己的价值。以下是一篇详细的文章,帮助求职者...

    程序员英文简历模板—单页单色风格101.zip

    "程序员英文简历模板—单页单色风格101.zip"提供了一种简洁而专业的简历设计,适合希望在国际IT公司或跨文化环境中寻求工作的程序员。 首先,我们来讨论一下英文简历的基本结构和要点。一份完整的程序员英文简历...

    程序员面试自我介绍3分钟通用范文模板.pdf,这是一份不错的文件

    在程序员面试的过程中,一个精心准备的自我介绍不仅能够为面试官留下深刻的第一印象,而且能够有效展示个人的技术能力、项目经验以及职业素养。本文将结合提供的三个程序员面试自我介绍范文,阐述如何打造一个专业的...

    开发人员_78_it人员简历_程序员简历模板_计算机相关专业.docx

    7. **荣誉与奖项**:2014年获得大学一等奖学金,同年11月荣获“三好学生”称号,表明了在学术和个人品质上的优秀表现。 8. **语言能力**:CET-4证书,意味着具备较好的英语阅读和听说能力,这对于国际化的IT公司或...

    简历表:游戏策划模板.doc

    - **个人品质**:性格踏实稳健,善于沟通和聆听,乐观向上,这些都是作为一名优秀游戏策划人员不可或缺的品质。 - **自驱动能力**:在制作游戏方面有着优秀的自驱动能力,这表明求职者能够主动学习新知识,不断探索...

    2022年关于计算机专业自荐信模板汇总九篇.docx

    因此,在自荐信中提及通过国家软件资格水平的程序员考试,将使申请者在众多求职者中脱颖而出。这不仅说明申请者具备专业认可的技术水平,更显示了其对专业学习和实践的重视。 **核心知识点三:项目经验** 项目经验...

    A078简约褐1

    6. **所获奖项**:包括**运动会运动员精神文明奖**、**美术院优秀学生三等奖学金**和**华侨美术院比赛专业奖学金**,这些荣誉证明他在学术和个人品质上都表现出色,具备良好的综合素质。 7. **求职意向**:个人的...

    Grid++Report5.0

    这款工具以其易用性、灵活性和高性能而受到赞誉,能够帮助程序员快速集成报表功能,提高开发效率。 1. **报表设计**:Grid++Report5.0提供了直观的报表设计器,允许用户通过拖放方式添加和布局各种报表元素,如表格...

    Astra

    在编程领域,合适的代码编辑器字体能减少眼睛疲劳,提高程序员的工作效率,Astra的舒适阅读体验也可能被应用于代码高亮显示。 此外,Astra字体的开源特性也是其受欢迎的一大原因。许多设计师和开发者可以自由地在...

    2022年有关计算机类求职简历.docx

    首先,求职者在计算机领域寻求工作机会,例如担任PB程序员和.NET程序员等职位。这表明了其在计算机编程和软件开发方面的专业定位。PB(PowerBuilder)和.NET是目前流行的技术,尤其是C#.NET在企业级应用开发中占据...

    2022年关于计算机类自荐信范文汇编5篇.docx

    对于计算机类专业的毕业生来说,撰写一份优秀的自荐信,是进入职场的关键一步。下面,我们将以2022年关于计算机类自荐信的范文为蓝本,探讨撰写自荐信时应注意的要点和模板。 首先,在自我介绍环节,毕业生需要简洁...

Global site tag (gtag.js) - Google Analytics