`

程序员常犯的5个非技术性错误

 
阅读更多

  一个好的软件开发人员需要培养两种技能:技术技能和非技术技能。不幸的是一些开发者只注重技术的部分,以致养成一些陋习,下面是最常犯的5个非技术性错误:

  0. 缺乏自律

  Jim Rohn曾经说过:自律是目标和成果之间的桥梁。我一直认为,不论是成为一名软件开发人员,亦或是想在生活的其它任何领域取得成功,自律都是最珍贵的技能之一。事实上,很少有人兼具智慧和自律。

  Steve Pavlina强调了自律的5个基本原则“……容忍(Acceptance)、毅力(Willpower)、努力(Hard Work)、勤勉(Industry)以及坚持不懈(Persistence)。将每一个单词的首字母提出,构成一个缩略词:鞭子(A WHIP)。这样更便于记忆,因为很多人总是把自律和鞭策自我联系在一起。……” 我力荐大家阅读Steve Pavlina写的关于自律的一系列文章

  正如我以前的文章每天写出好代码的5个建议 中解释的一样,对于自律,我的个人做法是每天遵循以下步骤

  • 将一天要做的事情列成清单。
  • 一次只做一件事。
  • 正确做事。
  • 不要半途而废。
  • 与其道歉,不如补救,而放弃最不可取。


  1. 自我意识过甚

  据我的经验,程序员有点自我意识过甚,但凡过于自我的人都很难意识到这点,以下几个指标可以帮助你认识到自己是否自我意识过甚。

  • 你认为自己是最棒的程序员。
  • 你抵触交流。
  • 你要求检查代码,是为了炫耀而不是为获得建设性的建议。


  网上有很多关于程序员及其自我主义的文章,我在此推荐两篇,一篇是来自Mike Bernat的《无私的程序设计(Egoless programmin )》,另一篇是来自stackoverflow.com与此相关的讨论“你如何控制自大 ”。

  2. 不善沟通交流

  Woodrow Wilson说:“我若要说上十分钟,须花一个星期准备;若是十五分钟,需三天;若是半个小时,需两天;若是一个小时,我现在就能准备好。”

  沟通是我们人类的主要活动。做一个优秀的交流者,这不容易,但就我们的职业而言,却是必不可少的技能。对于设计、代码、同行评估、文档编写、试着去说服别人自己的设计是最好的、编写代码等等,我们总在交流意见。

  擅长沟通的人通常会像这样阐述事情:

  • 专注。他们只说需要理解的内容
  • 清晰。容易理解。
  • 简洁。增一分则太过,减一分则不足。


  对成为一个更好的沟通者,我有两个建议:

  • 如果自认不是个好的沟通者,事先做好充分的准备直到达到集中、清晰、简洁的要求
  • 交谈之中,首先倾听,思考妥当后再说出自己的看法。


  在我先前发布的文章《在开发团队中做出决定的七个最佳惯例》中,有更多关于提高交际能力的小窍门。

  3. 忽略用户

  “如果我们不关心用户,自有他人关心。”你在此的唯一原因就是服务用户,但有时候很容易忘记这一信条。我曾经所在的团队只注重于技术和平台,而不是令 用户满意。我们花费一个多月的时间创造一个构架,却未能给用户带来任何价值;到开始使用的时候,我们发现它完全不适应用户的需要。

  4. 不能合理安排工作

  开发者们总是为自己镀金,他们研究新的或更有趣的技术;做所有觉得更酷的工程处理方法。这样无疑妨碍到了项目,但我并不是说时不时投入到旁的活动中是 不正常的。诚然我们都需要分散注意力,但是你若发现自己老是处于前面所提到的状态,那么你有必要重新考虑自己优先处理工作的方式。我再次推荐你读每天写出好代码的5个建议 这篇文章。

 

转载:http://www.jobbole.com/entry.php/977

分享到:
评论

相关推荐

    程序员最常犯的五大非技术性错误

    程序员最常犯的五大非技术性错误

    程序员准备面试时常犯的10个错误

    ### 程序员面试常犯的十个错误详解 #### 错误一:仅限于电脑上练习 很多程序员在面试准备过程中倾向于依赖电脑进行编程练习。然而,面试官往往会让候选人采用白板来演示其编码技能。电脑环境与白板环境存在明显差异...

    Java 程序员在写 SQL 时常犯的 10 个错误

    以下是根据标题和描述中提到的几点,对Java程序员在SQL编程中常犯错误的详细解析: 1. 忽视NULL的特殊性 NULL在SQL中的含义是未知,与Java中的null不同。Java程序员经常混淆这两个概念,尤其是在使用NULL作为比较...

    程序员准备面试时常犯的错误总结

    程序员在准备面试时,往往会出现一系列的错误,这些错误可能会严重影响到面试的表现和最终结果。以下是对这些常见错误的详细分析: 1. **只在电脑上练习编程**:程序员习惯于在IDE或编译器中编写代码,但在面试中,...

    程序员面试.pdf

    十六、面试后须做的五件事:介绍了面试结束后的五个必要步骤,包括感谢信的发送、面试反馈的获取等。 十七、5种求职者面试难成功:分析了五种在面试中不易获得成功的求职者类型。 十八、7大迹象预示面试成功:列举...

    PHP程序员最常犯的11个MySQL错误小结

    然而,许多PHP程序员在使用MySQL时容易犯一些常见错误,这些错误不仅影响了程序的性能,也可能造成安全隐患。以下为详细知识点总结: 1、不恰当的数据库引擎选择:MySQL提供了多种存储引擎,其中MyISAM和InnoDB最为...

    程序员从初级到高级的秘诀(经验之谈)

    同时也要善于总结经验教训,避免重复犯同样的错误。此外,还可以通过参与编程社区、博客写作等方式来分享自己的经验和见解,这也有助于提升个人能力。 #### 10. 设定目标并坚持下去 明确职业发展目标,并制定实现...

    《程序员每天、每周都该做的事》

    作为一个程序员,日常的工作不仅仅是编写代码,而是涉及到许多与个人成长、团队协作以及职业发展相关的事项。下面我们将详细探讨程序员在日常、每周、每月和每年应该关注的知识点。 **每日任务** 1. **工作日志**...

    成为优秀程序员的 101 个技巧

    "成为优秀程序员的 101 个技巧" 本资源为程序员提供了 101 条实用的技巧,从搜索问题答案到编写有用的注释,从承诺不足到超额交付,从寻找导师到成为导师,从适当命名变量到删除不用的代码,从学习阅读代码到建立...

    内存管理内存管理内存管理

    程序员可以使用的内存管理技术进行概述,虽然关注的重点是 C 语言,但同样也适用于其他语言。文中将为您提供如何管理内存的细节,然后将进一步展示如何手工管理内存,如何使用引用计数或者内存池来半手工地管理...

    天才程序员

    - **核心概念**:分析人们在决策过程中常犯的错误以及如何改善。 - **重要知识点**: - 认知偏见的种类。 - 决策过程中的情感因素。 - 如何提高决策质量。 #### 积极心理学:关于人类幸福和力量的科学 - **核心...

    程序员必须注意的十大安全之技巧

    程序员往往容易犯的一个错误就是默认所有用户输入都是安全可靠的,这会导致一系列的安全问题,比如缓冲区溢出、跨站点脚本攻击(XSS)、SQL注入等。 - **缓冲区溢出**:当攻击者提供的数据长度超过应用程序所能处理...

    软考初级程序员历年真题汇总PDF(2016-2017年).zip

    《软考初级程序员历年真题汇总PDF(2016-2017年)》是一份涵盖了2016年至2017年间全国计算机技术与软件专业技术资格(水平)考试初级程序员级别的历年真题集。这个压缩包文件包含了备考者所需要的重要资源,旨在帮助...

    软考程序员试题与答案

    同时,及时回顾错题,分析错误原因,避免在正式考试中犯同样的错误。 总的来说,“软考程序员试题与答案”提供了全面的复习材料,是备考者准备软考程序员级别的不二之选。结合教材和实际编程经验,相信考生能够在...

    编程中常犯的两个错误

    其次,另一个错误是没有立即动手实践编程。作者初期过于专注于阅读编程书籍,但理论知识不通过实践很难巩固。正确的学习方法应该是结合实际项目进行学习,例如从简单的博客网站或投票软件开始编写代码,通过不断实践...

    程序员面试金典(第5版) 阅读计划—猫冬2

    1. **面试流程**:这部分介绍面试的基本流程,包括面试时间表的规划、面试礼仪和常犯的错误,帮助读者做好面试前的准备工作。 2. **特殊情况**:针对特定职位,强调了额外需要准备的内容,以便于读者能针对性地提升...

    容易犯的错误或问题

    这些知识点涵盖了编程基础、内存管理、文件操作、网络通信、数据库交互等多个方面,理解和掌握这些内容能帮助程序员避免常见错误,编写更可靠的代码。在编程实践中,持续学习和反思是提升编程技能的重要途径。

    软考初级程序员试题加答案

    【软考初级程序员试题加答案】是一份针对国家计算机技术与软件专业技术资格(水平)考试中的初级程序员级别的学习资料。这个资源集包含了历年的考试题目和对应的答案,旨在帮助备考者全面了解考试内容,提高应试能力...

    04到07年程序员考试真题和答案

    正确答案可以帮助考生检查自己的解题思路是否正确,理解题目背后的知识点,避免在考试中犯同样的错误。对于不理解的部分,考生可以深入研究,查阅相关资料,从而深化理解。 总的来说,《程序员考试真题(04-07)》是...

    编程修养_什么是好的程序员.pdf

    优秀的程序员懂得倾听他人意见,愿意接受批评,并从中吸取教训,避免犯同样的错误。 5. **高质量的代码**:这是衡量程序员是否优秀的重要标准之一。高质量的代码不仅意味着功能正确无误,还包括易于阅读、易于维护...

Global site tag (gtag.js) - Google Analytics