77

程序猿必须立即改正的 5 个坏习惯

 6 years ago
source link: http://36kr.com/p/5112107.html?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

程序猿必须立即改正的 5 个坏习惯

喜汤·2018-01-10 23:21
每个软件的成功都始于改变开发者的坏习惯。

编者按:本文编译自Ravi Shankar Rajan发表于Hackernoon网站上的文章You Need to STOP These BAD Developer Habits NOW。Ravi Rajan是印度孟买人,全球IT项目经理。他也是一个狂热的博主、诗歌作家、考古爱好者和历史狂人。

v2_a93af096cf004798a2ac22c496f73cde_img_000

“Ravi,你糟透了,你每天都把自己弄得很艰难。”Jim这样跟我说,他是我多年以前的经理。

我很惊讶。或者说是“震惊”,这个词更能形容我的情绪。

我用某种掩饰不住的讽刺语调回答他:“呵,你这么想我的哦。”

“我是一个伟大的开发者,是我团队的宝贵财富。客户很信任我,并且在知识上,我远远领先于同时代的人。”

他每说一个字我就更愤怒一分。

“Ravi,‘顾虑’太多是你的问题,除非你能提高自己的效率,否则你将永远不能抵达伟大的顶峰。”Jim直视我的眼睛,继续如是说。

我惊呆了,又气又困惑,同时也发现他的话如此胆大妄为、不同寻常。

我克制了自己冲出房间的冲动,让他继续说出理由:

“我的代码是最好的代码。”

弗里德里希·尼采的话精妙地解释了这一状况:

自负与我的进步如影随形。

团队需要的是那种谦虚、求知欲旺盛而聪明的人:谦虚而不自负,意味着比起注重自己来说更重视队友;求知欲,意味着他们有着强大的职业道德,决心完成所有任务并尽其所能;聪明,不是指智力上的聪明,而是内心聪明

别批评别人的代码,它可能就在万众瞩目之下成为你的代码了。试着客观地、专业地观察他人,而不是做出判断。要谦虚,并试着向周围的每个人学习。

永远记着,你的自负是你工作的障碍。如果你认为当下的你已然伟大,那么你将会失去你的创造力。自我学习终止于你认为无所学习的时刻。

“我能很快解决这个问题。”

Angela Duckworth曾说过:

真正的卓越并无捷径可走。

行行好吧,给自己一个许可,让自己能最充分地发挥自己的生活。如果你把所有的时间都用在拿牙刷刷洗边边角角,你很有可能错过了重点。走捷径并不意味着把最终的结果也缩小了。

走捷径如此诱人,每个人都曾经做过。确实有一些情况,需要我们走捷径。但总的来说,走捷径非常危险,应当避免。走捷径可能通向错误的终点,这可能为你节省了几个小时,但最终可能需要你用数个月的痛苦、名声的损失来挽救。

认真对待我的建议。我曾经走捷径通向“自由”的生活,但这一自由的生活并不是真的自由生活,我痛苦地从中学习到走捷径的坏处。

“我能记住一切,不需要记录文档。”

Dick Brandon编程的时候所说的话正击要义:

文档如性,说它好吧,它妙不可言,说它不好吧,它又比别的东西都要强一些。

文档是编程的蓖麻油,经理们都认为文档对程序员有好处,但程序员总是很憎恶它。

但毕竟,伟大的开发人员将写文档作为其日常工作的一部分。

他们有如下认识:开发团队与任何其他业务都一样,总是处于不断的变动之中。程序员可能跳槽、转岗或退休。在最坏的情况下,也是人们最不期待的情况,员工的生病、受伤与死亡可能会让团队失去斗志。代码的时限也很重要,程序员一年或更长时间不接触这一代码的话,很容易就会忘掉自己之前写的代码到底是咋运行的了。

倘若程序员能够写好设计文档、API规范、开发手册和代码注释,上述任一情况都会有所不同。

这种态度正是他们之所以是团队宝贵财富的原因。故意不记录任何东西并不会让你成为“不可替代”的团队成员,你最终只会成为团队“无法弥补”的责任。

“这不是我做的”

李小龙说得对:

如果有勇气承认错误,错误总是可以被原谅的。

这个说法不能被低估,因为这是一个真正伟大的开发者最重要的特质之一。

我们总有借口……就好像说正常情况下我们绝不会犯错一样,说实在的,这很难令人信服。

不好的开发者会指责用户“不正确”地使用产品,也不能对整个产品和错误负责。当某个错误是别人所犯,他们一定会让每个人都知道该错误的负责人是谁。

有啥必要提出这个问题、浪费大家的时间呢?

这时候,一个健康的态度就很重要了,我们就可以这样说:“是啊,对不起啊,现在我们需要如此如此做,来解决这个问题,这是我的锅。”这样说将会帮助你建立声誉,帮你在同事中得到更多的认可。越早承认错误,就有越多的时间学习、改正错误。就这么简单!!!

彼“完成”非此完成

Rick Lemons说的很在点子上:

系统已经知道的信息,不要让用户再次提供。

如果说编程就像性,那么世界上是有很多“不行”的电脑。你不能做到一半就去睡觉。我发现你们纠结的概念之一就是“完成”。

记着,完成意味着:根据用户的要求测试、提供支持。最终的完成,并不是由程序员完成的。

一位优秀的程序员渴望学习新事物。他们努力理解程序架构的所有部分是如何协同工作的,这些部分出于何种状态。他们对功能背后的设计及想法提出质疑,以求解决方案。他们明白什么构成了良好的用户体验。

糟糕的程序员则极度依赖其最喜欢的技术。他们认为“理想”是唯一的方法和编程过程,用户体验和状况绝不应当驱动决策。他们给项目带来不必要的内容,以适应其偏好。

这么恶劣的编程习惯就像公牛闯入瓷器店,笨手笨脚、粗鲁不堪。最终,会导致时间的损耗、努力的白费以及信誉的破坏。

成功项目会让用户如臂指使,闭着眼睛也能够完全操作,就像他们本身的DNA一样。 

那么以一个词总结一下上述经验教训吧:

总有一天,态度会比多年的经验更重要。

仅仅工作是不够的,你必须有正确的工作态度而不仅仅是确切的技能,迄今为止,正确的态度更为重要。如果你以自身兴趣为职业,一般来讲你会喜欢做这件事,工作对你来说永远不会有单调乏味一说。作为员工,在工作场合传播正确的态度信息是非常重要的。

正如Zig Ziglar所总结的那样:

你的态度,而不是你的才能,决定你的高度。

原文链接:https://hackernoon.com/you-need-to-stop-these-bad-developer-habits-now-468ae877700f

编译组出品。编辑:郝鹏程

本文来自翻译, 如若转载请注明出处。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK