東方程式設計師怎麼看西方程式設計師(上)

唐尤華發表於2012-09-19

引言:本文由伯樂線上 – 唐尤華譯自StackExchange上的一個討論貼:東方程式設計師眼中的西方程式設計師是怎樣的?,有網友發帖問:

在我看來,東方的程式設計師如何看待西方同行是一個有趣並且重要的問題。

通常認為東方國家(印度/中國/菲律賓)是為西方國家提供外包服務(美國和歐洲)的。

你有過參與離岸開發的經歷嗎?如果有,你對此有何看法?

對於西方程式設計師你有哪些總印象嗎(比如是否具有協作精神,是否按時交付產品,或者他們的工作質量如何)?

 

以下是來自東方各國程式設計師的答案:

 

一、印度程式設計師


Danish

身為印度人,我想談談印度程式設計師。

我覺得問題在於這裡的文化,也就是人們的思維模式。自孩提時代開始,我們就被訓練如何遵照流程循規蹈矩,然後進入類似工程、醫學、商業管理等高薪職業。創新、探索和創業在印度並不常見。

大多數人進入IT行業是為了掙錢,而不是因為他們愛好程式設計或是喜歡計算機領域。由於缺乏興趣,我們中的大多數人會成為程式設計機器,只會執行指令而不關心它們的含義。大多數開發者從不以終端使用者的角度思考問題,也不會思考他們開發的模組會為更大的系統提供怎樣的價值。

在印度你很難找到發明家,但是你會發現很多優秀的工人。在這裡成長就意味著收入的增加和地位的提升,知識在這裡一文不值。

即使IT的領軍企業也是如此。他們從學院裡招聘畢業生並把他們訓練成機器人。最悲哀的莫過於,他們的薪資相對其他行業而言相對較高,因此沒有人願意從這些公司離開。在印度,幾乎沒有IT公司會招聘真正有才能的人。

另外一個重要的因素是,大多數有才能的人都遠渡重洋去美國或其他國家,在那裡他們能夠施展自己的才華並賺到比印度同行更多的收入。所以,如果你是一位印度開發者,只有成為流程專家而不是技術新秀才有機會成功。

儘管現在開始有所變化,我們能夠看到湧現出一些初創企業,但是仍然為數很少。

更新:以上對於東方程式設計師的看法都是我個人的觀點。針對本文提出的問題,在我看來,西方的程式設計師通常是以結果為導向、專注、坦率並且更加專業。我經常和來自西方的客戶/委託人合作,發現他們具有協作精神、耐心、靈活而且熱心。

 

Vinoth Kuma

我來自印度,曾為一家大型美國零售公司工作。我所接觸的美國團隊非常清楚自己想要做什麼。正如在其它文章討論過的那樣,“印度人對政治和規章制度有這近乎宗教般的執著,但卻對需要解決的問題完全缺乏認識”。

我也遇到過一些美國同事對任務的截止日期交代不清的情況。他們會說,“你只要在2月26號提交程式碼就可以了”,然而外包專案經理回覆說,“不行,我們應該在23號之前截止”,這會讓壓力陡然增加。這是一種為了取悅領導而不顧實際開發時間要求的傾向。

這可能是印度社會結構造成的。

 

Aufather

我在印度一家跨國公司工作。儘管這是一家生產型公司(電信裝置),從法律上講印度分部也是一家獨立的公司,它被美國母公司全資擁有,為母公司提供工程服務。這就是印度子公司的法律地位。

總的說來,我發現美國人反應更加迅速和直率,而印度人則更加圓滑。在我的印象中,印度人比美國人(8小時)花費更多時間(10小時)完成同樣的工作,主要區別在於行動的速度。我認為這更多地是文化造成的。從技術能力上來說,我感覺幾乎一樣。另外一個有意思的現象是,大多數美國的程式設計師(佔60-70%)都是印度人,在美國生活了5到15年。

我也感受到大多數平臺工作(尤其是硬體設計)都在美國完成,而印度更多專注在應用程式開發。儘管現在越來越多平臺軟體被挪到印度開發。

另一個趨勢是許多印度人在美國工作了5-20年這後開始回到印度。我個人就認識很多這樣的人。與此同時,很多印度人到美國“現場”工作並學習當地的文化。因此,公司文化的差異正在逐步減小。

 

Kuma

我是印度人。到目前為止,除了來自東邊的日本人,我曾經同美國人、英國人、澳大利亞人一起工作過。印度曾經在長達300年裡淪為英帝國的殖民地。直到現在,人們還是認為西方的技術遠遠超過印度,包括南亞的其他國家都有這樣的觀點。儘管這些國家以自己的家庭觀念和文化而自豪,你會發現更多的產品創新出自西方而不是東方。最為重要的一點是,我崇敬西方的程式設計師也尊重東方的程式設計師,理解印度人和數學家(當然印度的經理除外 :P)

 

Rahularyansharma

一個例子是,一家非常有名的公司tata諮詢的僱員在KBC(印度版的誰想成為百萬富翁)節目上連這樣的問題都答錯了。問題是:

下面的選項中那個在谷歌主頁上是找不到的?

選項有

gmail youtube facebook Orkut

他選擇的答案是youtube

所以你應該知道,在印度,大多數公司只是僱傭一些新人並給他們做一些日常工作的培訓。所以,在日常的工作中,同樣的時間做同樣的工作,沒有挑戰,沒有學習,也沒有研究。

 

Tarun

在西方有很多年長且經驗豐富的程式設計師,而在印度有更多新晉和年長的經理。好吧,在印度確實也有程式設計師。我對這種把從程式設計師轉變為經理看做職業生涯進步的觀點深惡痛絕。

 

Rishabh Jain

我從事軟體開發行業已經有4年了。主要與歐洲的開發者一起工作,比如德國、西班牙、義大利等。與其它地方一樣,這些開發者當中有優秀的也有不那麼出眾的。最讓我吃驚的是,我發現與印度的開發者不同,他們總是會在自己的工作上努力追求卓越而且非常享受並且以自己的工作為榮。

這並不意味著印度的開發者在某些方面稍遜一籌。對於大多數印度(亞洲)的開發者,缺乏對於自己喜歡的和真正想要做什麼進行思考。正如大多數人指出的那樣,這是缺乏自由的父母教育和社會環境影響的結果。在印度,一個人生下來就承載了很多社會責任,冒險和失敗都是不被接受的,否則將會遭到整個社會的排斥。因此,學生們會選擇更加“安全”人生規劃,被塑造為類似“工廠生產的產品”。

我並不是說這是非常糟糕的選擇,因為它或多或少地確保了可以收到社會尊重並得到較好的收入。但從長遠看來,這些人並不能真正地與自己從事的職業“心靈”相通,因為他們對自己正在從事的工作沒有興趣。一旦掙錢之後,要從這個畸形的迴圈從跳出來會變得尤其困難,因為他們已經在經濟上被束縛了。

總的說來,在西方環境相對寬鬆,人們會得到一些機會允許犯錯。一個人即使把事情弄糟也仍然有機會找到自己的興趣所在,並且不會揹負什麼負擔。所以,西方的開發者更多的是為了興趣而不是經濟和社會責任而工作,這會幫助他們成就卓越。

我也發現,西方人相對來說更加專業且寬容(他們知道人們會犯錯,因為他們自己也曾犯錯因而知道這其中的價值)。

我也發現,通常亞洲的專案經理會是無情、狡詐和投機。他們並不看重人的價值,大多數時候他們會把人看做資源,比如資源1、資源2,並且會不顧一切代價壓制開發者的個性。他們不會放棄任何搶佔別人榮譽的機會。這主要是因為他們已經在這個“工廠”裡待了太久的緣故。這也減少了亞洲開發者的歸屬感。

西方人的等級相對更加扁平化,提供了更加自由的工作環境。

但放眼未來,情況也在不斷髮生變化。我相信東西方之間會出現更加相互信任並且利於創新的環境。

computer programmer

 (伯樂線上配圖)

 

二、日本程式設計師

Rei Miyasaka

我來自日本。

我並不認為日本程式設計師真正理解西方人在一半於我們的時間裡做的那些工作。我們生活在自己那個小小的加拉帕戈斯泡沫中(與全球化隔絕),對世界上其他的事情置若罔聞。撇開科學軟體不談(模擬系統、開發工具等等),我不認為我們對學術充滿熱情。在日本我們將軟體看成硬體的奴隸,,所以創新往往出現在硬體領域。

所以,當比爾蓋茲說“軟體是創新的源泉”這樣的話時,大多數日本人只會認為“啊,他很富有,他知道自己在說些什麼”,然後接著回去不加思考地設計應用程式。

與此同時,不論我們是否意識到了這一點,對外國人的憎惡和迫害情結已經深深地紮根於日本社會。Tron專案(一個開發性實時作業系統核心專案)的成員就是這樣的例子,儘管我希望他們是非常極端的情況:

非常不幸,在散佈流言的人中有日本人。這些日本人,包括其他參與散佈TRON專案謠言的外國人應該更加清楚地知道,他們忽略了這樣一個事實:TRON不是一個短期的商業專案,不應該以2到3年內佔領某個特定市場作為評價其成功的標準。

不幸的是,這不能打消一些日本人的看法。他們真的相信微軟會為匿名黑客攻擊Sony的行為提供WinMoible7手機作為獎勵。(也許付錢是有可能的,但是為什麼他們要提供並非昂貴的手機給這些黑客呢??)

據說日本程式設計師似乎對可用性和UI非常感興趣——因此可以經常看到,來自日本的UI儘管擺脫了傳統,但是非常方便、直觀。這一點甚至在Ruby設計風格中有所體現:

Matsumot(Ruby語言的發明者)設計的目標就是為了提高程式設計師效率的同時為他們帶來樂趣,這一點遵循了優秀使用者介面的設計原則。他強調說,系統設計需要更加關注人而不是機器,……

如果我的憤世嫉俗讓你感到吃驚,我在這裡還有更多的闡述。

 

三、巴基斯坦程式設計師

Armir

我來自巴基斯坦。

我工作7年了。大多數時間裡,我和美國的同事一起工作。我參與過的工作有:

• 離岸外包

• 美國公司在巴基斯坦的分支機構

這裡我想分享一下我的感受。美國的同事非常坦誠也喜歡坦誠(因為只有和美國同事合作的經驗,所以不好對其他國家的人進行評價)。這裡我想說的是如果下週要完成某個任務,主要開發者因為各種原因需要請假,大多數情況下我會告訴美國的同事,他們會認真把請假的情況認真考慮。

然而在巴基斯坦,一般人的心理是即使自己不能完成也要試圖讓對方滿意。他們試圖把本地團隊可能影響到生意的想法隱藏起來,我認為這種做法是錯誤的。一個現實的例子是,我最近從一個非常重要的團隊協調員位置離職了,這個職位的工作就是協調海外團隊和本地團隊的工作。在我離職的時候,海外團隊的經理在通知本地團隊的時候,也通知了誰是我的繼任者。但是,僅僅在我離職15天之後,我的下一任也離職了。這一次,他們沒有告知本地團隊並且把我繼任者離職的訊息封鎖了起來,現在應該是別的什麼人來接任這個位置。

所有這些通常都是為了避免對商業關係產生不好的影響,這一類的事情在巴基斯坦非常常見。

因此,一般對西方和西方團隊的看法是,雖然比起我們沒有絕對的技術優勢,但他們需要高質量的工作。第二點也是非常重要的一點,他們需要誠實的工作。如果事情變糟糕,告訴他們真實的情況。畢竟,他們不會派出CIA的偵探來跟蹤我們 :)

 

下篇是韓國、孟加拉國、菲律賓和中國程式設計師的回覆,敬請期待~

 【更新】《東方程式設計師怎麼看西方程式設計師(下)

 

英文原文: StackExchange ,編譯:伯樂線上 – 唐尤華

【如需轉載,請標註並保留原文連結、譯文連結和譯者等資訊,謝謝合作!】

 

相關文章