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

“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

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

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注