引言:本文譯自StackExchange上的一個討論貼:東方程式員眼中的西方程式員是怎樣的?,有網友發帖問:
在我看來,東方的程式員如何看待西方同行是一個有趣並且重要的問題。
通常認為東方國家(印度/中國/菲律賓)是為西方國家提供外包服務(美國和歐洲)的。
你有過參與離岸開發的經曆嗎?如果有,你對此有何看法?
對於西方程式員你有哪些總印象嗎(比如是否具有協作精神,是否按時交付產品,或者他們的工作品質如何)?
以下是來自東方各國程式員的答案:
一、印度程式員
Danish
身為印度人,我想談談印度程式員。
我覺得問題在於這裡的文化,也就是人們的思維模式。自孩提時代開始,我們就被訓練如何遵照流程循規蹈矩,然後進入類似工程、醫學、商業管理等高薪職業。創新、探索和創業在印度並不常見。
大多數人進入IT行業是為了掙錢,而不是因為他們愛好編程或是喜歡電腦領域。由於缺乏興趣,我們中的大多數人會成為編程機器,只會執行指令而不關心它們的含義。大多數開發人員從不以終端使用者的角度思考問題,也不會思考他們開發的模組會為更大的系統提供怎樣的價值。
在印度你很難找到發明家,但是你會發現很多優秀的工人。在這裡成長就意味著收入的增加和地位的提升,知識在這裡一文不值。
即使IT的領軍企業也是如此。他們從學院裡招聘畢業生並把他們訓練成機器人。最悲哀的莫過於,他們的薪資相對其他行業而言相對較高,因此沒有人願意從這些公司離開。在印度,幾乎沒有IT公司會招聘真正有才能的人。
另外一個重要的因素是,大多數有才能的人都遠渡重洋去美國或其他國家,在那裡他們能夠施展自己的才華並賺到比印度同行更多的收入。所以,如果你是一位印度開發人員,只有成為流程專家而不是技術新秀才有機會成功。
儘管現在開始有所變化,我們能夠看到湧現出一些初創企業,但是仍然為數很少。
更新:以上對於東方程式員的看法都是我個人的觀點。針對本文提出的問題,在我看來,西方的程式員通常是以結果為導向、專註、坦率並且更加專業。我經常和來自西方的客戶/委託人合作,發現他們具有協作精神、耐心、靈活而且熱心。
Vinoth Kuma
我來自印度,曾為一家大型美國零售公司工作。我所接觸的美國團隊非常清楚自己想要做什麼。正如在其它文章討論過的那樣,“印度人對政治和規章制度有這近乎宗教般的執著,但卻對需要解決的問題完全缺乏認識”。
我也遇到過一些美國同事對任務的到期日交代不清的情況。他們會說,“你只要在2月26號提交代碼就可以了”,然而外包專案經理回複說,“不行,我們應該在23號之前截止”,這會讓壓力陡然增加。這是一種為了取悅領導而不顧實際開發時間要求的傾向。
這可能是印度社會結構造成的。
Aufather
我在印度一家跨國公司工作。儘管這是一家生產型公司(電信裝置),從法律上講印度分部也是一家獨立的公司,它被美國母公司全資擁有,為母公司提供工程服務。這就是印度子公司的法律地位。
總的說來,我發現美國人反應更加迅速和直率,而印度人則更加圓滑。在我的印象中,印度人比美國人(8小時)花費更多時間(10小時)完成同樣的工作,主要區別在於行動的速度。我認為這更多地是文化造成的。從技術能力上來說,我感覺幾乎一樣。另外一個有意思的現象是,大多數美國的程式員(占 60-70%)都是印度人,在美國生活了5到15年。
我也感受到大多數平台工作(尤其是硬體設計)都在美國完成,而印度更多專註在應用程式開發。儘管現在越來越多平台軟體被挪到印度開發。
另一個趨勢是許多印度人在美國工作了5-20年這後開始回到印度。我個人就認識很多這樣的人。與此同時,很多印度人到美國“現場”工作並學習當地的文化。因此,公司文化的差異正在逐步減小。
Kuma
我是印度人。到目前為止,除了來自東邊的日本人,我曾經同美國人、英國人、澳大利亞人一起工作過。印度曾經在長達300年裡淪為英帝國的殖民地。直到現在,人們還是認為西方的技術遠遠超過印度,包括南亞的其他國家都有這樣的觀點。儘管這些國家以自己的家庭觀念和文化而自豪,你會發現更多的產品創新出自西方而不是東方。最為重要的一點是,我崇敬西方的程式員也尊重東方的程式員,理解印度人和數學家(當然印度的經理除外 )
Rahularyansharma
在印度,大多數人當程式員不是因為自己選擇,而是受到了周圍環境的影響。
一個例子是,一家非常有名的公司tata諮詢的僱員在KBC(印度版的誰想成為百萬富翁)節目上連這樣的問題都答錯了。問題是:
下面的選項中那個在Google首頁上是找不到的?
選項有
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
我來自韓國。恕我直言,
韓國有很多程式員,但是韓國並不為西方國家提供外包服務。程式員工作有很多種類,但是大部分的群體為
1、遊戲公司(線上遊戲產業非常巨大)
2、網際網路搜尋公司(你可能不知道,Google不是在韓國不是行業的領頭羊)
3、產品公司(比如三星、LG……)
與西方不同,程式員在韓國不是一個“有錢途”的工作,儘管也算是不錯的工作。對於程式員來說,加班也是家常便飯。我想說的是真的很常見。
所以,很多韓國的程式員認為在西方工作非常好,一些人甚至考慮出國工作。但不幸的是,與印度不同,很多韓國人英語不是很好。
最後,韓國人怎麼看待西方程式員?
1、有錢(也許……你就是?)
2、更加自由
3、熱愛編程
五、孟加拉國程式員
Gulshan
我來自孟加拉,在我看來區別在於:
• 技術:西方的技術總是比我們領先一步。任何技術在西方出現2年之後才在這裡被採用。例如,我們到目前為止還沒有在生產環境中開始使用.net4(不是架構,而是其中的特性)。也許只有在.net5面世的時候才能實現。
• 知識:恕我直言,知識的最好載體是書籍。幾乎所有最新的技術書籍都是用英文協作。這不是什麼大問題。問題在於書籍的價格和出版的時間。在價格較低的版本出現之前,這些書籍對我們來說還是有些昂貴。即使在我們準備好付錢之後,還需要等待很長時間才能在本地書店裡買到。即使訂購,也需要1個月的時間才能到貨。所以,西方在這一點上比我們明顯領先。也許要領先個2年。希望更多的電子書能夠在某些方面改善這樣的情況。
• 最佳實務:IT在孟加拉還是新興產業。所以,很多非技術出身的人在從事管理。有些時候,這會造成溝通上的障礙。要吐故納新接納新的習慣還有很多其他障礙。所以,有時候,我們還在沿用舊的看法。我認為,西方對於變化和接納新事物抱有更加開放的心態。
• 許可證:通常與西方相比,我們沒有對許可證軟體/工具給與足夠的重視。
• 開源:我認為西方程式員在開源方面參與得比我們更多。
• 語言趨勢:我們這裡主要從C語言開始學起,接著是C++、C#/Java或者PHP。這體現了一種趨勢:命令式、物件導向而且大多數採用靜態語言。但是類似 Python或Rub以及LISP或Haskell這樣的函數式程式設計語言在這裡並不流行。甚至像C#語言中支援的函數式編程風格都不常見。人們把C#當成 Java來用。
其中的一些只針對我所在的地區,不適用於其他東方或亞洲國家。排除經濟因素不考慮,我感到這種趨勢應該改變。
(伯樂線上配圖)
六、菲律賓程式員
Joset
我來自菲律賓。根據自己的理解我估計出了下面這些數字。
我敢說菲律賓70%的程式員都希望建立自己的公司並專註創新。有雨缺乏資金並受到外國企業高薪的誘惑(有IT公司也有非IT公司),程式員們為自己戴上了“金手銬”(防止員工離開公司的財務制度,比如員工股票期權等)。由於只能利用業餘時間,所以果創新變得愈發緩慢。
天生追求最好這一文化傳統使得在菲律賓有很多優秀的員工。這裡我像要強調的一點是,程式員是以結果為導向的。這種導向的一個缺點是,因為社會文化強調友善、微笑、好客和樂觀,大多數程式員特別是在和外國人相處時不是那麼自信和坦率。但在工作場所這一點正在發生劇烈的變化,西方的工作文化正在取而代之。
程式員在大學裡受到教育,在企業裡強化編程訓練,結果軟體開發完全按照業界的最佳實務進行。
那些具有天賦又不想冒險開辦公司的程式員通常選擇出國工作,例如新加坡、美國、澳大利亞、香港和馬來西亞,以尋找更好的發展空間。
在我看來,西方的程式員通常會被認為是技能熟練、更優秀、坦率、以結果為導向和專註的職業程式員。
七、中國程式員
Wondering
在我15年編程生涯中,有一半時間是和西方的開發人員打交道。我曾經直接彙報給比利時的負責人,也曾經帶領來自印度和美國的團隊成員。
總的說來,不同國家的程式員沒有什麼大的區別。我見到的大多數程式員都是工作努力並且可以有創新的工作。西方人在各種編程技巧和辦公室政治的處理上和東方人旗鼓相當。大多數有經驗的大陸程式員英文水平不是很好,這會在交流上帶來問題,而印度和美國人在這方面會有優勢。也許是因為我和歐洲團隊為了項目和資源鬥爭太多次的原因,我個人的感覺是美國人比歐洲人更容易合作。
附帶說一下,我是中國人,生活在大陸。
Baobao
大家好,我是中國程式員。我想要告訴你們一些事實。
1、在中國,大多數人是為了一份相對較高的收入而成為程式員。我們所需要的就是能夠生存。
2、以我個人的經曆來看,初中的時候只是知道電腦這個東西,在大學的時候才真正使用和接觸電腦。3、只是一知半解,而且是為了通過論文答辯,神奇吧?
4、來到上海以後,我找到了一份使用者體驗工程師的工作。只是跟著感覺走,完全沒有任何培訓,我對第一份工作竭盡全力但是3個月後還是以失敗告終。
5、幸運的是,我找到了屬於自己的領域,所以我開始閱讀相關的書籍,比如CSS、Javascript。
6、這些書籍都是我在一些免費英文電子書網站上找到的,都是英文。一本接一本,我知道了什麼是程式員。不行,也許我們需要管自己叫做寫代碼的人更合適。
7、不幸的是,在中國一些好的英文書籍在中國被當成了專業手冊。
8、毋庸置疑,中國人非常聰明可以拷貝所有類型的軟體,我們把他叫做“山寨”。
9、對所有的中國老闆一定不要說“不”,無論這家公司是否在IT領域。
10、關於設計和模式,那是非常遙遠的事情。這裡只有很多的投機商,對於他們而言金錢就是一切,實際上每個人都需要錢。
11、“顧客就是上帝”,所以需求總是一次又一次地改變。不論你相信與否,這是每天都在發生的事情。
Kim
我是一個中國程式員。之前在一家中國軟體公司工作,遇到了很多有才華的程式員。我的能力得到了快速的提升。
一天我加入了一家所謂的知名美企。那真的是一場噩夢。公司裡的中國員工要麼非常愚蠢要麼整天互相鬥來鬥去。他們幾乎不會思考、設計和編碼。幾乎沒有其他中國本土企業會需要這樣的人。每天的工作就是測試產品或者修幾個無關緊要的bug。
我快速地逃離了這家美國公司進入了另一家本土企業。這家公司從德國購買軟體同時也得到了德國公司的支援人員。我認為自己作出的選擇非常正確而且薪水也比以前更高了。
對於討論的這個問題,在那家美國公司我遇到過很多西方程式員,他們的工作做的很好,而且知道如何尊重下屬,包括中國員工。
Matthieu
東方追隨西方,體現在以下幾個方面:
• 標準
• 態度
• 所有方面
我閱讀的幾乎所有IT書籍作者都來自西方。
在我第一次遇到Apache Jakarta / Struts的時候非常開心。我認為它是真正的亞洲製造。
附一:在上篇發布在新浪微博後,也有一些朋友分享其對西方程式員的看法。
@lucky_eagle:特別認真,刨根究底,問到出汗……
@錫伯小兵:親身接觸了一些,也有聽同事說的。總體感覺各國大多數程式員差不多,過於自信,延期交付,推脫責任,對品質馬馬虎虎,能應付交付即可,工作家庭平衡力較差,偶爾勇於挑戰。不過也正常,畢竟編程是對腦力要求較高的活動,而人腦偏偏不是嚴格邏輯的。
@張漢東:早年和美國的打過交道,也經常混跡各種技術論壇,給我最大的印象就是,不管你提出多菜的問題,他們都會耐心認真的回答你。
@Carlos_Tse想要改變自己: 跟偽西方合作過,總喜歡用很前衛的技術,文檔很詳細,最重要的是木有dead line,隨時做好隨時交,不限於在公司上班幹活。
@彥斌:說說我們公司的情況吧。那些西方的同事工作態度比我們這邊的認真多了,工作起來更喜歡溝通交流。而且年齡都比我們的大。
各位猿媛,你們和西方程式員接觸合作過麼? 對他們有什麼印象呢?繼續求大家分享~
英文原文:StackExchange ,編譯:伯樂線上 – 唐尤華