我最近看到Reddit上的一个帖子。说的是Reddit用户”chinan”被迫去维护一个最初外包给印度PHP程序员的项目。他崩溃了。这个有趣的帖子被活跃的Riddit浏览者塞满了各种搞笑的言语,但大部分他们都是没有跟印度程序员打过交道。
你是一个多么独特的角色呀,几乎每个公司都要雇用你这样的人。可在不管大大小小的项目中,你与其说是帮忙,不如说是添乱。我坚信,大部分的项目经理都可以用一个技术首领来替代,我是严肃的,难道一群聪明的人真的需要另外一个人来替他们“管理”项目吗?
下面是一些迄今为止最好的关于编程的名言名句。阅读它们时相信你会有几分愉悦,你可以在一些会谈场合引用它们,一定能为你的团队吸引到不少的好程序员。
“这代码真垃圾”,当我们翻查一些代码寻找一个特别讨厌的bug时,同事大声这样说。“是吗”,我回答到。像这样的谴责,以及其它一些类似的话,在办公室里经常会听到,而且频率在增加。而最令人不安的是,这代码并不是特别的糟糕。我这话是什么意思?
守门员要守住bug,并不意味着他们是唯一为bug溜入负责的人。除了守门员外,我们还应该有后卫,中场和前锋,他们是项目团队的组成部分。
编程界向来是叛逆主义者的天堂。他们的英雄们,比如林纳斯-托瓦兹(Linus Torvalds),才华横溢,刚愎自用,粗鲁无礼。他们说他们想说的,穿他们想穿的,对着电脑大嚷大叫。
面向接口编程:这项编程法则要求程序员定义接口,并针对接口来编程,而不是针对实现编程。理由非常简单:容易开发第二种实现,易于测试(真的吗?),更有效的使用代码。
在我看来,每一次调整,背后总有足够合理的原因。然而,人们就是抱怨。而且这些Gnome爱好者会写博客,在bugtrackers里添加评论,在邮件列表里表明他们的反对理由。人们总是抱怨。
如果你是测试人员,或是产品经理,你会说你不理解这些程序,你的工作中需要这些文档。我可能有些粗鲁,但如果你需要这些东西,你应该自己去写。程序员不是技术文档撰写员,写外部文档不是他们的工作,也不是他们感兴趣的。
谷歌新员工(我们称做“Nooglers”)经常会问我是如何让自己做事这么高效的。我半开玩笑的告诉他们这很简单:我选择做正确的事情,为谷歌,为世界,然后回到座位上,等着被开除。如果没有被开除,那我就是做了正确的事情——为所有人。如果被开除了,那选错了老板。
编码规范真正的罪恶在于,它们在伤你的心,伤整个团队的心。它们是一种耳语在说你不够优秀。他们不信任你。没有监管,你会搞的一团糟。
我在Twitter上看到一幅有趣的图片。我不是来责备发帖的这个人,也不是责备转发的人或图的原作者。但如果不说出我对这个图的背后的一些思考,我会憋得难受。
最近遇到一个事情让我大为不解。一个程序员自豪的宣称他完全看不懂自己一周前写的任何代码。我真的想探明他的这种自豪感从何而来,但无解。他是在骄傲每天写如此多的代码吗?有人会愿意聘请这样的人去写程序吗?
这并不是一本讲“如何做”的书,并不是在说关于如何测试软件的具体步骤。相反,它站在一个更高层面上,大部分的篇幅都在致力于描述谷歌公司里各种不同的测试角色。从这个访谈以及这本书里,我感觉有三个独特的主题呈现在我面前。
这篇文章要讲的是程序员如何假装在很努力的工作。有两种完全不同的动机会促使一个程序员做这种假装:第一种,你是个懒货——想不劳而获。如果你是这种人,我和你同事都会鄙视你。你不需要看下面的内容了。这篇文章完全不是为你写的!