http://www.csdn.net/article/2012-09-20/2810169/1
摘要:东方程序员与西方程序员,彼此心中是什么样子呢?本文收集了东西方程序员对彼此的看法与各种印象,对于西方/东方程序员,你留有什么印象呢?
本文是作者根据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 YouTube Facebook Orkut
他选择的答案是YouTube
所以你应该知道,在印度,大多数公司只是雇佣一些新人并给他们做一些日常工作的培训。所以,在日常的工作中,同样的时间做同样的工作,没有挑战,没有学习,也没有研究。
Tarun
在西方有很多年长且经验丰富的程序员,而在印度有更多新晋和年长的经理。好吧,在印度确实也有程序员。我对这种把从程序员转变为经理看做职业生涯进步的观点深恶痛绝。
Rishabh Jain
我从事软件开发行业已经有4年了。主要与欧洲的开发者一起工作,比如德国、西班牙、意大利等。与其它地方一样,这些开发者当中有优秀的也有不那么出众的。最让我吃惊的是,我发现与印度的开发者不同,他们总是会在自己的工作上努力追求卓越而且非常享受并且以自己的工作为荣。
这并不意味着印度的开发者在某些方面稍逊一筹。对于大多数印度(亚洲)的开发者,缺乏对于自己喜欢的和真正想要做什么进行思考。正如大多数人指出的那样,这是缺乏自由的父母教育和社会环境影响的结果。在印度,一个人生下来就承载了很多社会责任,冒险和失败都是不被接受的,否则将会遭到整个社会的排斥。因此,学生们会选择更加“安全”人生规划,被塑造为类似“工厂生产的产品”。
我并不是说这是非常糟糕的选择,因为它或多或少地确保了可以收到社会尊重并得到较好的收入。但从长远看来,这些人并不能真正地与自己从事的职业“心灵”相通,因为他们对自己正在从事的工作没有兴趣。一旦挣钱之后,要从这个畸形的循环从跳出来会变得尤其困难,因为他们已经在经济上被束缚了。
总的说来,在西方环境相对宽松,人们会得到一些机会允许犯错。一个人即使把事情弄糟也仍然有机会找到自己的兴趣所在,并且不会背负什么负担。所以,西方的开发者更多的是为了兴趣而不是经济和社会责任而工作,这会帮助他们成就卓越。
我也发现,西方人相对来说更加专业且宽容(他们知道人们会犯错,因为他们自己也曾犯错因而知道这其中的价值)。
我也发现,通常亚洲的项目经理会是无情、狡诈和投机。他们并不看重人的价值,大多数时候他们会把人看做资源,比如资源1、资源2,并且会不顾一切代价压制开发者的个性。他们不会放弃任何抢占别人荣誉的机会。这主要是因为他们已经在这个“工厂”里待了太久的缘故。这也减少了亚洲开发者的归属感。
西方人的等级相对更加扁平化,提供了更加自由的工作环境。
但放眼未来,情况也在不断发生变化。我相信东西方之间会出现更加相互信任并且利于创新的环境。
二、日本程序员
Rei Miyasaka
我来自日本。
我并不认为日本程序员真正理解西方人只需花费一半的时间完成我们整个所完成的工作。我们生活在自己那个小小的加拉帕戈斯泡沫中(与全球化隔绝),对世界上其他的事情置若罔闻。撇开科学软件不谈(仿真系统、开发工具等等),我不认为我们对学术充满热情。在日本我们将软件看成硬件的奴隶,所以创新往往出现在硬件领域。
所以,当比尔盖茨说“软件是创新的源泉”这样的话时,大多数日本人只会认为“啊,他很富有,他知道自己在说些什么”,然后接着回去不加思考地设计应用程序。
与此同时,不论我们是否意识到了这一点,对外国人的憎恶和迫害情结已经深深地扎根于日本社会。Tron项目(一个开发性实时操作系统内核项目)的成员就是这样的例子,尽管我希望他们是非常极端的情况。
非常不幸,在散布流言的人中有日本人。这些日本人,包括其他参与散布TRON项目谣言的外国人应该更加清楚地知道,他们忽略了这样一个事实:TRON不是一个短期的商业项目,不应该以2到3年内占领某个特定市场作为评价其成功的标准。
不幸的是,这不能打消一些日本人的看法。他们真的相信微软会为匿名黑客攻击Sony的行为提供WinMoible7手机作为奖励。(也许付钱是有可能的,但是为什么他们要提供并非昂贵的手机给这些黑客呢??)
据说日本程序员似乎对可用性和UI非常感兴趣——因此可以经常看到,来自日本的UI尽管摆脱了传统,但是非常方便、直观。这一点甚至在Ruby设计风格中有所体现。
Matsumot(Ruby语言的发明者)设计的目标就是为了提高程序员效率的同时为他们带来乐趣,这一点遵循了优秀用户界面的设计原则。他强调说,系统设计需要更加关注人而不是机器……
如果我的愤世嫉俗让你感到吃惊,我在这里还有更多的阐述。
三、巴基斯坦程序员
Armir
我来自巴基斯坦。
我工作7年了。大多数时间里,我和美国的同事一起工作。我参与过的工作有:
这里我想分享一下我的感受。美国的同事非常坦诚也喜欢坦诚(因为只有和美国同事合作的经验,所以不好对其他国家的人进行评价)。这里我想说的是如果下周要完成某个任务,主要开发者因为各种原因需要请假,大多数情况下我会告诉美国的同事,他们会认真把请假的情况认真考虑。
然而在巴基斯坦,一般人的心理是即使自己不能完成也要试图让对方满意。他们试图把本地团队可能影响到生意的想法隐藏起来,我认为这种做法是错误的。一个现实的例子是,我最近从一个非常重要的团队协调员位置离职了,这个职位的工作就是协调海外团队和本地团队的工作。在我离职的时候,海外团队的经理在通知本地团队的时候,也通知了谁是我的继任者。但是,仅仅在我离职15天之后,我的下一任也离职了。这一次,他们没有告知本地团队并且把我继任者离职的消息封锁了起来,现在应该是别的什么人来接任这个位置。
所有这些通常都是为了避免对商业关系产生不好的影响,这一类的事情在巴基斯坦非常常见。
因此,一般对西方和西方团队的看法是,虽然比起我们没有绝对的技术优势,但他们需要高质量的工作。第二点也是非常重要的一点,他们需要诚实的工作。如果事情变糟糕,告诉他们真实的情况。毕竟,他们不会派出CIA的侦探来跟踪我们。
四、韩国程序员
Jeong
我来自韩国。恕我直言
韩国有很多程序员,但是韩国并不为西方国家提供外包服务。程序员工作有很多种类,但是大部分的群体为
与西方不同,程序员在韩国不是一个“有钱途”的工作,尽管也算是不错的工作。对于程序员来说,加班也是家常便饭。我想说的是真的很常见。
所以,很多韩国的程序员认为在西方工作非常好,一些人甚至考虑出国工作。但不幸的是,与印度不同,很多韩国人英语不是很好。
最后,韩国人怎么看待西方程序员?
五、孟加拉国程序员
Gulshan
我来自孟加拉,在我看来区别在于:
其中的一些只针对我所在的区域,不适用于其他东方或亚洲国家。排除经济因素不考虑,我感到这种趋势应该改变。
六、菲律宾程序员
Joset
我来自菲律宾。根据自己的理解我估计出了下面这些数字。
我敢说菲律宾70%的程序员都希望建立自己的公司并专注创新。有雨缺乏资金并受到外国企业高薪的诱惑(有IT公司也有非IT公司),程序员们为自己戴上了“金手铐”(防止员工离开公司的财务制度,比如员工股票期权等)。由于只能利用业余时间,所以果创新变得愈发缓慢。
天生追求最好这一文化传统使得在菲律宾有很多优秀的员工。这里我像要强调的一点是,程序员是以结果为导向的。这种导向的一个缺点是,因为社会文化强调友善、微笑、好客和乐观,大多数程序员特别是在和外国人相处时不是那么自信和坦率。但在工作场所这一点正在发生剧烈的变化,西方的工作文化正在取而代之。
程序员在大学里受到教育,在企业里强化编程训练,结果软件开发完全按照业界的最佳实践进行。
那些具有天赋又不想冒险开办公司的程序员通常选择出国工作,例如新加坡、美国、澳大利亚、香港和马来西亚,以寻找更好的发展空间。
在我看来,西方的程序员通常会被认为是技能熟练、更优秀、坦率、以结果为导向和专注的职业程序员。
七、中国程序员
Wondering
在我15年编程生涯中,有一半时间是和西方的开发者打交道。我曾经直接汇报给比利时的负责人,也曾经带领来自印度和美国的团队成员。
总的说来,不同国家的程序员没有什么大的区别。我见到的大多数程序员都是工作努力并且可以有创新的工作。西方人在各种编程技巧和办公室政治的处理上和东方人旗鼓相当。大多数有经验的大陆程序员英文水平不是很好,这会在交流上带来问题,而印度和美国人在这方面会有优势。也许是因为我和欧洲团队为了项目和资源斗争太多次的原因,我个人的感觉是美国人比欧洲人更容易合作。
附带说一下,我是中国人,生活在大陆。
Baobao
大家好,我是中国程序员。我想要告诉你们一些事实。
Kim
我是一个中国程序员。之前在一家中国软件公司工作,遇到了很多有才华的程序员。我的能力得到了快速的提升。
一天我加入了一家所谓的知名美企。那真的是一场噩梦。公司里的中国员工要么非常愚蠢要么整天互相斗来斗去。他们几乎不会思考、设计和编码。几乎没有其他中国本土企业会需要这样的人。每天的工作就是测试产品或者修几个无关紧要的bug。
我快速地逃离了这家美国公司进入了另一家本土企业。这家公司从德国购买软件同时也得到了德国公司的技术支持。我认为自己作出的选择非常正确而且薪水也比以前更高了。
对于讨论的这个问题,在那家美国公司我遇到过很多西方程序员,他们的工作做的很好,而且知道如何尊重下属,包括中国员工。
Matthieu
东方追随西方,体现在以下几个方面:
我阅读的几乎所有IT书籍作者都来自西方。
在我第一次遇到Apache Jakarta / Struts的时候非常开心。我认为它是真正的亚洲制造。
附一:新浪微博上,也有一些朋友分享其对西方程序员的看法。
@lucky_eagle:特别认真,刨根究底,问到出汗……
@锡伯小兵:亲身接触了一些,也有听同事说的。总体感觉各国大多数程序员差不多,过于自信,延期交付,推脱责任,对质量马马虎虎,能应付交付即可,工作家庭平衡力较差,偶尔勇于挑战。不过也正常,毕竟编程是对脑力要求较高的活动,而人脑偏偏不是严格逻辑的。
@張漢東:早年和美国的打过交道,也经常混迹各种技术论坛,给我最大的印象就是,不管你提出多菜的问题,他们都会耐心认真的回答你。
@Carlos_Tse想要改变自己:跟伪西方合作过,总喜欢用很前卫的技术,文档很详细,最重要的是木有dead line,随时做好随时交,不限于在公司上班干活
@彦斌:说说我们公司的情况吧。那些西方的同事工作态度比我们这边的认真多了,工作起来更喜欢沟通交流。而且年龄都比我们的大。
相关文章
来自:伯乐在线—东方程序员怎么看西方程序员(上)与东方程序员怎么看西方程序员(下)
了解信号的概率分布具有重要的实际意义。许多应用中,我们感兴趣的信号通常是可以被描述,可以被压缩的,这与严格稀疏的信号不同。可压缩信号的概率分布通常是重尾的,重尾又可以使用双状态高斯混合分布描述。信号的每个元素可以从’大‘或者’小’两种状态取值。假设信号中的各个元素独立同分布,可以证明信号元素取小值比取大值更加频繁。其他的一些重尾分布函数也可以描述系数信号的元素:拉普拉斯分布。这种重尾分布广泛应用于基于贝叶斯推理的稀疏主分量分析中。目的是根据测量矩阵和y估计处原信号x。
弹出 fixed 弹窗后,在弹窗上滑动会导致下层的页面一起跟着滚动。场景一:弹窗内无滚动内容可以在弹窗最外层元素绑定touchmove事件,触发事件返回false即(在vue类框架中也可以加.stop阻止冒泡)。简单写法:catchtouchmove='preventTouchMove',在js文件中定义一个方法preventTouchMove() { return } 即可。此种方式会阻止弹窗内...
这里以一个简单的初始化案例来描述UDF的使用过程。0 Fluent中的PatchFluent中提供了全域初始化以及局部Patch功能。对于整体区域的全局初始化可以采用starndard及hybrid方法进行初始化,指定各种物理量的初始分布。而对于计算域中的局部区域初始化,则可以通过Patch功能来实现。在使用Patch方法时,需要实现对要进行Patch的区域进行标记。选择Mark/Adapt...
全世界60%的人都在使用Linux。几乎所有人都受到Linux系统的“恩惠”,我们享受的大量服务(包括网页服务、聊天服务等)背后几乎都是由Linux系统支撑的服务器,超过20亿人每天都随身携带基于Linux内核开发的 Android手机出门,Linux也广泛应用在嵌入式系统上。因此学习Linux系统变得尤为重要,对于普通用户而言,平面式的学习Linux系统的基本使用已经足够,但对于开发者或者运维人
卸载:https://www.cnblogs.com/Lenbrother/articles/6203620.html卸载Mysql卸载掉安装的部分首先执行查看命令,看一下都安转了什么东东:rpm -qa |grep -i mysql开始卸载执行卸载命令:yum remove mysql-community mysql-community-server mysql-community-libs m...
虚拟机红帽企业版5 1.内核定时器节点struct timer_list{struct list_head entry;//定时器链指针unsigned long expires;//到期时间void (*function)(unsigned long);
ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 0 NUT 32 (space) 64 @ 96 、 1 SOH 33 ! 65 A 97 a 2 STX 34 " 66 B 9...
为什么80%的码农都做不了架构师?>>> ...
一项颠覆性的技术进入技术市场总会带来一阵震惊,但随之而来往往是被放弃。然而,Node.js 当然不是这样的情况,它是一个开源的、跨平台的基于 Chrome 的 JavaScript 运行时。Node.js 由 Ryan Dahl 于 2009 年开发,该平台现在已成为实时 Web 应用开发的独特选择,通过提供高度交互的用户体验来提高 ROI。使用 Node.js 的最大优点是开发人员可以在客户...
前言下面的是通过PHP实现经典算法,并计算了耗时,可以通过耗时对比这几种算法的复杂度。插入排序冒泡排序选择排序并归排序快速排序CODE$arr = [];for ($i = 0; $i < 5000; $i++) { $arr[] = rand(1, 10000);}//1 插入排序...
1.分布式服务接口的幂等性如何设计?比如重复扣款例子1:假如你有个服务提供一些接口供外部调用,这个服务部署在了 很多台机器上,接着有个接口就是付款接口。然用户在前端上操作的时候,一个订单不小心发起了两次支付请求,然后这俩请求分散在了这个服务部署的不同的机器上,所以导致,结果一个订单扣款扣两次例子2:订单系统调用支付系统进行支付,结果不小心因为网络超时了,然后订单系统走了前面我们看到的那...
4月份发布的全球编程语言排行榜Java高居榜首,C屈居第二,C++紧随其后,C和C++的比例之和,超过Java5%,python借人工智能和DevOps的东风,扶摇直上,新秀GO语言,投胎技术好,有个好爹,依托容器技术和K8S,迅速走红。C++C/C++能做什么1.服务器开发工程师2.人工智能3.云计算工程师4.信息安全(黑客反黑客)5.大数据6.数据平台7.嵌入式工程师8....