我是印度程序员,我要为印度程序员辩护
我最近看到Reddit上的一个帖子。说的是Reddit用户”chinan”被迫去维护一个最初外包给印度PHP程序员的项目。
他崩溃了。
这个有趣的帖子被活跃的Riddit浏览者塞满了各种搞笑的言语,但大部分他们都是没有跟印度程序员打过交道。
作为一个印度程序员,我要辩护。
生活中印度
我最近才离开印度。在印度,每天我要花3个小时在上班的路上(开车或做公交车)。一周就是15小时。
公交通常是特别的拥挤。夏天气温能到45度。凡事都要排队,很长的队伍,非常折磨人。
长话短说,生活环境非常的糟糕。溢于言表。
如果你生活中那里,你会理解我说的。
如果我对一个在印度工作的人说这些,而他能这样过的很快乐,我会真的很钦佩他。
也许,只是也许,生活质量和工作质量是休戚相关的?
我要否认印度程序员很烂吗?
也许。和印度同事一起工作了10年,我见到的糟糕印度程序员也许比你知道的更恐怖。
可是,我也见到了很多你不能想像的非常优秀的印度程序员。
纵观印度的经济情况,从90年代中期以来,IT/软件是年轻印度人炙手可热的行业,他/她们蜂拥而入——不论是否真的对这个领域有兴趣。
这就是为什么你遇到的很多印度程序员没有激情,缺乏动力,开发出的软件质量不高的原因。
他们不是笨,他们是没有激情。
我不会把这归咎于印度的教育水平。这是托辞。如果有激情,他完全超越这种不利限制。
正是因为没有激情,他们才会选择把自己外包出去。
他们既然没有激情(如我所说),为什么你会选择把项目外包给他们?
如果你选择这样做,你不是有责任去启发他们的激情吗?
失败的软件项目
即使拥有最天才的程序员,仍然有一大堆的各种项目最终无法见到天日。
这是软件的自然属性。这就是为什么会有这样那样的精神导师向我们推销他们的各种方法论(敏捷,Scrum,kanban,the-latest-greatest-process-of-today),好像他们的这些理论就是能解决所有问题的银弹。
你能把项目的失败都归咎于这些“印度小伙”身上吗?
别人的代码都很烂
维护历史遗留代码,无论它们写的如何规范,都将是一种挑战。
即使你看懂了它的编写思路,明白了历次产品变更都是什么目的,挑战依旧。
历史代码总会成为麻烦——不论在哪写的,何时写的。
成本和质量之间的权衡
你想花低于20美元/小时的价格雇佣一个程序员。
你期望从他那里得到200美元/每小时的熟练程序员的开发质量。
别有这种妄想。
代码质量,这是集体责任
如果X面试招聘了Y,Y很烂,那么X也很烂。
如果X管理Y,Y出了问题,那X也好不了。
如果X和Y一起工作,Y很糟糕,而X不能积极影响Y,Y继续糟糕,那X也继续糟糕
现实中的外包商的境况比这可能更糟。
很多我工作的X是:
- 希望节省成本
- 希望马上就能完成
- 不知道自己想要的什么(需求问题)
- 每两周改变一次想法
- 揣着两手无所事事,但期望在“里程碑之日”奇迹能够发生
现在我们的资金用完了。最容易的不就是责备印度程序员太烂吗?
呸,不是我的错。不是我的责任。
瞧这些烂的不能再烂的印度程序员!