最近以裁判的身份參加了公司舉辦的編程大賽,發(fā)現(xiàn)高手云集,對公司內部的程序員能力也有了更深入的了解。我覺得編程能力對程序員而言,雖然很重要,但并不 是全部。那么作為一個程序員,到底應該具備什么樣的能力呢?這個話題顯然太大。不過我覺得可以看看其它國家的程序員,也許可以得到一些借鑒。我有幸和中 國,美國,印度和日本四國程序員有比較深入的合作過。雖然他們不一定有代表性,但我覺得他們的共性還是比較明顯的。以下的比較純屬個人見解,歡迎指正。
日本程序員
他們的特點是非常仔細。我認為很主要的一個原因是日本公司的需求非常細致。細致到在網頁上,連一個像素都不能偏差的地步。另外,日本人 的執(zhí)行力非常強,對老板的承諾比命還重要。一個項目可以做到連續(xù)3個月天天加班,每天只睡4個小時。然而,高執(zhí)行力背后的代價是低創(chuàng)造力。在日新月異的互 聯(lián)網今天,很少聽說日本工程師發(fā)明了哪些重要的技術。與其說這些特點是日本程序員的,不如說是大部分日本人的。因為在日本文化中,追求品質和遵守等級制度 是根深蒂固的。另外,技術領域中的很多專業(yè)詞匯是外來語,以英語(論壇)為主。這些專業(yè)詞匯往往會被翻譯成片假名。而片假名的發(fā)言有時候和英語大相徑庭, 導致溝通的困難。比如病毒一詞在英語中是Virus,發(fā)音為歪儒斯,而日語的發(fā)音是味魯斯。再例如服務器(Server)一詞在日語中的發(fā)音是薩巴,和英 文發(fā)言簡直風牛馬不相及。因此與日本程序員溝通是比較痛苦的,除非你懂日語。
印度程序員
我所接觸的印度工程師都是在美國工作的。雖然他們和印度本地的工程師肯定有區(qū)別,不過相似的地方應該更多一些吧。我覺得他們的普遍 優(yōu)點就一個:流程做得好,文檔寫得好。但是他們寫代碼的能力,我個人的觀點是一般般。我想這里面有兩層原因。一是有相當一部分在美國工作的印度程序員是半 路出家。轉行做程序員是為了生存而已。二是印度程序員在算法,數據機構等基本功方面的水平明顯低于中國程序員的。這就導致他們寫的很多代碼邏輯性不強和性 能不優(yōu)(以我的標準來看)。不過這兩個問題在一定程度上被大量的文檔和高性能的硬件設備彌補和掩蓋了。在溝通方面,印度人的英語發(fā)音對西方人而言幾乎沒有 問題,但很難被中國人聽懂,甚至往往被國人懷疑他們是不是在說英文。
從某種意義上講,日本程序員和印度程序員十分相似。他們都很敬業(yè),都能讓領導比較滿意,但不要過多地期望他們能做得更好,因為他們的目標就是完成領導指派 的任務。日本程序員讓領導滿意的方法是不折不扣的執(zhí)行和狂熱的加班。而印度程序員讓領導滿意的方法是通過大量的文檔來告訴領導他們的工作意義重大,流程嚴 謹,資料齊全,而且成本很低。夸張一點地講:日本程序員善于做領導想做的事,印度程序員善于說領導想聽的話。
美國程序員
美國程序員千奇百怪,好像很難只用幾個詞來定義他們。可能是因為美國是一個移民國家吧,本來就千奇百怪。但大部分程序員有一個共同 的特點:喜歡技術,甚至崇尚技術。這點在硅谷尤為突出。這就導致每個技術領域中都有一些人會廢寢忘食地鉆研。其實這和打游戲一樣,如果你著了迷,自然會忘 了吃,忘了喝,拼命地玩。我所認識的美國程序員還有一個特點,才藝能力都不錯。以前在波士頓工作的一家公司中,幾十位工程師居然可以組成一個交響樂團。有 小提琴,大提琴,小號,豎琴,打擊樂等各種各樣的西洋樂器手。而且這些哥們姐們還不是一般地玩玩,周末都有自己的固定樂隊,經常參加社區(qū)的表演。更有甚 者,在硅谷工作時的一位同事,白天寫程序,晚上在自家的車庫里練習乒乓球,竟然代表美國參加了悉尼和雅典的兩屆奧運會。說起寫文檔的能力,美國程序員絕對 不亞于印度人。但是美國人寫文檔不是為了老板,而是為了自己,為了分享。因此他們的文檔往往讀起來很有趣,很實用。當然,這會讓老板有時候很頭疼,因為程 序員不那么“聽話”。他們不是給老板交差,而是要實現(xiàn)自己的想法,自己的設計,自己的完美。說白了,就是美國程序員有時候想法多了點。
中國程序員
和其他國家的程序員相比,我覺得他們的特點還是比較明顯的。他們的算法能力普遍高于其它幾個國家的。這可能是我們的教育體制導致 的,比較注重理論知識。反過來,實踐能力就相對差些。我們的程序員執(zhí)行能力并不差,但在解決問題的能力上明顯不足。往往需要把任務分解得很細以后才能完 成,獨立解決問題的能力不夠。另外在表達能力上也相對差些。相信大家一定見過技術水平很高,但表達能力很差的工程師。最好笑的是,我見過不少工程師拿著一 支寫不出字的白板筆(我們的白板筆質量也確實不咋樣),有模有樣地在白板上寫字。仿佛聽眾可以看得到他/她寫得是什么。因為他/她完全沉浸在自己的邏輯 中,完全不去體會聽眾的感受。不過我認為這些缺點并不嚴重。
因為這些是屬于技能和經驗方面的東西,是可以通過實際工作或者培訓來提升的。我認為國內程序員最大的問題還是所處的環(huán)境不利,導致相當一部分人比較浮躁和 急功近利。真正能夠沉下心來鉆研技術,熱愛技術的是鳳毛麟角。我在面試的時候,常常發(fā)現(xiàn)工程師知識面還挺廣,但深度幾乎沒有。這就導致了很多程序員在這行領域里,始終停滯于基層,而很難往更高領域發(fā)展,愛尚實訓為了避免出現(xiàn)前人的彎路,嚴把教學關口,加深知識的深層傳播,就是希望培育出來的學員,今后能在技術領域上有所作為,比別人理解得透,鉆研得深,有能力超越別人。
-
程序員
+關注
關注
4文章
952瀏覽量
29805
發(fā)布評論請先 登錄
相關推薦
評論