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後其他的功能卻出問題了,當然這也可能是長期做外包遺留下來的習慣,用最小的代價滿足用戶的需求,能省則省。
從上述兩點可以看出,印度程序員和中國程序員各有自己的優缺點,所以也不存在到底誰比誰強,所謂:三人行,必有我師也。