A. 为何印度的程序员很牛b
不是说印度的程序员很厉害,只能说国外的人比较瞧不起中国人;国外大公司的高层大多印度籍要多些。
B. 美欧的程序员不常加班吗为什么
现在国内程序员几乎成为了加班的代名词,但欧美的程序员疯狂加班的相对比较少,对于这一点倒是有这种感受,之前曾经外企工作过一段时间对这种有类似的感受,讲一个真实发生的事情,曾经和美国总部的程序员一起合作做一个项目,由于项目的周期赶得很紧,周末去加班,结果需要配合的美国程序员的加班申请没有被批准下来,只好在自家院子里修栅栏种菜,这种情况在国内几乎是不可能发生的,项目赶得紧加班加点是常有的事情,而且默认是不存在什么加班费之类 ,项目紧急状态下也会默认自动加班。
由于当时入行不到两年,非常不理解,还去找项目负责人说到这个事情,最后这个事情也就不了了之,其实这也反映了中国和美国上的差异,在国内做程序员拿的工资比普通的工种还是要多很多,但在美国这种差异不是很大,主要是各行业整体来讲已经比较成熟,即使环卫工作也算正式的工作,各种保险也是正常给上着,整体来讲不同职业的收入差异不像国内的那么大,在欧美正式的工作加班就需要支付加班费,一般情况下不提倡通过加班来完成任务。
就本质而言中国的软件行业相比欧美还是存在较大的差距,在迎头赶上的阶段加班加点也算是正常事件,再加上国内互联网进行的如火如荼,这也是难得在互联网领域赶超欧美的一个好机会,又把程序员加班的气氛带动了一番。
为什么欧美程序员加班比国内程序员少一些?
1.相比来讲欧美的产业更加成熟一些,加班基本上都会配套加班费,在这中国几乎是不可想象的事情,技术工种和别的工种的工资差异也不是那么大,所以在欧美找一个正式的工作难度要远高于国内,所以从公司角度效率主要在上班时间提升,加班基本意味着加班费,需要领导审批,不提倡加班。
2.国外程序员的比例不像国内这么失衡,需求量不是那么迫切,供需关系没有那么紧张,而且大部分公司不提倡加班,加班支出费用比正常上班的工资要高,即使加班风气很浓的日本,都开始对加班说不了。国内软件行业相比发达国家在积累方面差距还很大,正是需要迎头赶上的时期,加班加点也属于正常现象。
行业成熟了,供需关系平衡了,有底子了加班现象自然就会减少。
去年上半年,一位同事去了德国,仍然是从事程序员的工作,然后给我们讲述了他的亲身经历,让我们羡慕不已。
他们一家三口过去的,孩子已经上小学三四年级,去了德国一个不是很有名的城市,据说华人非常的少。工资在5千欧的样子(估计也是刚过去的原因),不过还要交各类保险,税后多少我也记得不是很清楚。
让我印象最为深刻的是,这位同事去了没多久,媳妇儿就怀了二胎了,于是震撼的消息来了,他现在可以一周只去单位两天,而且工资不变,其余时间可以照顾媳妇儿,直到孩子出生或到一定的年龄(有点儿像我们的陪产假,不过人家的陪产假非常长)。大儿子上学自己只需要缴纳一点点钱,据他说等老二出生之后,不仅没什么开销,而且每月还有几百欧的补助。
那么欧美程序员真的不用加班么?且听我下面的分析:
最近新东方年会的一个节目火了,歌词用到程序员身上,也是恰到好处。
“干活的累死累活,有成果那又如何,到头来干不过写PPT的”
“只会为老板的朋友圈高歌,领导随口一说,立刻讨好跟着,项目马上启动不计后果”
说的太好了,我都不禁起立鼓掌了。
我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。
相比于国内动则 996,227 的超强度工作,欧美的程序员是没有这么夸张的。但不代表欧美程序员就不加班。
本人工作隶属一世界五百强外企,刚刚带队完成了一个大型的IT系统上线项目。涉及到近百人的项目团队,其中大部分程序员、业务分析师都是老外,有几个外部关联的系统是从美国购买的,所有的程序员都是美国人。
我在中国,所以和美国东部有十二小时的时差,这时候无论中国或者美国的项目团队,都得加班,否则时间上凑不到一块儿。
要么美国人早上5-6点就到公司上班,要么中国人晚上6-7点继续加班,或者反过来。当然,美国人是不怕起得早的,很多人为了早下班,宁可早上5-6点就到公司上班了,这样可以下午4点多就下班回家接孩子或者happy,这点跟中国人相反,中国人很少愿意早上5-6点就来公司上班。
就算是这样,我们在项目非常紧张的时候,也给美国的供应商下了死命令,就是中国人在做系统切换的期间(一周),美国人方面的程序员必须按照 中国的工作时间 同步,也就是他们晚上9点到早上9点之间必须随时待命,这对他们来说是不折不扣的加班。
美国人也没说啥啊,钱给到位了,还是乖乖的加班了啊。
欧美的程序员,能吃苦的还是很能吃苦的,但是混子也多,一个电话就能分辨出来,对于那些一上来就推三阻四各种绕的程序员,我通常做法就是 一次容忍、二次警告、三次请你走人 。
毕竟上百人的大项目,我没这个时间和义务来教育你如何做好你的工作。
当然,欧美毕竟还是要轻松一些,很多人给你加班一周之后把任务完成了,是说什么都要去休假的,只是这时候如果你还非要在他休假的时候去骚扰他,他也会毫不客气的拒绝甚至立刻投诉的。
只能说,欧美人相对守规则一些,把私人时间看得更重要一些,但不代表他们完全拒绝加班,或者说不愿意加班。
希望我们国内的公司,也能多一些这样的契约精神,不要天天搞什么“狼性文化”,把员工都榨干了,最后也不过是涸泽而渔罢了!
国内It最大的问题是许多公司的it从业者素质不高:领导自己对问题都没彻底清楚。提需求的人没有成本,无止境地提不靠谱的需求。码农自己开发时也图快,代码极粗糙,连自己都觉得写的是shi,同时也提高了系统的风险(不少跨专业报名培训学校,培训几个月直接上岗,别指望他们懂更多)总之就是,leader很忙,产品很忙,码农很忙,测试很忙,就是这样的恶性循环。
我在美国做程序员第二个年头了。在刚毕业那会,我会说,放屁!谁说美国程序员不加班,有deadline或出bug的时候都一样都会加班。
但是后来…好吧,我发现我错了。在我了解了996之后,好吧,我觉得美国那不叫加班
推荐你看浪潮之巅这本书,就讲了上世界美国it行业的发展。
怎么说呢,欧美的程序员肯定还是会加班的,只不过不像中国企业这么严重,这么普遍。
首先明确一点,欧美IT企业加班少,并不是不需要加班。欧美IT企业加班的需求也是非常高的。
但是为啥程序员还是加班少呢。
第一个 原因就是工会
其实中国和美国法律都一样,都是规定每天8小时工作制。加班需要付加班工资。
但是美国之所以企业不敢越雷池,主要是有一个逆天的工会存在。美国工会强大到谁都敢怼,美国就发生过警察工会发动警察罢工的事情。警察的雇主是政府,工会政府都敢对着干,还怕你个小小的IT企业?
所以,如果一旦加班弄到员工都不满意,工会真心能让你吃不了兜着走。让你再也招不到人都不是问题。
第二 就是美国程序员工资高
如果企业实在忙,要求员工加班,那就必须付高额的加班费。这个实在是肉疼啊,一般来说企业是承受不了的。
那企业不给行不行?恐怕法院会让你长记性,美国加州某个企业曾经就因为加班,被法院判赔偿了1.7亿美元。这么一来,谁敢不给加班费。
有的人问了,你不是前面说美国IT企业加班需求也是很大的,那怎么办。
是的,任何一个IT企业都有大量的加班需求,但欧美企业又不能强迫员工加班,于是他们想出了几个办法。
一 勾引员工自愿加班
别笑,这是真的,你现在如果去美国硅谷,一定能看到很多程序员在加班,但是基本上都是自愿。
我不是在胡说八道,欧美IT企业勾引程序员加班有很多诏
弹性上班时间
早上不要求你按时到,你自己自由安排上班时间,不知不觉就加了几个小时班。这是很有效的勾引程序员加班的手段。
用办公环境来勾引
我们来看一下:
微软的办公环境
谷歌的办公环境
休息仓
你们以为企业给程序员弄这么好的办公环境是为啥?谷歌甚至还给提供免费理发!这个不是企业钱多烧的,只有一个目的,勾引你加班。
我觉得在这种环境下,员工不自觉的就自愿加了好多班。
第二 外包
如果勾引来勾引去,程序员还是不来加班呢?或者小企业,根本没有谷歌微软这么好的环境,怎么办呢?
这种情况下,美国IT企业会把做不完的活外包给程序员工资相对低的地区,那就是中国和印度了。
中国和印度,法律对加班管的不严,程序员工资低,于是美国很多公司都喜欢把活交给中国和印度来干。
我们中国企业就比较惨了,没办法再外包了,非洲,中东这些地区根本就没有多少IT人才。只能自己干了,反正象征性的给点加班费就行了,成本也不高。
美欧的程序员不常加班吗?为什么?个人认为这是环境决定的,现今国内各行各业都是这样加班加点干事情,看看有多少民营私营企业有周六的,每天能够准时下班的就明白了。良心点儿的企业还给你算加班,有些企业就明确说一周只休息一天,想干就干不想干双方不再见。
而国内程序员这个职业加班更甚。绝大部分的软件、互联网公司基本都是民营私营公司,而且又得赶工期、节约成本,那就只有逼着程序员加班了。虽然看起来名为高工资,可实际上算下来单位时间的工资并不一定比早九晚五的企业高多少。每天10几个小时,有时周六周日都在加班,这种还是常有的事不稀奇。甚至有些公司明确说明,我们给的工资较高,没有加班费甚至也没有换休,干就干不干拉倒。
而这一切也源于我们的工作生活环境造成,还有相关的法律规定是否执行到位,是否有人来监督,是否有地方去申诉。另外整体收入较低的情况下,大部分程序员为了那份收入与那个职位,也就默认被压榨而不出声。你出声可以,那就另谋高就吧。特别是现在程序员供过于求,更是很多企业毫无顾忌这样搞。企业为了追逐利益最大化,加班是一种很常用的手段,而且还不用付出什么成本。
在欧美,市场及管理相对较成熟,程序员与其它行业一样就是个普通的职位。在整体大环境下不提倡加班,有人监督有投诉地方,自己不愿意加班那就不能被逼加班,否则可能被投诉被诉讼,企业会吃亏。所以在做项目计划时,一般会按照正常工作时间进行详细预算计划工作量,如果真正完不成还有可能进行协商,重新预算工作量。不像我们很多企业,有时连周六周日都有可能给你计划上工作量,完不成?要么说你能力不行走人,要么自己往死里加班都要完成工作量,美其名曰为了达到客户期望一定要保证交货期。
企业说,不愿加班?那就到欧美去吧。
更多分享及互动,欢迎点击右上角关注【东风高扬】。
这个问题是多方面的,如果了解国内一线外企的工作状态,可能就很好理解了。
一方面,外企的工作是以效率为导向的,形式化的东西非常少,硬性的规定非常少,从教育上,欧美国家就主张创造性和自主性,更加主张思维独立和创造性思维。所以在一些硅谷的大企业中,一个普通员工也可以提出一个想法,而一旦被采纳,这个项目就可以推进执行。你会发现他们的沟通效率很高,工作效率很高,信息流通性很好,而且员工所在的环境十分自由,可以以自己最舒适的状态工作。这其实就是 以做事为目的,以效率为导向。
而中国的本土企业习惯了所谓的“管理”,从教育上培养的是应试教育,从小教导要听大人话,要听老师话,要听领导话。却很少鼓励学生提出自己的问题和质疑,限制了孩子的创造性思维。等进入了企业以后,官僚气息严重,形式主义严重,基层员工完全没有话语权,埋头苦干受累背锅,领导一句话没活儿也得加班。
然后就是找一群留学海外,有想法的人,带着一群本土毕业没想法的人做事,其实大家都很难受。
第二方面,即便有些时候工作真的做不完,你想加班,在外企也不一定加的成。加班需要申请,因为超过上班时间公司需要严格按照加班标准支付薪酬,而一般在国外,加班要支付的加班费非常高。
所以除非十万火急,国外大部分企业是不可能让员工加班的,各种法律条文保护劳动者不是开玩笑的,不遵守分分钟告到你哭。
第三方面,有很多西方人,即便你给他高额的加班费他也不想加班。很多人说中国是最勤劳的民族不是开玩笑的,我们接受着勤劳致富的教育,也确实做着勤劳致富的事情。国内互联网行业所谓的高工资都是以疯狂加班为代价的,就这还有多少人削尖了脑袋想进入这个行业,估计在西方人眼中很难理解。
外国人大部分没那么勤劳,喜欢享受时光,这跟发达国家本身富裕是分不开的,他们的生存压力没那么大,不太用担心没饭吃,所以穷人很多都不愿意为了钱而卖命,更别提有知识有学历的高级人才了。
动辄好几周去海岛度个假的国家人民,怎么能理解我过有年假都没法放的痛苦。
美欧不光程序员不经常加班,从管理到基层员工也都不经常加班,因为第一,人工昂贵;第二,劳动法严格,加班要付昂贵的加班工资,不付被举报的话企业要被巨额罚款,所以企业方方面面都高效做事。一个产品,从设计方案开始就讲究个环节的完善,实际开始制作的时候各部门要高度同步与协调。各项工作的计划都是提前一年来安排时间表(这也是生产环节外发海外逼出来的传统),很少有像我们这里8月开的大会7月才开始各类订制与协调,各项制度不完善,高管大会摔话筒的事发生。领导也不会今天临时脑袋一拍在产品里加个功能,明天再取消另一个功能,然后让员工日赶夜赶。西方的工作看起来节奏很慢,但是实际效率很高;我们的生活工作看起来节奏快,从领导到员工都很勤奋,但是实际效率很低,一个环节可能重复做五六次。其实西方各大公司的操作才是“计划经济”,我们的是“野蛮的横冲直撞经济”。这跟整个民族的文化气氛与劳动力训练方式有关,也就是教育有关。东西方教育的差距,不仅仅是 科技 成果的差距,还是教育的另一个成果,劳动力素质的差距。
C. 印度经济那么落后,却为什么印度的IT行业能如此强大
世界20大IT公司,11家美国的,9家中国的,没有印度IT什么事。之所以产生印度IT强大的错觉,是因为西方IT的客服业务大多外包给印度,而普通百姓最可能接触到的就是这些人,给人一种IT行业都是印度人的错觉。
D. 印度那么贫穷,为什么IT业却很发达,程序员数量也比其它国家多
大多数人对印度的第一印象是落后的,然后还有落后的社会制度造成的问题,如妇女问题、健康问题、高文盲率、贫富差距严重等。然而,奇怪的是,在如此大的环境下,印度的信息技术产业非常发达,印度程序员也受到该产业的高度关注和青睐。不仅如此,印度也是程序员数量最多的国家。为什么印度的程序员比其他亚洲国家多?
还有一个重要的原因是,贫穷的低种姓印度人不想每天都呆在垃圾里,不想每天都吃腹泻,不想看到他们的孩子一个接一个地死去,然后他们想通过成为程序员来改变自己的命运。毕竟,程序员是印度最与世界接轨的主流行业之一。
E. 印度这么穷,文盲高达50%,为何程序员数量却能碾压全球
因为印度虽然这个国家很穷,但是印度的IT行业是相当的发达,并且程序员数量也自然也就比全世界其他地方要更多了,这还和印度人的智商和语言天赋有关。
在如此先天占有优势的情况下,加上印度的人口数量这么多,程序员多也是很常见不过的事情了,印度的程序员不仅仅很多,并且每一位本事也不小,在世界上也是很青睐印度程序员的,比起其他的亚裔,印度程序员要占有更大的优势,而且相对其他的员工,他们对于工资要求也不是很高,可以说是物廉价美,所以外包公司也经常会用到他们。
F. 在硅谷,中国码农为什么干不过印度码农
首先,印度人建立了非常完善的价值回报体系。从培训到内推,环环相扣,形成了一个互惠互利的职业盈利系统,长此以往,抛开code能力与质量不谈,印度工程师在硅谷一线公司的数量呈井喷状。而在美国的其他行业里,这种模式更加吃香。许多最基础的职位都被印度外包公司占领,“低价+好用”的特点,挤得其他人甚至是美国居民在求职路上无处可逃。
前面说到,生态是可以被改变的,而且有人正在为此努力着,有人正在为在美工作的中国工程师们打造一个完善、可靠、高效的生态圈子。
G. 在印度做程序员的时间期限是5年吗
也写过一些编程书,比如《A Byte of Python》和适合新手和老手的《Vim 7 编辑器》,以下是正文。让我以一个故事开始吧,是我在Adobe公司工作时听来的。有一个人来面试一个技术职位。他高分通过了所有的技术关卡,面试他的团队很欣赏他的个性,觉得他很适合这个职位,经理也面带微笑。在最后一关人力资源类型的面试中,面试他的是团队的头,当他被告知他们的团队的产品完全由邦加罗尔(印度南部城市)的团队开发,这样就没有机会去美国,这个人犹豫了,他告诉那个头说“先生,请让我去美国,哪怕只有一天。如果我在我的护照上有一个美国签证章的话,我可以得到一千万的嫁妆。”不用说,这个人最后没有获得这份工作。 我想你可以从这件事情上总结了些经验和结论,因为这和下面的内容有关,有关我们在Twitter上问过的一个问题。这些全都来自于@debabrata 在看过我发表在foss.in的一篇博客后的提问:为什么印度的计算机行业有个”5年限期”?而其他国家的人们在编程编了20年之后仍然很快乐。我问了推友们的观点,他们的回答非常有意思。@cruisemaniac 说:社会定义的结婚年龄和稳定下来的年龄 = 接近27 = 22 + 5。如果你没有遵循这个定律,你就是个异类!如果过了这个年龄,由于受到家庭和舆论的压力,你愿意冒险的欲望会下降。@HJ91 说:是的,非常正确,异类这个词非常恰当,这很可悲。指责,中伤,可悲。哇,这么严重。 所以我问:你指的冒险精神和时间开销——为什么冒险精神和对编程感兴趣有关?这个回复引来了更多人回复:@mixdev:原因之一,为什么聪明人要最终做那种“告诉我怎么做,然后留我一个人安静的工作”的那种软件工程师呢?@cruisemaniac:我要说,你不能冒险尝试一个新的科技,而以贸易安全为赌注。你愿意尝试,是因为那是个安全区域,你付出的不多。@cuisemaniac:时间对我们来说是宝贵的,我们印度人不能只遵照我们的意愿呆在家里陪老婆和孩子。@mallipeddi:如果你是个30岁以上的程序员,很难每年获得工资的提升了。你会期望成为一个经理或MBA。@abhinav:我认为原因在于我们的社会体制。我们将成功和学位挂钩,而后呢,如果你管理的人越多,你就越成功。@abhinav:而在西方,这个想法就不适用,但是在印度,你这样做就意味着失败!我们的社会不鼓励冒风险。@abhinav:是的,更多的钱,更高的地位,更光鲜的生活。最重要的,更多的女人!@mixdev:因为我们的目标被我们的社会预先设定好了,如何实现目标也在社会的掌控之中。我们越来越性急了。@debabrata:我想是因为社会教育我们成为什么样的人,同西方有很大不同注:配图和本文无关 我发现人们在印度不想成为程序员的情况,和人们想成为企业家的情况一样奇怪!可以解释为:只有在做很棒的事情的时候,你编程的热情才会持续。但是大公司(至少在印度)只想追求稳定,这就意味着用通用的语言和库来编程,枯燥反复的工作。实验性质的工作是没有空间的。所以如果程序员真的喜欢编程的话,他/她会宁愿去一个小公司或一个创业公司(当然我这里不讨论研究型的实验室的情况)。但是去一个小公司或一个创业公司是不被鼓励的。就如@abhinav 提到的,来自社会的压力,我们需要赚更多的钱,更高的地位,更靓的跑车和更大的房子。追求这些事情没有错,但是不要强迫他人也追求!哎,解释这个问题一言难尽。我记得我和我的叔叔有过很长一段时间的争论,他强烈建议我买一辆车,而我据理力争,说买车并不必要(毕竟,我的其他朋友只在周末的时候驾车,而不是每天上下班用),但都无济于事。 所以我很矛盾:难道这里没有足够的人对编程感兴趣的吗?还是那些感兴趣的人都被同辈的压力所迫,转行进入管理层并最终放弃编程的?还是有其他原因?编注:如果你还不大了解印度程序员,推荐看看这2篇文章:《我眼中的中美印日四国程序员的特点》《美印两国程序员真的平分秋色吗?》。更新1:Peter建议读读这篇文章《坚持编程》(有墙),Ravi Mohan就这个主题写的。更新2:NYTimes上最近的一篇文章,标题是《在印度,好奇超过了缓慢的创新》原文链接:The 5-year limit to being a coder in India?�0�2(有墙)相关阅读:《关于程序员30岁困惑的一点个人思考》《也谈国内程序员做不到35岁!》
H. 一名印度程序员的生活领悟
Siva,是印度海得拉巴的一名软件开发人员。从他的角度来说,在印度做一个软件开发人员略有不同,也有点难。总之,一言难尽。今天,他和大家分享自己作为印度IT行业中的一名软件开发人员切身感受。
我叫Siva,是印度海得拉巴的一名软件开发人员。软件开发是一份令人兴奋的工作,因为你每天都可以看到新事物。如果没有新的事物,我们还可以赋予一些旧概念新的有趣名字,然后自娱自乐。但是,从我的角度来说,在印度做一个软件开发人员略有不同,也有点难。总之,一言难尽。
来自于其他国家的软件开发人员对印度软件开发人员的看法,让我大吃一惊。所以今天,我想和大家分享我作为印度IT行业中的一名软件开发人员的感受。
ps:这些纯粹是个人观点,不喜勿喷。
我的第一份工作
我的第一份工作是在一家小公司里,职位是Java
开发人员。并且我的几个非常亲密的朋友也加入了这家公司。我很庆幸能在我职业生涯的初期就和一些非常有才华的人一起工作。
我的第一个经理习惯于强迫我们在工作的第2到3个月时间内只使用Notepad++/EditPlus
编码,目的是为了让我们熟悉如何编译和运行程序,并知道编译时和运行时的类路径等。
但是,架构师对此颇不认同。有一天,他看见我在用EditPlus编码,就走到我身边,说:“难道你去打仗都不用武器的吗?”。他从我一片茫然的表情中知道了我并不知道他在说什么。他将键盘拖到他面前,下载了Lomboz
Eclipse(一种Eclipse的变体,不过现在已经没落了),然后给我解说如何使用它。此外,时不时地,他还教我一些很有趣的键盘快捷键,用IDE代替Notepad/
EditPlus写代码的速度明显快多了。
我从他们身上学到了了解事物的工作原理以及如何有效使用工具来加快工作的重要性。
对了,我的团队领导是实战经验非常丰富的开发人员。他记得大多数核心的Java
API方法,并对设计模式有一个很好的理解。他是一个完美主义者。即使只是代码缩进不正确,他也不同意我们提交代码。有一天,我们正在加班,时间甚至已经是第二天凌晨了,因为我们得提供一些紧急交付。然而即使这样,他也坚持要纠正缩进,清理导入的包和未使用的变量,严格按照TABs和空格一致等原则。我们抱怨不休。
但是后来在融合来自于不同开发人员的所有代码更改的时候,我们才意识到这么做的重要性。他总是说:“既然要做,就要把事情做好。否则就不要做。”
至于团队中的其他成员,由于我们也是好朋友,所以彼此之间没有任何冲突,也没有政治矛盾。我们常常周五晚上开party直至凌晨2
点,在办公室讲笑话乐得哈哈大笑。一切都是那么美好。
开启我真正的旅程
3年后,我离开了这家公司,跳槽到一家大公司里,大公司意味着更好的工作,更高的工资和更佳的工作文化。然而我很快发现,并不是所有的东西,大公司都比小公司好!在那里,我遇到了一个有着可怕代码库的遗留应用程序,看得我真是头大无比。
此外,和我一起工作的开发人员,都是这家公司的老员工,他们不愿意接受任何新的东西,没有兴趣使应用程序变得更好,只想墨守陈规,即使原来用惯的方法是令人痛苦不堪。
由于印度IT产业主要是基于离岸开发模式,大部分的时间我们都在维护遗留的代码库。我们很少有机会去搞新建的项目。即使是那些关键架构/设计部分是由现场团队完成的新建项目。
幸运的是我有机会去参与一些新建项目,也涉及了从头开始设计应用程序的过程。
许多公司里对那些想要继续走技术路线不想转去管理部门的程序员,都没有明确的职业发展规划。更糟糕的是有些公司迫使开发人员在具备了一定年限的工作经验之后,步入人事管理的行列。
青菜萝卜各有所爱,不是所有的开发人员都热衷于技术,这无可厚非。有的人是做一天和尚撞一天钟,有的人只想着不择手段完成就好,不管代码质量和可维护性如何。在印度,你很难找到那种充满激情的开发人员,因为大部分人只是将编程当作工作而已,而是不是因为乐趣和爱好。
有时,我学会了新的东西,或做了一些很酷的玩意儿,环顾四周想分享我的激动心情之时,却发觉没有人能够理解我的这种兴奋之情。
写博客
当我在一个项目中使用Struts1.x框架的时候,我碰到了一些棘手的问题。并且在努力捣鼓了3
天之后依然找不到任何解决方案。我不停地调试,搜索了所有的书籍和论坛。终于发现有人针对这个问题刚好写了一篇文章,并提供了解决方案。果然他的解决方案是有效的。我向那位博客作者表达万分感谢。但想到还有很多不知道作者的博客也帮助我很多,于是也想开一个博客回馈社区。于是,我有了我自己的博客
www.sivalabs.in,上面我陆陆续续写了一些自己学到的东西。
不久,我的文章发表在DZone和JavaCodeGeeks社区网站上。虽然我的英语写作能力不够好,但我一直在写文章,希望通过练习能够熟能生巧。
当看到有人对我的文章评论“在你的文章中我学到了一些东西”的时候,我真的非常开心。我从StackOverflow,博客,论坛等社区中获得很多帮助,如果可能的话我也想尽我的微薄之力回馈给社区。
优秀的开发人员就像战争英雄
由于我们要做的大多数是遗留项目,或是在维护模式下的项目,因此管理层更喜欢那些忠诚的,坚守在公司的老员工(尽管很多老员工拿的工资并不高或者公司并没有将他们当作一种资源对待),而不是技术力量雄厚的人才。
优秀的开发人员就像战争英雄,虽然在我们开启新项目或创建一些核心设计的时候需要这样的人才,但是一旦核心设计已经搞定了,其他的开发人员按照设计走也可以添加方法到流的时候,就像一旦战争结束了,那些英雄就会变得无人问津一样,很多公司就不会再去关注那些优秀的开发人员。
许多非印度技术人员讨厌印度的开发人员
我经常看到一些抨击印度软件开发人员的文章。当然,这只是一些个人意见。甚至有人想赞助巴基斯坦轰炸印度。真是有够幼稚的。
印度IT企业的主要问题是,为了获得项目,他们让客户相信他们能在几乎不可能的时间内交付项目。而为了达成这些疯狂的时间线,他们将责任下放到管理人员身上,然后管理人员强迫团队领导接受任务,而团队领导再将截止时间扔给开发人员。这就是印度的开发人员面临的最大问题。许多印度的开发人员不知道怎么说“NO”。他们只会默默地接受这种疯狂的时间计划,竭尽全力地完成。而这整个过程的结果是“不可维护的蹩脚的代码”。
但是,我还有几个问题。现场的非印度客户怎么会相信“印度离岸团队可以用6个月的时间建造现场团队预估要18
个月的同一个项目”?他们为什么不要求终端到终端的测试套件?他们为什么不要求代码质量报告?
一分价钱一分货!你支付多少,你才会得到多少!
那些大放厥词说“所有印度程序员都很差劲”的人,应该先想清楚再说。这样一棍子打死一船人,是要不得的。每个地方每个国家都既有优秀的开发人员,也有差劲的开发人员。我曾经和一些非常嚣张傲慢的现场开发人员合作过。那么难道说所有的现场开发人员都是嚣张的吗?这当然是大错特错的。
我坚信,在印度也有很多伟大的开发人员和架构师,而且我和他们共事过。
也有很多像我这样希望每天都能学到什么,想要成为比昨天更优秀的开发人员。这么多年时间中,我学会了“如何快速学习新事物”。所以,我竭尽全力学习,为明天做好准备。无论你要我使用的是
Spring还是JavaEE,Python还是RoR,Eclipse还是NetBeans,我都能手到擒来,游刃有余。
近年来,很多事情正在慢慢改变。如今的印度IT产业已经不再完全依赖基于美国的项目。印度企业中技术应用增长了很多。但是,除非思维过程得到改变,否则一切就都还是在原地踏步走。企业不应该再异想天开让“9
个开发者1个月时间发布一个新项目”。
开发人员应该更专业,并且当要求他们去做一些不能高质量完成代码的实现任务的时候,能够鼓起勇气说“NO”。
总之,通过这些年的学习,我明白了软件开发并不都意味着技术。关键是要理解业务领域,重视其他人的沟通交流。
希望一切会变得越来越好
I. 中国的程序员和印度的程序员有什么不同
说起印度,人们对这个国家的第一印象就是印度在软件方面是比较强的,那么印度的程序员和中国的程序员相比较都有哪些主要不同呢?今天就为大家分析一下。
他们最大的优势应该是语言上的优势,印度整个人口中其实会说英语的人的比例很小,但是印度的程序员一般都是受过良好的教育的,他们这个群体的英语无论听说还是写都远强于中国程序员。
解决Bug的时候常常缺乏整体思维,经常解决了一个bug后其他的功能却出问题了,当然这也可能是长期做外包遗留下来的习惯,用最小的代价满足用户的需求,能省则省。
从上述两点可以看出,印度程序员和中国程序员各有自己的优缺点,所以也不存在到底谁比谁强,所谓:三人行,必有我师也。