一个好的软件开发人员需要培养两种技能:技术技能和非技术技能。不幸的是一些开发者只注重技术的部分,以致养成一些陋习,下面是最常犯的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
分享到:
相关推荐
程序员最常犯的五大非技术性错误
本文将详细分析程序员在日常工作中经常遇到的五个非技术错误,并提出相应的解决策略。 首先,团队纪律是项目成功的基石之一。在软件开发过程中,需要程序员具备自律性,以保证团队整体运作的有序性。程序员需要学会...
在编程的世界里,每一个错误都可能成为成长的垫脚石。然而,有一些错误是不应该重复的,尤其是那些在程序员的编程生涯中容易犯...在追求编程技术精进的道路上,每位程序员都应该牢记这些教训,并努力避免犯同样的错误。
### 程序员面试常犯的十个错误详解 #### 错误一:仅限于电脑上练习 很多程序员在面试准备过程中倾向于依赖电脑进行编程练习。然而,面试官往往会让候选人采用白板来演示其编码技能。电脑环境与白板环境存在明显差异...
以下是根据标题和描述中提到的几点,对Java程序员在SQL编程中常犯错误的详细解析: 1. 忽视NULL的特殊性 NULL在SQL中的含义是未知,与Java中的null不同。Java程序员经常混淆这两个概念,尤其是在使用NULL作为比较...
然而,对于新手而言,在这条看似光鲜亮丽的道路上,他们往往会犯下两个致命的错误。这两个错误不仅浪费了大量的时间和精力,更可能使新手们在编程的海洋中迷失方向,丧失信心。本文将基于“编程中常犯的两个错误”这...
程序员在准备面试时,往往会出现一系列的错误,这些错误可能会严重影响到面试的表现和最终结果。以下是对这些常见错误的详细分析: 1. **只在电脑上练习编程**:程序员习惯于在IDE或编译器中编写代码,但在面试中,...
十六、面试后须做的五件事:介绍了面试结束后的五个必要步骤,包括感谢信的发送、面试反馈的获取等。 十七、5种求职者面试难成功:分析了五种在面试中不易获得成功的求职者类型。 十八、7大迹象预示面试成功:列举...
对于做错的题目,考生应认真分析错误原因,避免在正式考试中犯同样的错误。 总结而言,【程序员历年真题(更新)】作为一款重要的备考工具,为考生提供了宝贵的复习资源和实践机会。它能够帮助考生全面了解考试趋势...
然而,许多PHP程序员在使用MySQL时容易犯一些常见错误,这些错误不仅影响了程序的性能,也可能造成安全隐患。以下为详细知识点总结: 1、不恰当的数据库引擎选择:MySQL提供了多种存储引擎,其中MyISAM和InnoDB最为...
同时也要善于总结经验教训,避免重复犯同样的错误。此外,还可以通过参与编程社区、博客写作等方式来分享自己的经验和见解,这也有助于提升个人能力。 #### 10. 设定目标并坚持下去 明确职业发展目标,并制定实现...
作为一个程序员,日常的工作不仅仅是编写代码,而是涉及到许多与个人成长、团队协作以及职业发展相关的事项。下面我们将详细探讨程序员在日常、每周、每月和每年应该关注的知识点。 **每日任务** 1. **工作日志**...
"成为优秀程序员的 101 个技巧" 本资源为程序员提供了 101 条实用的技巧,从搜索问题答案到编写有用的注释,从承诺不足到超额交付,从寻找导师到成为导师,从适当命名变量到删除不用的代码,从学习阅读代码到建立...
特别是程序员这个岗位,作为技术进步的直接推动者,他们的重要性不言而喻。然而,成为一名优秀的程序员并不容易,因为在工作中,程序员需要面对各种复杂的问题和技术的不断更新换代。在这过程中,必须避免一些致命的...
程序员可以使用的内存管理技术进行概述,虽然关注的重点是 C 语言,但同样也适用于其他语言。文中将为您提供如何管理内存的细节,然后将进一步展示如何手工管理内存,如何使用引用计数或者内存池来半手工地管理...
- **核心概念**:分析人们在决策过程中常犯的错误以及如何改善。 - **重要知识点**: - 认知偏见的种类。 - 决策过程中的情感因素。 - 如何提高决策质量。 #### 积极心理学:关于人类幸福和力量的科学 - **核心...
C语言自诞生以来,以其强大的功能和灵活性,成为了计算机科学与工程领域的重要工具。然而,C语言的学习曲线...希望本文对C语言编程易犯错误的分析,能够为读者提供有价值的参考,帮助他们更快地成长为熟练的程序员。
程序员往往容易犯的一个错误就是默认所有用户输入都是安全可靠的,这会导致一系列的安全问题,比如缓冲区溢出、跨站点脚本攻击(XSS)、SQL注入等。 - **缓冲区溢出**:当攻击者提供的数据长度超过应用程序所能处理...
《软考初级程序员历年真题汇总PDF(2016-2017年)》是一份涵盖了2016年至2017年间全国计算机技术与软件专业技术资格(水平)考试初级程序员级别的历年真题集。这个压缩包文件包含了备考者所需要的重要资源,旨在帮助...
同时,及时回顾错题,分析错误原因,避免在正式考试中犯同样的错误。 总的来说,“软考程序员试题与答案”提供了全面的复习材料,是备考者准备软考程序员级别的不二之选。结合教材和实际编程经验,相信考生能够在...