一文讀懂中美程序員的區別和差距

在科技最發達的美國和正在飛速發展中的中國,如果兩個國家的程序員放在一起比較,會是什麼樣呢?

一文讀懂中美程序員的區別和差距

中美程序員的差距

1.心態差距

近年來由於互聯網的迅速發展,全國各地,IT人才的需求量都出現了飛躍式的增長,程序員的薪資也明顯高於其他行業。

在國內,真正因為熱愛編程而從事這份工作的人其實並不多,很多人學習程序想得都是這個行業火,賺錢快,入行門檻低。幾年以後自己當個小管理,拿著十幾萬,或幾十萬的工資,再無追求的過著小日子就好。甚至到了30歲,如果沒能進入管理層,大多數人都會考慮轉行,或僅靠自身的知識累積開始創業。

美國程序員大多數都是因為熱愛編程行業而從事這份工作的,他們會專注某一個領域幾十年。50歲以上的程序員還會安心待在同一個崗位寫代碼,專研技術。他們想法很簡單, 對於編程這種事情更多的是那種單純似的熱愛。

#影響因素:國外的程序員,專心寫程序並專研,他的級別和工資就會年年往上漲,和做管理的人員沒太大區別。國內的程序員這方面就杯具了,寫程序的工資基本低於管理者,迫於現實的生活壓力,不得不往賺錢更多的方向走。

一文讀懂中美程序員的區別和差距

2.溝通能力

和美國程序員交流的時候,你能從他的切入點和具體思路很清晰的理解他的問題,在闡述問題的時候背景信息也給得相當全面,所以理解他們的問題比較簡單容易。

中國程序員闡述問題時邏輯思維不清晰,背景知識沒給全,講了很多,但大家都get不到他要表達的重點,有些人一味的自顧自說,完全不去思考和理解別人給他提的建議。

#影響因素:編程所用的英語,比較是美國人的母語;另外就是思維方式的不同。


一文讀懂中美程序員的區別和差距


3. 解決問題能力

如果給我們中國程序員,規定好的方案,他們普遍完成的非常好。但如果沒有具體方案, 完全是一個開放性課題,很多時候程序員會完全無法下手

美國程序員這方面能力比較好, 他們的探索研究能力非常強, 經過一定時間的研究後, 能提出一套非常具體有效的方案然後一步一步去解決問題。

在一定程度上,這種差距就如同現今機器學習和真正智能的差距。機器學習可以解決很多特定領域的問題,模型可以優化得越來越好,但優化的盡頭也不是真正的智能。

#影響因素:兩國教育方式的不同,一個善於解決問題, 另一個善於發現探索問題。


一文讀懂中美程序員的區別和差距


4. 技術實力

工作初期兩國程序員差距不大,5年是個分水嶺,這之後開始出現變化了,在中國多數人工作個5-6年就開始琢磨轉管理。雖然這5-6年我們代碼上的時間,積累的經驗可以說很多時候是高於美國程序員的。但在某一項技術上我們有多少人專研超過10年,所以在國內出現了程序員吃青春飯這種理論。

而美國程序員10年以上經驗的人有的是。 例如,一個工作經驗是30年, 從dos時代就開發debugger一直幹到現在, 一個24年工作經驗外加5年的博士研究經驗, 還有兩個從畢業到現在一直從事CLR diagnostic api的開發到現在基本都幹了十幾年了。

在國內真的很難想象有這種團隊。 記得stackover上統計過, 程序員的黃金年齡應該在40歲左右, 但我們國內40歲的時候有幾個還願意寫程序呢。cocoachina上,一篇寫了40年程序的人發表的文章,竟久居排行榜前列不下!

一文讀懂中美程序員的區別和差距

5. 職業訴求

中國的程序員更需要關注物質回報,因為我們的文化強調儘早買房買車。歐美人在這方面要輕鬆自由得多,有大把的時間去嘗試創造,但其實大部分人是不創造的,只是概率比中國大而已。

中國人妄自菲薄沒有“創新”能力,是沒有意識到自己到了創造力高峰的時候卻被現實牽絆,我們用自己的青春和人家的大半生去比較,當然妄自菲薄了,人家可以投入的時間就比你多得多。中國程序員職業黃金時期所要面對的干擾非常大,首先是要讓自己融入英語的技術圈子,其次是要應付一個不爭氣沒追求強加個人的世俗文化。


他們怎麼說...

關於中美程序員,看看知乎上的程序員們怎麼說:

@王亞暉

曾在中美兩邊都工作和創業過,在 freelancer上發過外包也接過外包,維護過開源項目,而據我所知,頂尖工程師水平:美國 >中國 >日本 =歐洲 =韓國 >印度平均水平:中國 =美國 >歐洲 =印度 >日本 =韓國大型互聯網公司技術能力:美國 >中國 >剩下全加起來無論公司角度,還是計算機技術能力角度,現在世界上只有兩個國家能放在一起說,一個美國,一箇中國。


@代碼豆

沒在國內工作過,所以大部分是針對在美國的華人和美國本土工程師的差距。溝通能力。在這點上差距非常明顯。很多人說是英語問題,但我覺得深層次的是思維方式問題。和美國工程師交流的時候,你能從他的切入點和具體思路很清晰的理解他的問題,在闡述問題的時候背景信息也給得相當全面,所以理解他們的問題很容易。而當你闡述思路的時候,他們也會非常用心的去理解你的思路,幫你解決問題。但華人這方面基本不行,很多時候講一個問題根本不考慮別人的感受,背景知識沒給全,就直接開始講了,搞得很多人云裡來霧裡去,根本不知道他在講什麼.。有時候也不願意理解別人的想法,就顧著自己講。解決問題能力。由於教育方式和美國不同,所以出現了一個很有意思的現象。如果給我們中國程序員,規定好的方案,我們普遍完成的非常好。但如果沒有具體方案,完全是一個開放性課題,很多時候華人工程師完全無法下手。但美國程序員這方面能力相當了得,他們的探索研究能力非常強,經過一定時間的研究後,他們能提出一套非常具體有效的方案然後一步一步去解決問題。這也是我們和美國教育的差別,一個善於解決問題,另一個善於發現探索問題。技術實力。這方面主要是對比國內程序員和美國程序員。我們工作初期的時候跟美國程序差距不大。但問題是5年以後開始出現變化了。在一項技術上多數人工作個5-6年就開始琢磨轉管理,雖然這5-6年我們代碼上的時間,積累的經驗可以說是高於美國程序員的。但問題是之後我們就不幹了。而美國程序員10年以上經驗的人有的是。對技術的熱愛。國內很多人學習程序想的都是哪個方向火容易賺錢,什麼技術火就學什麼。然後去所謂牛逼的公司,幹牛逼的事情,然後拿著幾十萬的工資。我不能說這種是錯誤的,畢竟大家都是混口飯吃。可美國很多程序員想法很簡單,對於編程這種事情更多的是那種單純的孩子似的熱愛吧(此處小編想到阿里副總裁級別的程序員多隆,十四年來專注寫代碼的掃地僧)。


@vczh,知乎輪子哥

美國程序員有一種莫名其妙的自信心爆棚的狀態,明明自己程序寫的那麼爛,也覺得自己像超人一樣。我覺得中華民族應該向他們學習,不用太謙虛。至於編程技巧,其實都差不多。只是中華民族平時生活的瑣事太多,於是工作後連學習的機會都沒有了,差距就是這麼慢慢拉開的。這一點在美國不會發生。


@swtc

對基層的程序員而言,中國猿水平遠高於美國猿。中國程序員解決實際問題的能力強,效率也高。但高階技術職位,例如架構師一類的,美國要高一等,因為在這樣的職位上,中國技術人員往往專注於解決實際問題,而不是解決技術問題。總體來說,美國更注重把程序員培養成computer scientist,最起碼也要做到engineer,而中國公司只要programmer。

程序員,加油吧

一文讀懂中美程序員的區別和差距

綜合比較以上,不難看出,在解決問題的能力上,雙方只在伯仲之間,但是在技術創新,問題的探索領域美國還是略勝一籌。而且在高階人才級別,中國的技術專家在數量上不及美國。

也沒有在長他人志氣,滅本國威風,只是想小小提醒作為程序員的你,一定不要以學編程、拿高薪作為自己唯一的人生目標。就好像創業路上的你,無論在什麼時候,我們都要不斷提升自己的專業度和競爭力,永遠保持一顆熱愛自己事業的工匠之心,堅定的走下去。互聯網行業千變萬化,要不斷的學習,更新知識系統,才能永遠不被這個社會所淘汰。

程序員們,加油吧~

寫在最後

get最新最全的IT技能,免費領取各種編程資料(Java、python、前端、大數據、區塊鏈....)


分享到:


相關文章: