`
saviorwb
  • 浏览: 23580 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

如何成为优秀的开发人员?

阅读更多

事情犹如发生在昨天,那是在2000年,Pargas博士正在给我们数据结构班讲解有关数据结构方面的话题,当他讲解部署SSH应用时,一个同学问了他一个问题,当时他围绕“如果你想成为一个真正计算机科学家,你就要从学习vi编辑器开始。”说了一些事情。因为他说这些话的时候,面带微笑,事后我并不觉得他的话正确。但当时由于年轻、易受影响,回到宿舍中,我就立即开始学习如何使用vi。这样学习了了一段时间,我意识到一旦我掌握了其中的一些窍门,我就可以快速在vi中实现。

六年前,我迷上了TextMate编辑器软件。当时我正从事Java软件开发工作,并在业余时间学习Rails并做一些Rails项目。那时几乎所有我读的文章和观看的视频都是说明和演示如何使用TextMate来完成文本编辑工作的方法技巧的。事实上,我当时每天用Eclipse,它正使我变成一个呆子。所以我买了一台Mac电脑,并在开机后的10分钟内就购买了TextMate软件并安装上去。

我可以很老实地说,这两种文本编辑器中的任何一个都没有使我成为一个更好的程序员。

优秀的工具,并不能使你成为优秀的程序员。所选用的工具确实很重要。实际上,他们也很棒。正如Tiger Woods即便使用低劣的球棒也会击败我们,Messi不穿鞋照样可以击败我们,Rafael Nadal在网球场用60年代的木制球拍也可能击败我们一样。你所积累的技术、知识和经验才是其中最重要的部分。

所以,工具不能成就优秀的程序员,那什么可以呢?我认为成就一个优秀程序员需要诸多因素都依赖于你所工作的内容和与你一同工作的人。但我发现,在软件开发领域已取得巨大成功的人身上都存在一些共同的特征,值得分享。我不敢肯定这些特征你能否学得到或者与生俱来,但我十分强烈的感到,如果我更加注重这些特征的培养,而不总停留在文本编辑器的替换上,我一定能取得很大的进步。

用户第一

我认识的最好的程序员都会把用户放在第一位。他们意识到软开发出来是让用户用的,即便它是一个复杂系统的后台或一个协议,除了其他程序员不会再有别人用到它们。他们把文档说明书看得很重要并把它认真写下来。他们还会帮助用户去使用他们的代码。他们也愿意付出更大的努力以降低软件复杂度,从而让用户更好的使用他们的软件。

有强烈的学习欲望

令人称奇的程序员都对知识如饥似渴,他们总会告诉你一些新鲜有趣的事。他们喜欢大量阅读(无论在线上阅读还是线下阅读)。他们也喜欢动手尝试,并从中获取经验。他们从不害怕尝试新语言或新平台。

问题匹配的能力

从事软件开发工作一段时间后,你就会发觉,在开发过程中遇到的问题有时和你以前曾解决的问题极其相似。能迅速意识到这些,并把以前解决问题的方案迅速迁移到当前问题上是一个很重要的能力。更好的就是在每次解决问题的过程中能够不断优化解决方案。

但仍要注意,这并不意味着你可以盲目地说以前的解决方案对本次问题一定奏效。此时巧妙地进行问题类型匹配显得很重要。什么时候用以前的解决方案可行,什么时候不行,对此你要有一定的判断力。

热爱软件开发工作

我哥在高三时学习Python语言,当我问他是否喜欢这门课,他对我说,我极想成为一名程序员,但这对他来说是件最无聊的事。从某种程度来说,我认为他是对的。绝大部分时间里,我面对的是计算机,而不是人。我常常因为把一行行长短不一的语句转化成可工作的软件而兴奋。从事软件开发的每个人并不是都喜欢做这个工作,但我曾见过的最优秀的程序员绝对是喜欢软件开发的。

持之以恒

软件开发的推进过程往往比人想象得慢很多。它需要花费很多时间来完成。有时你必须耐心地去完成你要写的代码。作为程序员,有时我们会写一些确实很有趣的代码,但有时我们也会因为大量写重复的代码而失落。我认为最好的程序员是可以一直坚持到最后的程序员,他们可以预见他们所从事工作的远大前景,他们乐于享受一步步构建工程直到最终完成的过程。

信息来源:如何成为优秀的开发人员?

分享到:
评论

相关推荐

    如何成为伟大的软件开发高手?

    怎样评定一名软件开发人员?这是一个颇为奇怪的问题。现在已经有了很多的理论和形式来做这件事,人力资源部门也试着帮你管理和反省自己的行为。然而,怎样才是一个伟大的软件开发人员,在今天,你该怎样发展你的职业...

    是不是所有优秀的开发人员都能够成为优秀的测试人员?[1]

    是不是所有优秀的开发人员都能够成为优秀的测试人员?[1]软件测试所有的人都知道应该如何进行测试,但是却未必知道要成为一名优秀的测试人员,真正需要哪些素质。优秀的系统验证测试人员应该具备哪些素质?在8年多的...

    是不是所有优秀的开发人员都能够成为优秀的测试人员?[2]

    是不是所有优秀的开发人员都能够成为优秀的测试人员?[2]软件测试是可以工作,还是工作得更好?不久之前,一名测试人员向我解释她正在测试的新的安全会话特性,如何通过在每次调用中与信任服务器联系以便进行身份验证...

    如何成为优秀的软件开发人员

    如何成为优秀的软件人才 ——让普通人成为优秀软件人才的经验之谈

    所有优秀的开发人员都能够成为优秀的测试人员吗?[1]

    所有优秀的开发人员都能够成为优秀的测试人员吗?[1]软件测试所有的人都知道应该如何进行测试,但是却未必知道要成为一名优秀的测试人员,真正需要哪些素质。优秀的系统验证测试人员应该具备哪些素质?在8年多的软件...

    如何才能成为一名优秀的开发人员?

    事情犹如发生在昨天,那是在2000年,Pargas博士正在给我们数据结构班讲解有关数据结构方面的话题,当他讲解部署SSH应用时,一个同学问了他一个问题,当时他围绕“如果你想成为一个真正计算机科学家,你就要从学习vi...

    所有优秀的开发人员都能够成为优秀的测试人员吗?[2]

    所有优秀的开发人员都能够成为优秀的测试人员吗?[2]软件测试加速学习正如特性和产品无法单独工作一样,它们也无法保持一成不变。产品和技术以比以前任何时候都快的速度向前发展。优秀的测试人员将不断地学习,更重要...

    所有优秀的开发人员都能够成为优秀的测试人员吗?[3]

    所有优秀的开发人员都能够成为优秀的测试人员吗?[3]软件测试毫无疑问,编程技能对于中间件产品的测试人员来说非常重要,但是对于那些从事最终用户产品测试的测试人员来说,技术技能同样非常重要。所有的软件产品都在...

    如何成为优秀的软件人才

    讲述如何成为优秀的软件人才,看你是否符合成为软件开发方面的人员的标准。

    论文研究 - 敏捷开发:探索从业者想知道的东西

    b)如何训练开发人员和团队成为优秀的敏捷实践者? c)如何从计划驱动的Waterfall开发过渡到敏捷开发? d)有哪些工具可用于实施敏捷开发? 如何使用它们来支持敏捷实践? 以下是我们从解释性案例研究中针对上述四...

    高质量C ++编程-成为优秀的软件开发人员

    软件质量是被大多数程序员挂在嘴上而不是放在心上的东西! 除了完全外行和真正的编程高手外,初读本书,你最先的感受将是惊慌: “哇!我以前捏造的 C++/C 程序怎么会有那么多的毛病?” 别难过,作者只不过比你早几...

    speaks:我的演讲集

    II 红帽实习生训练营-如何成为一名优秀的开发人员? 三级内部Packit研讨会Flock 2019讲座-一步将上游发布带到Fedora Rawhide 2018年OpenAlt-如何成为一名优秀的开发人员红帽开放日-如何成为一名优秀的开发商? 2016...

    python全栈开发实践.docx

    python全栈开发实践 Python全栈开发实践是一种全面的开发技能,它... 如何成为一名优秀的Python全栈开发人员 要成为一名优秀的Python全栈开发人员,您需要掌握多种技术。以下是一些建议: python全栈开发实践全文共2页

    mongodb-developer-roadmap:2021年的MongoDB开发人员路线图。在MongoDB开发人员路线图的帮助下,以更好,更有效的方式学习MongoDB。 成为一名优秀的MongoDB开发人员

    mongodb-developer-roadmap:2021年的MongoDB开发人员路线图。在MongoDB开发人员路线图的帮助下,以更好,更有效的方式学习MongoDB。 成为一名优秀的MongoDB开发人员

    3D游戏开发大全,学习3d用的

    内容介绍: 现在就准备进入游戏开发世界的奇妙旅程!本书是指导您进行3D游戏开发的全面指南。...学习完本书就可以使您梦想成真——成为一名非常优秀的游戏开发人员。\r\n 本书简介\r\n 如果愿意,您可以带...

    敏捷软件开发.pdf

    要想成为一名优秀的软件开发人员,需要熟练应用编程语言和开发工具,更重要的是能够领悟优美代码背后的原则和前人总结的经验——这正是《敏捷软件开发:原则、模式与实践(C#版)》的主题。 不要被书名误导了,《敏捷...

    学习成为一名优秀的.net Web开发人员的顺序是什么?

    没有什么比一件事情重要,而另一件事不重要了。 每件事都很重要,因为您是一个学习者。 每件事都会给您带来经验,您必须决定这是否是一次好体验。您可以从C,C ++等基本语言开始学习。

    软件质量保证-如何成为优秀QA

    QA在bug处理上很大程度上会收到开发人员的影响,在关键问题上决不能妥协。 3.高度的警觉性(洞察力)和怀疑精神。不要放过一个任何一个小问题,以怀疑的态度来测试软件。 4.会对自己的经历进行及时的总结。特别是...

    敏捷软件开发(原则模式和实践C#版)002

    要想成为一名优秀的软件开发人员,需要熟练应用编程语言和开发工具,更重要的是能够领悟优美代码背后的原则和前人总结的经验——这正是本书的主题。本书凝聚了世界级软件开发大师Robet C.Matin数十年软件开发和培训...

    Python也可以做游戏吗?Pygame简介.docx

    但是其实Python本身也具有良好的游戏开发包,虽然并不代表Python可以成为游戏开发人员的主要选择,但是对于刚入门,想学习Python的同学来说,则可以通过开发一个小游戏,寓教于乐,深入理解Python面向对象编程的思想...

Global site tag (gtag.js) - Google Analytics