英文原文:
1. 所有的代码都是垃圾,除了我的以外
哥们儿,我有一个坏消息要告诉你,你的代码很垃圾。不管你花费了多少精力,总是有很多程序员认为你的代码是垃圾,他们可以比你做的 10 倍更好。
怎么解决:不要只顾着批评,你也是写代码的人。尝试去客观的评价,而不是审判!谦虚一点。
2. “马上搞定”带来的灾难
大家都喜欢走捷径,每个人都做过。有时候走捷径是必须的,但是大部分情况下走捷径是危险的,非常危险,所以我们应该尽量避免。一个捷径可能省了你几个小时的时间,但是可能为你带来几个月的痛苦。
怎么解决:不要一个人偷偷的把事情搞定,而是和别人商量,请别人检查你的工作。假如你要采取捷径的方法,请必须经过所有相关人员,包括你的经理的同意。
3. 错误的估算时间
我住在巴塞罗那,我们那里有非常有名的 Sagrada Familia 教堂。它出名的原因是因为它非常精美,并且预计的建造时间非常长,从 1882 年开始。我想这个项目在做时间预算的时候没有程序员参与,否则建造完成时间可能是两个礼拜。
怎么解决:首先,准确的预估软件开发的时间是不可能的,我们只能猜。在开发的过程中你可能遇到各种你没有遇见的问题,所以我们往往在预估的时间上乘以2。
4. 盲目自大
程序员之间的讨论有时候看起来像是公鸡打架而不是人类谈话。这往往发生在设计和架构的会议上。在你的眼里,其他人的意见都是扯蛋,扯蛋,扯蛋……
怎么解决:把自大留在家里,冷静的听听别人在说什么,再做决定。
5. “这不是我干的!”
我们总是给自己找借口。我们往往给自己开脱,比如在正常情况下,我永远也不会犯那样的错误云云。
怎么解决:谁都会犯错误,调整你的态度,“是的,这是我的问题,我们现在需要修复它”就是一种非常专业的态度。它会帮助你建立你的声望,并获得同事的好感。
6. 缺乏耐心
虽然重复的简单工作很枯燥,但是那也是必须完成的任务。程序员往往抵制,反感这些任务,导致工作效率低下。
怎么解决:纪律!记住,再激动人心的项目也有枯燥无味的任务要完成!
7. 不成熟
如果编程是做爱的话,一定有很多没有被满足的电脑。你不能简单的进入,做到一半然后就睡觉了。很多程序员都没有搞明白“完成”是什么概念。请记住:完成意味着测试通过(不仅仅是单元测试),文档完整,提交,合并……
怎么解决:这一条很难,很多看起来不必要的任务加在一起很复杂。但这是完成一个项目所必须的工作,需要通过纪律和训练来完成。