东方程序员怎么看西方程序员(上)
引言:本文由伯乐在线 – 唐尤华译自 StackExchange 上的一个讨论贴:东方程序员眼中的西方程序员是怎样的?,有网友发帖问:
在我看来,东方的程序员如何看待西方同行是一个有趣并且重要的问题。
通常认为东方国家(印度/中国/菲律宾)是为西方国家提供外包服务(美国和欧洲)的。
你有过参与离岸开发的经历吗?如果有,你对此有何看法?
对于西方程序员你有哪些总印象吗(比如是否具有协作精神,是否按时交付产品,或者他们的工作质量如何)?
以下是来自东方各国程序员的答案:
一、印度程序员
Danish
身为印度人,我想谈谈印度程序员。
我觉得问题在于这里的文化,也就是人们的思维模式。自孩提时代开始,我们就被训练如何遵照流程循规蹈矩,然后进入类似工程、医学、商业管理等高薪职业。创新、探索和创业在印度并不常见。
大多数人进入 IT 行业是为了挣钱,而不是因为他们爱好编程或是喜欢计算机领域。由于缺乏兴趣,我们中的大多数人会成为编程机器,只会执行指令而不关心它们的含义。大多数开发者从不以终端用户的角度思考问题,也不会思考他们开发的模块会为更大的系统提供怎样的价值。
在印度你很难找到发明家,但是你会发现很多优秀的工人。在这里成长就意味着收入的增加和地位的提升,知识在这里一文不值。
即使 IT 的领军企业也是如此。他们从学院里招聘毕业生并把他们训练成机器人。最悲哀的莫过于,他们的薪资相对其他行业而言相对较高,因此没有人愿意从这些公司离开。在印度,几乎没有 IT 公司会招聘真正有才能的人。
另外一个重要的因素是,大多数有才能的人都远渡重洋去美国或其他国家,在那里他们能够施展自己的才华并赚到比印度同行更多的收入。所以,如果你是一位印度开发者,只有成为流程专家而不是技术新秀才有机会成功。
尽管现在开始有所变化,我们能够看到涌现出一些初创企业,但是仍然为数很少。
更新:以上对于东方程序员的看法都是我个人的观点。针对本文提出的问题,在我看来,西方的程序员通常是以结果为导向、专注、坦率并且更加专业。我经常和来自西方的客户/委托人合作,发现他们具有协作精神、耐心、灵活而且热心。
Vinoth Kuma
我来自印度,曾为一家大型美国零售公司工作。我所接触的美国团队非常清楚自己想要做什么。正如在其它文章讨论过的那样,“印度人对政治和规章制度有这近乎宗教般的执着,但却对需要解决的问题完全缺乏认识”。
我也遇到过一些美国同事对任务的截止日期交代不清的情况。他们会说,“你只要在 2 月 26 号提交代码就可以了”,然而外包项目经理回复说,“不行,我们应该在 23 号之前截止”,这会让压力陡然增加。这是一种为了取悦领导而不顾实际开发时间要求的倾向。
这可能是印度社会结构造成的。
Aufather
我在印度一家跨国公司工作。尽管这是一家生产型公司(电信设备),从法律上讲印度分部也是一家独立的公司,它被美国母公司全资拥有,为母公司提供工程服务。这就是印度子公司的法律地位。
总的说来,我发现美国人反应更加迅速和直率,而印度人则更加圆滑。在我的印象中,印度人比美国人(8小时)花费更多时间(10小时)完成同样的 工作,主要区别在于行动的速度。我认为这更多地是文化造成的。从技术能力上来说,我感觉几乎一样。另外一个有意思的现象是,大多数美国的程序员(占 60-70%)都是印度人,在美国生活了 5 到 15 年。
我也感受到大多数平台工作(尤其是硬件设计)都在美国完成,而印度更多专注在应用程序开发。尽管现在越来越多平台软件被挪到印度开发。
另一个趋势是许多印度人在美国工作了5-20年这后开始回到印度。我个人就认识很多这样的人。与此同时,很多印度人到美国“现场”工作并学习当地的文化。因此,公司文化的差异正在逐步减小。
Kuma
我是印度人。到目前为止,除了来自东边的日本人,我曾经同美国人、英国人、澳大利亚人一起工作过。印度曾经在长达 300 年里沦为英帝国的殖民地。直到现在,人们还是认为西方的技术远远超过印度,包括南亚的其他国家都有这样的观点。尽管这些国家以自己的家庭观念和文化而自 豪,你会发现更多的产品创新出自西方而不是东方。最为重要的一点是,我崇敬西方的程序员也尊重东方的程序员,理解印度人和数学家(当然印度的经理除外 )
Rahularyansharma
在印度,大多数人当程序员不是因为自己选择,而是受到了周围环境的影响。
一个例子是,一家非常有名的公司 tata 咨询的雇员在 KBC(印度版的谁想成为百万富翁)节目上连这样的问题都答错了。问题是:
下面的选项中那个在谷歌主页上是找不到的?
选项有
gmail 油Tube 非死book Orkut
他选择的答案是 油Tube
所以你应该知道,在印度,大多数公司只是雇佣一些新人并给他们做一些日常工作的培训。所以,在日常的工作中,同样的时间做同样的工作,没有挑战,没有学习,也没有研究。
Tarun
在西方有很多年长且经验丰富的程序员,而在印度有更多新晋和年长的经理。好吧,在印度确实也有程序员。我对这种把从程序员转变为经理看做职业生涯进步的观点深恶痛绝。
Rishabh Jain
我从事软件开发行业已经有 4 年了。主要与欧洲的开发者一起工作,比如德国、西班牙、意大利等。与其它地方一样,这些开发者当中有优秀的也有不那么出众的。最让我吃惊的是,我发现与印 度的开发者不同,他们总是会在自己的工作上努力追求卓越而且非常享受并且以自己的工作为荣。
这并不意味着印度的开发者在某些方面稍逊一筹。对于大多数印度(亚洲)的开发者,缺乏对于自己喜欢的和真正想要做什么进行思考。正如大多数人指 出的那样,这是缺乏自由的父母教育和社会环境影响的结果。在印度,一个人生下来就承载了很多社会责任,冒险和失败都是不被接受的,否则将会遭到整个社会的 排斥。因此,学生们会选择更加“安全”人生规划,被塑造为类似“工厂生产的产品”。
我并不是说这是非常糟糕的选择,因为它或多或少地确保了可以收到社会尊重并得到较好的收入。但从长远看来,这些人并不能真正地与自己从事的职业 “心灵”相通,因为他们对自己正在从事的工作没有兴趣。一旦挣钱之后,要从这个畸形的循环从跳出来会变得尤其困难,因为他们已经在经济上被束缚了。
总的说来,在西方环境相对宽松,人们会得到一些机会允许犯错。一个人即使把事情弄糟也仍然有机会找到自己的兴趣所在,并且不会背负什么负担。所以,西方的开发者更多的是为了兴趣而不是经济和社会责任而工作,这会帮助他们成就卓越。
我也发现,西方人相对来说更加专业且宽容(他们知道人们会犯错,因为他们自己也曾犯错因而知道这其中的价值)。
我也发现,通常亚洲的项目经理会是无情、狡诈和投机。他们并不看重人的价值,大多数时候他们会把人看做资源,比如资源1、资源2,并且会不顾一 切代价压制开发者的个性。他们不会放弃任何抢占别人荣誉的机会。这主要是因为他们已经在这个“工厂”里待了太久的缘故。这也减少了亚洲开发者的归属感。
西方人的等级相对更加扁平化,提供了更加自由的工作环境。
但放眼未来,情况也在不断发生变化。我相信东西方之间会出现更加相互信任并且利于创新的环境。
二、日本程序员
Rei Miyasaka
我来自日本。
我并不认为日本程序员真正理解西方人在一半于我们的时间里做的那些工作。我们生活在自己那个小小的加拉帕戈斯泡沫中(与全球化隔绝),对世界上 其他的事情置若罔闻。撇开科学软件不谈(仿真系统、开发工具等等),我不认为我们对学术充满热情。在日本我们将软件看成硬件的奴隶,,所以创新往往出现在 硬件领域。
所以,当比尔盖茨说“软件是创新的源泉”这样的话时,大多数日本人只会认为“啊,他很富有,他知道自己在说些什么”,然后接着回去不加思考地设计应用程序。
与此同时,不论我们是否意识到了这一点,对外国人的憎恶和迫害情结已经深深地扎根于日本社会。Tron 项目(一个开发性实时操作系统内核项目)的成员就是这样的例子,尽管我希望他们是非常极端的情况:
非常不幸,在散布流言的人中有日本人。这些日本人,包括其他参与散布 TRON 项目谣言的外国人应该更加清楚地知道,他们忽略了这样一个事实:TRON 不是一个短期的商业项目,不应该以 2 到 3 年内占领某个特定市场作为评价其成功的标准。
不幸的是,这不能打消一些日本人的看法。他们真的相信微软会为匿名黑客攻击 Sony 的行为提供 WinMoible7 手机作为奖励。(也许付钱是有可能的,但是为什么他们要提供并非昂贵的手机给这些黑客呢??)
据说日本程序员似乎对可用性和 UI 非常感兴趣——因此可以经常看到,来自日本的 UI 尽管摆脱了传统,但是非常方便、直观。这一点甚至在 Ruby 设计风格中有所体现:
Matsumot(Ruby 语言的发明者)设计的目标就是为了提高程序员效率的同时为他们带来乐趣,这一点遵循了优秀用户界面的设计原则。他强调说,系统设计需要更加关注人而不是机器,……
如果我的愤世嫉俗让你感到吃惊,我在这里还有更多的阐述。
三、巴基斯坦程序员
Armir
我来自巴基斯坦。
我工作 7 年了。大多数时间里,我和美国的同事一起工作。我参与过的工作有:
- 离岸外包
- 美国公司在巴基斯坦的分支机构
这里我想分享一下我的感受。美国的同事非常坦诚也喜欢坦诚(因为只有和美国同事合作的经验,所以不好对其他国家的人进行评价)。这里我想说的是 如果下周要完成某个任务,主要开发者因为各种原因需要请假,大多数情况下我会告诉美国的同事,他们会认真把请假的情况认真考虑。
然而在巴基斯坦,一般人的心理是即使自己不能完成也要试图让对方满意。他们试图把本地团队可能影响到生意的想法隐藏起来,我认为这种做法是错误 的。一个现实的例子是,我最近从一个非常重要的团队协调员位置离职了,这个职位的工作就是协调海外团队和本地团队的工作。在我离职的时候,海外团队的经理 在通知本地团队的时候,也通知了谁是我的继任者。但是,仅仅在我离职 15 天之后,我的下一任也离职了。这一次,他们没有告知本地团队并且把我继任者离职的消息封锁了起来,现在应该是别的什么人来接任这个位置。
所有这些通常都是为了避免对商业关系产生不好的影响,这一类的事情在巴基斯坦非常常见。
因此,一般对西方和西方团队的看法是,虽然比起我们没有绝对的技术优势,但他们需要高质量的工作。第二点也是非常重要的一点,他们需要诚实的工作。如果事情变糟糕,告诉他们真实的情况。毕竟,他们不会派出 CIA 的侦探来跟踪我们。
下篇是韩国、孟加拉国、菲律宾和中国程序员的回复,敬请期待~
英文原文: StackExchange ,编译:伯乐在线 – 唐尤华