没人信任程序员

jopen 9年前

英文原文: http://johnnance01.wordpress.com/2010/06/15/never-trust-a-programmer/

编程对很多人来说有点神秘。这就造成了在公司内部,人们对编程的事情产生了很多怀疑和疑惑。 通常,当你不了解一个东西是怎样做成的时,你只能说:可能是这样吧。 如果你从没见过工地,你也许会认为几个星期就能建出一栋大楼。 事实上,在这样的时间内是可以完成这栋建筑的,只是能不能用就不知道了。 如果你看过房子如何建造,跟踪它的建造过程,你能从物理实物看到地基如何浇灌,钢架结构如何搭成,等等。 但给电脑编写程序,或建设一个网站却是不可见的。

除了程序员外,程序代码对其他人来说是接触不到的。程序的运行好像是大幕后发生的魔术戏法。 只有开发团队的成员才能知道程序是什么,怎么工作的,不能干什么。 从程序员的角度看问题,你就能得到最好的开发结果、项目评估数据和进度更新。 很多的A型性格的人对此不以为然,但事实毋庸置疑。

当客户提出他们想要什么东西,而且要在什么时候完成时,问题就开始出现了。 销售人员希望做成这笔交易。拜托,请告诉客户,他们的想法不现实,这个生意做不了。 这样做下去只能导致一场灾难。 我曾看见过工程统计部门把估算的工期消减一半,四处花钱去达成他们的销售,完成他们的任务。 直到最后有一天,事情的发展看起来都是程序员的错造成的。他们这样做结论是因为程序员是最容易责备的。

程序员们在学校里没有学过办公室政治学。他们应该学,当然这是另外一个话题了。 作为一个程序员,他需要集中精力,沉着的思考,去开发出清晰好用的程序。这是个困难的事,需要用去你全部精力。 程序员们没有时间去理会是谁背后给了自己一刀。可工程部门玩的这些游戏却有严重的后果。

我的前一个公司,一个百万美元的项目,热热闹闹的,像烟火一样,短暂的光华后就落地地上了。 什么原因?是这个公司指使程序员们每周工作70小时以上去完成客户专横的进度表导致的?还是工程部门对客户言听计从导致的?

我也不认为开发人员没有任何责任。如果你看过电视剧 Seconds From Disaster ,你会明白,灾难的发生是一群人都没有做自己该做的事情导致的。 但是,我可看见程序员们都在做他们自己的工作。而其他人都在干什么呢?

那么,公司是怎么认为的?他们解雇或开除了所有的程序员。然而整个工程部却没事。 这次攻坚战的惨败后,也没人愿意留在那里了。

程序员被打入地狱的过程都是有一个个的“遵命”铺就的。 为了对得起自己,对得起自己的职业,程序员应该警惕那些危险的事情。 评估分析,评估工作通常会花掉很多的精力。据我所知,这个比任何事情都要费神,它需要你从多个层面去考虑整个事情。 不幸的是,我曾亲身经历优秀的评估报告被驳回或修改。 评估的越符合实际,招惹的众议越多。

把符合实际的预期报告告诉用户是个困难的事情。这会使生意的成交增加困难。 程序员在承担其他人冒险的后果。程序员的工作从来不轻松。 事实上,程序员是一个公司里对这个事情看的最清楚的人。他们懂编码,知道需求业务。他们也许不善于和客户打交道,但他们却真正知道项目应该怎么做。

重视你们的程序员。他们不仅仅是个技工,他们也是懂业务的。 他们能凭借自己的经验判断出,是谁在为了留住客户而胡乱夸下海口。

来自: http://www.techug.com/never-trust-a-programmer