简评:这是 Alberto Gutierrez 的一篇旧文。一个好的程序员需要培养两种技能:技术技能和非技术技能。然而有些开发者只注重技术的部分,而忽视了其他部分,下面是程序员最常犯的 5 个非技术性错误:
缺乏自律
Jim Rohn 曾经说过:自律是目标和成果之间的桥梁。
不论是成为一名软件开发人员,还是想在其他领域做出一番成就,自律都是非常难得的品质。事实上,鲜少有人兼具智慧和自律。
Steve Pavlina 强调了自律的 5 个基本原则 —— 隐忍(Acceptance)、毅力(Willpower)、努力(Hard Work)、勤勉(Industry)以及坚持不懈(Persistence)。将每一个单词的首字母提出,构成一个缩略词:鞭子(A WHIP)。这样更便于记忆,因为很多人总是把自律和自我鞭策联系在一起。
推荐大家阅读 Steve Pavlina 写的关于自律的一系列文章。
对于自律,可以遵循以下步骤:
-
将一天要做的事情列成清单
-
一次只做一件事
-
正确做事
-
不要半途而废
-
与其后悔,不如补救,而放弃最不可取
自我意识过甚
程序员总是自我意识过甚,但凡过于自我的人都很难意识到这点,以下几个指标可以帮助你认识到自己是否自我意识过甚:
-
你认为自己是最棒的程序员
-
是否抵触交流
-
你要求检查代码,是为了炫耀而不是为获得建设性的建议
网上有很多关于程序员及其自我主义的文章,这里推荐两篇,一篇是来自 Mike Bernat 的「无私的程序设计(Egoless programmin)」,另一篇是来自 stackoverflow.com 的讨论「你如何控制自大」
不善于沟通交流
Woodrow Wilson 曾说,
我若要说上十分钟,须花一个星期准备;若是十五分钟,需三天;若是半个小时,需两天;若是一个小时,我现在就能准备好。
沟通是人类的主要活动。做一个优秀的交流者很不容易,但就我们的职业而言,却是必不可少的技能。对于设计、代码、同行评估、文档编写、试着去说服别人自己的设计是最好的、编写代码等等,我们总在交流意见。
擅长沟通的人通常会像这样阐述事情:
- 专注。他们只说需要理解的内容
- 清晰。容易理解。
- 简洁。增一分则太过,减一分则不足。
对成为一个更好的沟通者,我有两个建议:
- 如果自认不是个好的沟通者,事先做好充分的准备直到达到集中、清晰、简洁的要求
- 交谈之中,首先倾听,思考妥当后再说出自己的看法。
忽略用户
如果我们不关心用户,自有他人关心。
你在此的唯一原因就是服务用户,但有时候很容易忘记这一信条。我曾经所在的团队只注重于技术和平台,而不是令用户满意。我们花费一个多月的时间创造一个构架,却未能给用户带来任何价值。到最后使用的时候,才发现它完全不适应用户的需要。
不能合理安排工作
开发者们总是为自己镀金,他们研究新的或更有趣的技术;做所有觉得更酷的工程处理方法。这样无疑妨碍到了项目,但我并不是说时不时投入到旁的活动中是不正常的。诚然我们都需要分散注意力,但是你若发现自己老是处于前面所提到的状态,那么你有必要重新考虑自己工作的优先级。
原文:5 top non-technical mistakes made by programmers
“本译文仅供个人研习之用,谢绝任何转载及用于任何商业用途。本译文所涉法律后果均由本人承担。本人同意简书平台在接获有关著作权人的通知后,删除文章。”
推荐阅读:为什么 IT 项目总会出现延期?
网友评论